The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
{
  "schema": {
    "type": "//seq",
    "contents": [ "//int", "//str", "//int" ],
    "tail": {
      "type": "//arr",
      "contents": "//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" ] } }
  }
}