The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
{
  "schema": {
    "type": "//seq",
    "contents": [
      { "type": "//int" }, { "type": "//str" }, { "type": "//int" }
    ],
    "tail": {
      "type": "//arr",
      "contents": { "type": "//bool" },
      "length":   { "max": 2 }
    }
  },

  "pass": {
    "arr": [
      "0-str-3",
      "0-str-3-T",
      "0-str-3-T-F"
    ]
  },

  "fail": {
    "arr"  : {
      "0-str-3-18"   : { "data": [ 3 ], "check": [ "tail", "contents" ], "error": [ "type" ] },
      "0-str-3-T-str": { "data": [ 4 ], "check": [ "tail", "contents" ], "error": [ "type" ] },
      "0-str-3-T-F-T": { "data": [ ], "check": [ "tail" ], "error": [ "size" ] }
    },
    "bool" : { "*": { "data": [ ], "check": [ ], "error": [ "type" ] } },
    "null" : { "*": { "data": [ ], "check": [ ], "error": [ "type" ] } },
    "num"  : { "*": { "data": [ ], "check": [ ], "error": [ "type" ] } },
    "obj"  : { "*": { "data": [ ], "check": [ ], "error": [ "type" ] } },
    "str"  : { "*": { "data": [ ], "check": [ ], "error": [ "type" ] } }
  }
}