Report for Data-Sah-JS-0.87

Back
From: metabase:user:314402c4-2aae-11df-837a-5e0a49663a4f
Subject: FAIL Data-Sah-JS-0.87 v5.22.2 FreeBSD
Date: 2017-01-07T10:56:16Z

This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear perlancar,

This is a computer-generated report for Data-Sah-JS-0.87
on perl 5.22.2, created by CPAN-Reporter-1.2017.

Thank you for uploading your work to CPAN.  However, there was a problem
testing your distribution.

If you think this report is invalid, please consult the CPAN Testers Wiki
for suggestions on how to avoid getting FAIL reports for missing library
or binary dependencies, unsupported operating systems, and so on:

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

none provided

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make test':

PERL_DL_NONLAZY=1 "/usr/perl5.22.2t/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ........... ok
t/99-various.t ........... ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/js-misc.t .............. ok
t/js-type-date.t ......... ok
t/js-type-duration.t ..... ok
    # Loading 10-type-all.json ...
    # Loading 10-type-any.json ...
    # Loading 10-type-array.json ...
    # Skipping test (tags=clause:check_each_index, type, type:array) array0117: check_each_index: clause check_each_index not yet implemented
    # Skipping test (tags=clause:check_each_elem, type, type:array) array0118: check_each_elem: clause check_each_elem not yet implemented
    # Skipping test (tags=clause:uniq, type, type:array) array0119: uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, type, type:array) array0120: uniq=0: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:array) array0121: !uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:exists, type, type:array) array0122: exists: clause exists not yet implemented
    # Skipping test (tags=prop:len, type, type:array) array0129: prop:len: properties are not yet implemented
    # Skipping test (tags=prop:indices, type, type:array) array0130: prop:indices: properties are not yet implemented
    # Skipping test (tags=prop:elems, type, type:array) array0131: prop:elems: properties are not yet implemented

    #   Failed test 'js file executed successfully'
    #   at /home/cpansand/.cpan/build/2017010621/Data-Sah-JS-0.87-n2c0o9/blib/lib/Test/Data/Sah/JS.pm line 245.
    # output=<<            ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 1 - (tags=type, type:array) array0001: type check: must accept []
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 2 - (tags=type, type:array) array0002: type check: must accept [1,"a"]
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 3 - (tags=type, type:array) array0003: type check: must accept [[]]
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 4 - (tags=type, type:array) array0004: type check: must reject 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 5 - (tags=type, type:array) array0005: type check: must reject a
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 6 - (tags=type, type:array) array0006: type check: must reject {}
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 7 - (tags=type, type:array) array0007: must accept undefined value
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 8 - (tags=clause:defhash_v, type, type:array) array0008: defhash_v
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 9 - (tags=clause:v, type, type:array) array0009: v
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 10 - (tags=clause:c, type, type:array) array0010: c
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 11 - (tags=clause:default_lang, type, type:array) array0011: default_lang
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 12 - (tags=clause:name, type, type:array) array0012: name
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 13 - (tags=clause:summary, type, type:array) array0013: summary
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 14 - (tags=clause:description, type, type:array) array0014: description
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 15 - (tags=clause:tags, type, type:array) array0015: tags
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 16 - (tags=clause:req, type, type:array) array0016: req=0 must accept undefined value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 17 - (tags=clause:req, type, type:array) array0017: req=1 must reject undefined value
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 18 - (tags=clause:forbidden, type, type:array) array0018: forbidden=0 must accept defined value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 19 - (tags=clause:forbidden, type, type:array) array0019: forbidden=1 must reject defined value
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 20 - (tags=clause:default, type, type:array) array0020: default: must accept valid default []
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 21 - (tags=clause:default, type, type:array) array0021: default: must reject invalid default a
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 22 - (tags=clause:clause, type, type:array) array0023: clause (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 23 - (tags=clause:clause, type, type:array) array0024: clause (ok) + clause nok = nok
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 24 - (tags=clause:clause, type, type:array) array0025: clause (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 25 - (tags=type, type:array) array0028: clset (empty = ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 26 - (tags=clause:clset, type, type:array) array0029: clset (ignored clause/attr = ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 27 - (tags=clause:clset, type, type:array) array0030: clset (ok + ok = ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 28 - (tags=clause:clset, type, type:array) array0031: clset (ok) + clause nok = nok
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 29 - (tags=clause:clset, type, type:array) array0032: clset (ok + nok = nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 30 - (tags=clause:clset, type, type:array) array0033: clset (nok + ok = nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 31 - (tags=clause:clset, type, type:array) array0034: clset (nok + nok = nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 32 - (tags=clause:ok, type, type:array) array0035: ok
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 33 - (tags=clause:ok, op, op:not, type, type:array) array0036: ok + op not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 34 - (tags=attr, attr:err_level, type, type:array) array0037: .err_level=error (clause=is, ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 35 - (tags=attr, attr:err_level, type, type:array) array0038: .err_level=error (clause=is, nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 36 - (tags=attr, attr:err_level, type, type:array) array0039: .err_level=warn (clause=is, ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 37 - (tags=attr, attr:err_level, type, type:array) array0040: .err_level=warn (clause=is, nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 38 - (tags=clause:is, type, type:array) array0041: is: must accept same value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 39 - (tags=clause:is, type, type:array) array0042: is: must reject different value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 40 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0043: !is (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 41 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0044: !is (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 42 - (tags=clause:is, op, op:not, type, type:array) array0045: is.op=not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 43 - (tags=clause:is, op, op:not, type, type:array) array0046: is.op=not (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 44 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0047: is& (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 45 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0048: is& (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 46 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0049: is& (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0050: is& (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0051: is& (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 49 - (tags=type, type:array) array0052: is.op=and (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 50 - (tags=clause:is, op, op:and, type, type:array) array0053: is.op=and (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 51 - (tags=clause:is, op, op:and, type, type:array) array0054: is.op=and (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 52 - (tags=clause:is, op, op:and, type, type:array) array0055: is.op=and (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 53 - (tags=clause:is, op, op:and, type, type:array) array0056: is.op=and (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 54 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0057: is| (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 55 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0058: is| (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 56 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0059: is| (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0060: is| (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0061: is| (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 59 - (tags=clause:is, op, op:or, type, type:array) array0062: is.op=or (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 60 - (tags=clause:is, op, op:or, type, type:array) array0063: is.op=or (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 61 - (tags=clause:is, op, op:or, type, type:array) array0064: is.op=or (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 62 - (tags=clause:is, op, op:or, type, type:array) array0065: is.op=or (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 63 - (tags=clause:is, op, op:or, type, type:array) array0066: is.op=or (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 64 - (tags=clause:is, op, op:none, type, type:array) array0067: is.op=none (empty items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 65 - (tags=clause:is, op, op:none, type, type:array) array0068: is.op=none (nok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 66 - (tags=clause:is, op, op:none, type, type:array) array0069: is.op=none (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 67 - (tags=clause:is, op, op:none, type, type:array) array0070: is.op=none (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 68 - (tags=clause:is, op, op:none, type, type:array) array0071: is.op=none (ok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 69 - (tags=clause:in, type, type:array) array0072: in: must accept valid choices
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 70 - (tags=clause:in, type, type:array) array0073: in: must reject empty choices
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 71 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0074: !in (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 72 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0075: !in (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 73 - (tags=clause:in, op, op:not, type, type:array) array0076: in.op=not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 74 - (tags=clause:in, op, op:not, type, type:array) array0077: in.op=not (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 75 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0078: in& (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 76 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0079: in& (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 77 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0080: in& (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0081: in& (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0082: in& (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 80 - (tags=type, type:array) array0083: in.op=and (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 81 - (tags=clause:in, op, op:and, type, type:array) array0084: in.op=and (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 82 - (tags=clause:in, op, op:and, type, type:array) array0085: in.op=and (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 83 - (tags=clause:in, op, op:and, type, type:array) array0086: in.op=and (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 84 - (tags=clause:in, op, op:and, type, type:array) array0087: in.op=and (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 85 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0088: in| (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 86 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0089: in| (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 87 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0090: in| (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0091: in| (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0092: in| (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 90 - (tags=clause:in, op, op:or, type, type:array) array0093: in.op=or (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 91 - (tags=clause:in, op, op:or, type, type:array) array0094: in.op=or (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 92 - (tags=clause:in, op, op:or, type, type:array) array0095: in.op=or (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 93 - (tags=clause:in, op, op:or, type, type:array) array0096: in.op=or (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 94 - (tags=clause:in, op, op:or, type, type:array) array0097: in.op=or (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 95 - (tags=clause:in, op, op:none, type, type:array) array0098: in.op=none (empty items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 96 - (tags=clause:in, op, op:none, type, type:array) array0099: in.op=none (nok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 97 - (tags=clause:in, op, op:none, type, type:array) array0100: in.op=none (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 98 - (tags=clause:in, op, op:none, type, type:array) array0101: in.op=none (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 99 - (tags=clause:in, op, op:none, type, type:array) array0102: in.op=none (ok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 100 - (tags=clause:len, type, type:array) array0103: len (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 101 - (tags=clause:len, type, type:array) array0104: len (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 102 - (tags=clause:min_len, type, type:array) array0105: min_len (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 103 - (tags=clause:min_len, type, type:array) array0106: min_len (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 104 - (tags=clause:max_len, type, type:array) array0107: max_len (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 105 - (tags=clause:max_len, type, type:array) array0108: max_len (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 106 - (tags=clause:len_between, type, type:array) array0109: len_between (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 107 - (tags=clause:len_between, type, type:array) array0110: len_between (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 108 - (tags=clause:each_index, type, type:array) array0111: each_index (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 109 - (tags=clause:each_index, type, type:array) array0112: each_index (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 110 - (tags=clause:each_elem, type, type:array) array0113: each_elem (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 111 - (tags=clause:each_elem, type, type:array) array0114: each_elem (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 112 - (tags=clause:of, type, type:array) array0115: of (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 113 - (tags=clause:of, type, type:array) array0116: of (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 114 - (tags=clause:elems, type, type:array) array0123: elems (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 115 - (tags=clause:elems, type, type:array) array0124: elems (nok)
    #             not ok 1 - valid input [0]
    #             not ok 2 - valid input [1]
    #             ok 3 - invalid input [0]
    #             ok 4 - invalid input [1]
    #             # 2 failed test(s)
    #             1..4
    #         not ok 116 - (tags=clause:has, type, type:array) array0125: has
    #             ok 1 - valid input [0]
    #             ok 2 - valid input [1]
    #             not ok 3 - invalid input [0]
    #             not ok 4 - invalid input [1]
    #             # 2 failed test(s)
    #             1..4
    #         not ok 117 - (tags=clause:has, op, op:not, opshortcut, type, type:array) array0126: has + op.not
    #             not ok 1 - valid input [0]
    #             not ok 2 - valid input [1]
    #             ok 3 - invalid input [0]
    #             ok 4 - invalid input [1]
    #             # 2 failed test(s)
    #             1..4
    #         not ok 118 - (tags=clause:has, op, op:or, opshortcut, type, type:array) array0127: has + op.or
    #             not ok 1 - valid input [0]
    #             ok 2 - invalid input [0]
    #             ok 3 - invalid input [1]
    #             ok 4 - invalid input [2]
    #             # 1 failed test(s)
    #             1..4
    #         not ok 119 - (tags=clause:has, op, op:and, opshortcut, type, type:array) array0128: has + op.and
    #             ok 1 - valid input [0]
    #             ok 2 - valid input [1]
    #             ok 3 - invalid input [0]
    #             1..3
    #         ok 120 - (tags=clause:of, type, type:array) array0132: array[array[int]] (test nested loop variable in implementation)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 121 - (tags=clause:elems, type, type:array) array0133: elems (nok, first elem required)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 122 - (tags=clause:elems, type, type:array) array0134: elems (ok, missing elem set to undef)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 123 - (tags=clause:elems, type, type:array) array0135: elems (ok, second elem optional)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 124 - (tags=clause:elems, type, type:array) array0136: elems (ok 2)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 125 - (tags=clause:elems, type, type:array) array0137: elems (ok, extra elems ignored)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 126 - (tags=clause:elems, type, type:array) array0138: elems (ok, extra elems ignored 2)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 127 - (tags=clause:elems, type, type:array) array0139: elems (ok, create_default=0)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 128 - (tags=clause:elems, type, type:array) array0140: elems (ok 2, create_default=0)
    #         # 4 failed test(s)
    #         1..128
    # >>, exit status ($?)=256, errno ($!)=Illegal seek, result=256Illegal seek
    # Looks like you failed 1 test of 349.

#   Failed test '10-type-array.json'
#   at /home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/lib/Test/Data/Sah.pm line 276.
    # Loading 10-type-bool.json ...

    #   Failed test 'js file executed successfully'
    #   at /home/cpansand/.cpan/build/2017010621/Data-Sah-JS-0.87-n2c0o9/blib/lib/Test/Data/Sah/JS.pm line 245.
    # output=<<            ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 1 - (tags=type, type:bool) bool0001: type check: must accept 0
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 2 - (tags=type, type:bool) bool0002: type check: must accept 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 3 - (tags=type, type:bool) bool0003: type check: must reject []
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 4 - (tags=type, type:bool) bool0004: type check: must reject {}
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 5 - (tags=type, type:bool) bool0005: must accept undefined value
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 6 - (tags=clause:defhash_v, type, type:bool) bool0006: defhash_v
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 7 - (tags=clause:v, type, type:bool) bool0007: v
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 8 - (tags=clause:c, type, type:bool) bool0008: c
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 9 - (tags=clause:default_lang, type, type:bool) bool0009: default_lang
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 10 - (tags=clause:name, type, type:bool) bool0010: name
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 11 - (tags=clause:summary, type, type:bool) bool0011: summary
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 12 - (tags=clause:description, type, type:bool) bool0012: description
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 13 - (tags=clause:tags, type, type:bool) bool0013: tags
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 14 - (tags=clause:req, type, type:bool) bool0014: req=0 must accept undefined value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 15 - (tags=clause:req, type, type:bool) bool0015: req=1 must reject undefined value
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 16 - (tags=clause:forbidden, type, type:bool) bool0016: forbidden=0 must accept defined value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 17 - (tags=clause:forbidden, type, type:bool) bool0017: forbidden=1 must reject defined value
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 18 - (tags=clause:default, type, type:bool) bool0018: default: must accept valid default 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 19 - (tags=clause:default, type, type:bool) bool0019: default: must reject invalid default []
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 20 - (tags=type, type:bool) bool0023: clset (empty = ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 21 - (tags=clause:clset, type, type:bool) bool0024: clset (ignored clause/attr = ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 22 - (tags=clause:ok, type, type:bool) bool0025: ok
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 23 - (tags=clause:ok, op, op:not, type, type:bool) bool0026: ok + op not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 24 - (tags=attr, attr:err_level, type, type:bool) bool0027: .err_level=error (clause=is, ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 25 - (tags=attr, attr:err_level, type, type:bool) bool0028: .err_level=error (clause=is, nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 26 - (tags=attr, attr:err_level, type, type:bool) bool0029: .err_level=warn (clause=is, ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 27 - (tags=attr, attr:err_level, type, type:bool) bool0030: .err_level=warn (clause=is, nok)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 28 - (tags=clause:is, type, type:bool) bool0031: is: must accept same value
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 29 - (tags=clause:is, type, type:bool) bool0032: is: must reject different value
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 30 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0033: !is (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 31 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0034: !is (ok)
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 32 - (tags=clause:is, op, op:not, type, type:bool) bool0035: is.op=not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 33 - (tags=clause:is, op, op:not, type, type:bool) bool0036: is.op=not (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 34 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0037: is& (no items)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 35 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0038: is& (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 36 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0039: is& (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 37 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0040: is& (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 38 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0041: is& (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 39 - (tags=type, type:bool) bool0042: is.op=and (no items)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 40 - (tags=clause:is, op, op:and, type, type:bool) bool0043: is.op=and (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 41 - (tags=clause:is, op, op:and, type, type:bool) bool0044: is.op=and (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 42 - (tags=clause:is, op, op:and, type, type:bool) bool0045: is.op=and (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 43 - (tags=clause:is, op, op:and, type, type:bool) bool0046: is.op=and (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 44 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0047: is| (no items)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 45 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0048: is| (ok)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 46 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0049: is| (nok + ok)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 47 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0050: is| (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 48 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0051: is| (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 49 - (tags=clause:is, op, op:or, type, type:bool) bool0052: is.op=or (no items)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 50 - (tags=clause:is, op, op:or, type, type:bool) bool0053: is.op=or (ok)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 51 - (tags=clause:is, op, op:or, type, type:bool) bool0054: is.op=or (nok + ok)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 52 - (tags=clause:is, op, op:or, type, type:bool) bool0055: is.op=or (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 53 - (tags=clause:is, op, op:or, type, type:bool) bool0056: is.op=or (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 54 - (tags=clause:is, op, op:none, type, type:bool) bool0057: is.op=none (empty items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 55 - (tags=clause:is, op, op:none, type, type:bool) bool0058: is.op=none (nok + nok)
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 56 - (tags=clause:is, op, op:none, type, type:bool) bool0059: is.op=none (nok + ok)
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 57 - (tags=clause:is, op, op:none, type, type:bool) bool0060: is.op=none (ok + nok)
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 58 - (tags=clause:is, op, op:none, type, type:bool) bool0061: is.op=none (ok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 59 - (tags=clause:in, type, type:bool) bool0062: in: must accept valid choices
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 60 - (tags=clause:in, type, type:bool) bool0063: in: must reject empty choices
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 61 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0064: !in (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 62 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0065: !in (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 63 - (tags=clause:in, op, op:not, type, type:bool) bool0066: in.op=not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 64 - (tags=clause:in, op, op:not, type, type:bool) bool0067: in.op=not (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 65 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0068: in& (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 66 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0069: in& (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 67 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0070: in& (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 68 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0071: in& (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 69 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0072: in& (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 70 - (tags=type, type:bool) bool0073: in.op=and (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 71 - (tags=clause:in, op, op:and, type, type:bool) bool0074: in.op=and (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 72 - (tags=clause:in, op, op:and, type, type:bool) bool0075: in.op=and (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 73 - (tags=clause:in, op, op:and, type, type:bool) bool0076: in.op=and (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 74 - (tags=clause:in, op, op:and, type, type:bool) bool0077: in.op=and (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 75 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0078: in| (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 76 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0079: in| (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 77 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0080: in| (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 78 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0081: in| (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 79 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0082: in| (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 80 - (tags=clause:in, op, op:or, type, type:bool) bool0083: in.op=or (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 81 - (tags=clause:in, op, op:or, type, type:bool) bool0084: in.op=or (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 82 - (tags=clause:in, op, op:or, type, type:bool) bool0085: in.op=or (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 83 - (tags=clause:in, op, op:or, type, type:bool) bool0086: in.op=or (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 84 - (tags=clause:in, op, op:or, type, type:bool) bool0087: in.op=or (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 85 - (tags=clause:in, op, op:none, type, type:bool) bool0088: in.op=none (empty items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 86 - (tags=clause:in, op, op:none, type, type:bool) bool0089: in.op=none (nok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 87 - (tags=clause:in, op, op:none, type, type:bool) bool0090: in.op=none (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 88 - (tags=clause:in, op, op:none, type, type:bool) bool0091: in.op=none (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 89 - (tags=clause:in, op, op:none, type, type:bool) bool0092: in.op=none (ok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 90 - (tags=clause:min, type, type:bool) bool0093: min: 1 0
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 91 - (tags=clause:min, type, type:bool) bool0094: min: 1 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 92 - (tags=clause:min, type, type:bool) bool0095: min: 0 1 -> fail
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 93 - (tags=clause:xmin, type, type:bool) bool0096: xmin: 1 0
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 94 - (tags=clause:xmin, type, type:bool) bool0097: xmin: 1 1 -> fail
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 95 - (tags=clause:xmin, type, type:bool) bool0098: xmin: 0 1 -> fail
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 96 - (tags=clause:max, type, type:bool) bool0099: max: 1 0 -> fail
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 97 - (tags=clause:max, type, type:bool) bool0100: max: 1 1
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 98 - (tags=clause:max, type, type:bool) bool0101: max: 0 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 99 - (tags=clause:xmax, type, type:bool) bool0102: xmax: 1 0 -> fail
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 100 - (tags=clause:xmax, type, type:bool) bool0103: xmax: 1 1 -> fail
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 101 - (tags=clause:xmax, type, type:bool) bool0104: xmax: 0 1
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 102 - (tags=clause:between, type, type:bool) bool0105: between: 1 0 & 1
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 103 - (tags=clause:between, type, type:bool) bool0106: between: 1 0 & 1
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 104 - (tags=clause:between, type, type:bool) bool0107: between: 1 1 & 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 105 - (tags=clause:between, type, type:bool) bool0108: between: 0 1 & 1 -> fail
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 106 - (tags=clause:xbetween, type, type:bool) bool0109: xbetween: 1 0 & 1
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 107 - (tags=clause:xbetween, type, type:bool) bool0110: xbetween: 1 0 & 1 -> fail
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 108 - (tags=clause:xbetween, type, type:bool) bool0111: xbetween: 1 1 & 1 -> fail
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 109 - (tags=clause:xbetween, type, type:bool) bool0112: xbetween: 0 1 & 1 -> fail
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 110 - (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0113: !between (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 111 - (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0114: !between (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 112 - (tags=clause:between, op, op:not, type, type:bool) bool0115: between.op=not (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 113 - (tags=clause:between, op, op:not, type, type:bool) bool0116: between.op=not (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 114 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0117: between& (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 115 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0118: between& (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 116 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0119: between& (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 117 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0120: between& (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 118 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0121: between& (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 119 - (tags=type, type:bool) bool0122: between.op=and (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 120 - (tags=clause:between, op, op:and, type, type:bool) bool0123: between.op=and (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 121 - (tags=clause:between, op, op:and, type, type:bool) bool0124: between.op=and (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 122 - (tags=clause:between, op, op:and, type, type:bool) bool0125: between.op=and (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 123 - (tags=clause:between, op, op:and, type, type:bool) bool0126: between.op=and (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 124 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0127: between| (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 125 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0128: between| (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 126 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0129: between| (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 127 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0130: between| (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 128 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0131: between| (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 129 - (tags=clause:between, op, op:or, type, type:bool) bool0132: between.op=or (no items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 130 - (tags=clause:between, op, op:or, type, type:bool) bool0133: between.op=or (ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 131 - (tags=clause:between, op, op:or, type, type:bool) bool0134: between.op=or (nok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 132 - (tags=clause:between, op, op:or, type, type:bool) bool0135: between.op=or (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 133 - (tags=clause:between, op, op:or, type, type:bool) bool0136: between.op=or (nok + nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 134 - (tags=clause:between, op, op:none, type, type:bool) bool0137: between.op=none (empty items)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 135 - (tags=clause:between, op, op:none, type, type:bool) bool0138: between.op=none (nok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 136 - (tags=clause:between, op, op:none, type, type:bool) bool0139: between.op=none (nok + ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 137 - (tags=clause:between, op, op:none, type, type:bool) bool0140: between.op=none (ok + nok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 138 - (tags=clause:between, op, op:none, type, type:bool) bool0141: between.op=none (ok + ok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 139 - (tags=clause:is_true, type, type:bool) bool0142: is_true: 1 (ok)
    #             ok 1 - invalid (rt=bool)
    #             ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 140 - (tags=clause:is_true, type, type:bool) bool0143: is_true: 1 (nok)
    #             not ok 1 - valid (rt=bool)
    #             not ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 141 - (tags=clause:is_true, type, type:bool) bool0144: is_true: 0 (ok)
    #             not ok 1 - invalid (rt=bool)
    #             not ok 2 - invalid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             not ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             # 3 failed test(s)
    #             1..5
    #         not ok 142 - (tags=clause:is_true, type, type:bool) bool0145: is_true: 0 (nok)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 143 - (tags=clause:is_true, type, type:bool) bool0146: is_true: undef (ok 1)
    #             ok 1 - valid (rt=bool)
    #             ok 2 - valid (rt=str)
    #             ok 3 - validator (rt=full) returns object
    #             ok 4 - errors (rt=full)
    #             ok 5 - warnings (rt=full)
    #             1..5
    #         ok 144 - (tags=clause:is_true, type, type:bool) bool0147: is_true: undef (ok 2)
    #         # 18 failed test(s)
    #         1..144
    # >>, exit status ($?)=256, errno ($!)=Illegal seek, result=256Illegal seek
    # Looks like you failed 1 test of 388.

#   Failed test '10-type-bool.json'
#   at /home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/lib/Test/Data/Sah.pm line 276.
    # Loading 10-type-buf.json ...
    # Skipping test (tags=clause:check_each_index, type, type:buf) buf0164: check_each_index: clause check_each_index not yet implemented
    # Skipping test (tags=clause:check_each_elem, type, type:buf) buf0165: check_each_elem: clause check_each_elem not yet implemented
    # Skipping test (tags=clause:uniq, type, type:buf) buf0166: uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, type, type:buf) buf0167: uniq=0: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:buf) buf0168: !uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:exists, type, type:buf) buf0169: exists: clause exists not yet implemented
    # Skipping test (tags=prop:len, type, type:buf) buf0174: prop:len: properties are not yet implemented
    # Skipping test (tags=prop:indices, type, type:buf) buf0175: prop:indices: properties are not yet implemented
    # Skipping test (tags=prop:elems, type, type:buf) buf0176: prop:elems: properties are not yet implemented
    # Loading 10-type-cistr.json ...
    # Skipping test (tags=clause:check_each_index, type, type:cistr) cistr0164: check_each_index: clause check_each_index not yet implemented
    # Skipping test (tags=clause:check_each_elem, type, type:cistr) cistr0165: check_each_elem: clause check_each_elem not yet implemented
    # Skipping test (tags=clause:uniq, type, type:cistr) cistr0166: uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, type, type:cistr) cistr0167: uniq=0: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:cistr) cistr0168: !uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:exists, type, type:cistr) cistr0169: exists: clause exists not yet implemented
    # Skipping test (tags=prop:len, type, type:cistr) cistr0174: prop:len: properties are not yet implemented
    # Skipping test (tags=prop:indices, type, type:cistr) cistr0175: prop:indices: properties are not yet implemented
    # Skipping test (tags=prop:elems, type, type:cistr) cistr0176: prop:elems: properties are not yet implemented
    # Loading 10-type-float.json ...
    # Loading 10-type-hash.json ...
    # Skipping test (tags=clause:check_each_index, type, type:hash) hash0121: check_each_index: clause check_each_index not yet implemented
    # Skipping test (tags=clause:check_each_key, type, type:hash) hash0122: check_each_key: clause check_each_key not yet implemented
    # Skipping test (tags=clause:check_each_elem, type, type:hash) hash0123: check_each_elem: clause check_each_elem not yet implemented
    # Skipping test (tags=clause:check_each_value, type, type:hash) hash0124: check_each_value: clause check_each_value not yet implemented
    # Skipping test (tags=clause:uniq, type, type:hash) hash0125: uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, type, type:hash) hash0126: uniq=0: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:hash) hash0127: !uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:exists, type, type:hash) hash0128: exists: clause exists not yet implemented
    # Skipping test (tags=prop:len, type, type:hash) hash0133: prop:len: properties are not yet implemented
    # Skipping test (tags=prop:indices, type, type:hash) hash0134: prop:indices: properties are not yet implemented
    # Skipping test (tags=prop:keys, type, type:hash) hash0135: prop:keys: properties are not yet implemented
    # Skipping test (tags=prop:elems, type, type:hash) hash0136: prop:elems: properties are not yet implemented
    # Skipping test (tags=prop:values, type, type:hash) hash0137: prop:values: properties are not yet implemented
    # Skipping test (tags=prop:keys, type, type:hash) hash0263: prop:keys: properties are not yet implemented
    # Skipping test (tags=prop:values, type, type:hash) hash0264: prop:values: properties are not yet implemented
    # Loading 10-type-int.json ...
    # Loading 10-type-num.json ...
    # Loading 10-type-obj.json ...
    # Skipping test (tags=clause:isa, type, type:obj) obj0002: isa (nok): obj clause isa not yet implemented
    # Skipping test (tags=prop:meths, type, type:obj) obj0003: prop:meths (nok): properties are not yet implemented
    # Skipping test (tags=prop:attrs, type, type:obj) obj0004: prop:attrs (nok): properties are not yet implemented
    # Loading 10-type-str.json ...
    # Skipping test (tags=clause:check_each_index, type, type:str) str0164: check_each_index: clause check_each_index not yet implemented
    # Skipping test (tags=clause:check_each_elem, type, type:str) str0165: check_each_elem: clause check_each_elem not yet implemented
    # Skipping test (tags=clause:uniq, type, type:str) str0166: uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, type, type:str) str0167: uniq=0: clause uniq not yet implemented
    # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:str) str0168: !uniq=1: clause uniq not yet implemented
    # Skipping test (tags=clause:exists, type, type:str) str0169: exists: clause exists not yet implemented
    # Skipping test (tags=prop:len, type, type:str) str0174: prop:len: properties are not yet implemented
    # Skipping test (tags=prop:indices, type, type:str) str0175: prop:indices: properties are not yet implemented
    # Skipping test (tags=prop:elems, type, type:str) str0176: prop:elems: properties are not yet implemented
    # Loading 10-type-undef.json ...
# Looks like you failed 2 tests of 13.
t/spectest-js.t .......... 
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/13 subtests 

Test Summary Report
-------------------
t/spectest-js.t        (Wstat: 512 Tests: 13 Failed: 2)
  Failed tests:  3-4
  Non-zero exit status: 2
Files=8, Tests=46, 112 wallclock secs ( 0.20 usr  2.34 sys + 10.26 cusr 35.14 csys = 47.93 CPU)
Result: FAIL
Failed 1/8 test programs. 2/46 subtests failed.
*** Error code 2

Stop.
make: stopped in /home/cpansand/.cpan/build/2017010621/Data-Sah-JS-0.87-n2c0o9

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module                        Need     Have    
    ----------------------------- -------- --------
    Capture::Tiny                 0        0.42    
    Data::Clean::JSON             0.11     0.37    
    Data::Sah                     0.84     0.87    
    Data::Sah::Coerce             0.014    0.020   
    Data::Sah::Compiler::Prog     0        0.87    
    Data::Sah::Compiler::Prog::TH 0        0.87    
    Data::Sah::Type::array        0        0.87    
    Data::Sah::Type::bool         0        0.87    
    Data::Sah::Type::buf          0        0.87    
    Data::Sah::Type::cistr        0        0.87    
    Data::Sah::Type::code         0        0.87    
    Data::Sah::Type::date         0        0.87    
    Data::Sah::Type::duration     0        0.87    
    Data::Sah::Type::float        0        0.87    
    Data::Sah::Type::hash         0        0.87    
    Data::Sah::Type::int          0        0.87    
    Data::Sah::Type::num          0        0.87    
    Data::Sah::Type::obj          0        0.87    
    Data::Sah::Type::re           0        0.87    
    Data::Sah::Type::str          0        0.87    
    Data::Sah::Type::undef        0        0.87    
    Exporter                      0        5.72    
    File::Temp                    0        0.2304  
    IPC::System::Options          0.27     0.29    
    JSON::MaybeXS                 0        1.003005
    Mo                            0        0.40    
    Nodejs::Util                  0.006    0.006   
    parent                        0        0.232   
    perl                          5.010001 5.022002
    Role::Tiny::With              0        2.000003
    Scalar::Util                  0        1.45    
    Scalar::Util::Numeric::PP     0        0.04    
    strict                        0        1.09    
    String::Indent                0        0.03    
    Test::Data::Sah               0.87     0.87    
    Test::More                    0.98     1.302026
    warnings                      0        1.34    

build_requires:

    Module                        Need     Have    
    ----------------------------- -------- --------
    ExtUtils::MakeMaker           0        7.04_01 
    File::Spec                    0        3.56_01 
    IO::Handle                    0        1.35    
    IPC::Open3                    0        1.18    
    Sah::SpecTest                 v0.9.42  0.9.44  
    Test::Exception               0        0.43    
    Test::More                    0.98     1.302026

configure_requires:

    Module                        Need     Have    
    ----------------------------- -------- --------
    ExtUtils::MakeMaker           0        7.04_01 


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    LC_ALL = de_DE.ISO8859-1
    PATH = /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cpansand/bin/freebsd10.1:/home/cpansand/bin/sh:/home/cpansand/bin:/usr/games:/home/cpansand/devel:/home/eserte/src/srezic-misc/scripts
    PERL5LIB = /home/cpansand/.cpan/build/2017010621/String-Indent-0.03-Bc773M/blib/arch:/home/cpansand/.cpan/build/2017010621/String-Indent-0.03-Bc773M/blib/lib:/home/cpansand/.cpan/build/2017010621/Perl-osnames-0.11-HkP7xu/blib/arch:/home/cpansand/.cpan/build/2017010621/Perl-osnames-0.11-HkP7xu/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Clean-JSON-0.37-C69W_x/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Clean-JSON-0.37-C69W_x/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Clean-0.44-0r9v0_/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Clean-0.44-0r9v0_/blib/lib:/home/cpansand/.cpan/build/2017010621/Function-Fallback-CoreOrPP-0.07-KdTgdZ/blib/arch:/home/cpansand/.cpan/build/2017010621/Function-Fallback-CoreOrPP-0.07-KdTgdZ/blib/lib:/home/cpansand/.cpan/build/2017010621/Clone-PP-1.06-Loaxt4/blib/arch:/home/cpansand/.cpan/build/2017010621/Clone-PP-1.06-Loaxt4/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/lib:/home/cpansand/.cpan/build/2017010621/Text-sprintfn-0.08-_ruyD_/blib/arch:/home/cpansand/.cpan/build/2017010621/Text-sprintfn-0.08-_ruyD_/blib/lib:/home/cpansand/.cpan/build/2017010621/Time-Duration-Parse-AsHash-0.10.6-CVOIcI/blib/arch:/home/cpansand/.cpan/build/2017010621/Time-Duration-Parse-AsHash-0.10.6-CVOIcI/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-Resolve-0.004-aVLRBt/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-Resolve-0.004-aVLRBt/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-ModeMerge-0.35-MsiDXY/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-ModeMerge-0.35-MsiDXY/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Dmp-0.22-Hcpq10/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Dmp-0.22-Hcpq10/blib/lib:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Examples-0.005-AAsfDt/blib/arch:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Examples-0.005-AAsfDt/blib/lib:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Int-0.06-KXEob7/blib/arch:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Int-0.06-KXEob7/blib/lib:/home/cpansand/.cpan/build/2017010621/Mo-0.40-vpZS6K/blib/arch:/home/cpansand/.cpan/build/2017010621/Mo-0.40-vpZS6K/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-Coerce-0.020-yaZLDZ/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-Coerce-0.020-yaZLDZ/blib/lib:/home/cpansand/.cpan/build/2017010621/Nodejs-Util-0.006-wGZMoy/blib/arch:/home/cpansand/.cpan/build/2017010621/Nodejs-Util-0.006-wGZMoy/blib/lib:/home/cpansand/.cpan/build/2017010621/IPC-System-Options-0.29-vCKrUc/blib/arch:/home/cpansand/.cpan/build/2017010621/IPC-System-Options-0.29-vCKrUc/blib/lib:/home/cpansand/.cpan/build/2017010621/String-ShellQuote-1.04-6hkA8w/blib/arch:/home/cpansand/.cpan/build/2017010621/String-ShellQuote-1.04-6hkA8w/blib/lib:/home/cpansand/.cpan/build/2017010621/Proc-ChildError-0.04-sEH0i0/blib/arch:/home/cpansand/.cpan/build/2017010621/Proc-ChildError-0.04-sEH0i0/blib/lib:/home/cpansand/.cpan/build/2017010621/PERLANCAR-Module-List-0.003005-cPI90t/blib/arch:/home/cpansand/.cpan/build/2017010621/PERLANCAR-Module-List-0.003005-cPI90t/blib/lib:/home/cpansand/.cpan/build/2017010621/lib-filter-0.27-UHU7Q1/blib/arch:/home/cpansand/.cpan/build/2017010621/lib-filter-0.27-UHU7Q1/blib/lib:/home/cpansand/.cpan/build/2017010621/Module-Path-More-0.31-TC2mPd/blib/arch:/home/cpansand/.cpan/build/2017010621/Module-Path-More-0.31-TC2mPd/blib/lib:/home/cpansand/.cpan/build/2017010621/Sah-0.9.44-oCKuFJ/blib/arch:/home/cpansand/.cpan/build/2017010621/Sah-0.9.44-oCKuFJ/blib/lib:/home/cpansand/.cpan/build/2017010621/Lingua-EN-Numbers-Ordinate-1.04-ChyZ6Q/blib/arch:/home/cpansand/.cpan/build/2017010621/Lingua-EN-Numbers-Ordinate-1.04-ChyZ6Q/blib/lib:/home/cpansand/.cpan/build/2017010621/Module-Installed-Tiny-0.003-VWwgr_/blib/arch:/home/cpansand/.cpan/build/2017010621/Module-Installed-Tiny-0.003-VWwgr_/blib/lib:/home/cpansand/.cpan/build/2017010621/Test-Needs-0.002005-FR1Qib/blib/arch:/home/cpansand/.cpan/build/2017010621/Test-Needs-0.002005-FR1Qib/blib/lib:/home/cpansand/.cpan/build/2017010621/Scalar-Util-Numeric-PP-0.04-ZbYI99/blib/arch:/home/cpansand/.cpan/build/2017010621/Scalar-Util-Numeric-PP-0.04-ZbYI99/blib/lib:/home/cpansand/.cpan/build/2017010621/Regexp-Stringify-0.06-1x_BiK/blib/arch:/home/cpansand/.cpan/build/2017010621/Regexp-Stringify-0.06-1x_BiK/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-Normalize-0.04-vaNDz9/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-Normalize-0.04-vaNDz9/blib/lib:/home/cpansand/.cpan/build/2017010621/File-ShareDir-Tarball-0.2.2-SvHcbn/blib/arch:/home/cpansand/.cpan/build/2017010621/File-ShareDir-Tarball-0.2.2-SvHcbn/blib/lib:/home/cpansand/.cpan/build/2017010621/File-chdir-0.1010-_BQtVj/blib/arch:/home/cpansand/.cpan/build/2017010621/File-chdir-0.1010-_BQtVj/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 93329
    PERL5_CPAN_IS_RUNNING = 93329
    PERL5_CPAN_IS_RUNNING_IN_RECURSION = 69653,93329
    PERLDOC = -MPod::Perldoc::ToTextOverstrike
    PERL_BATCH = yes
    PERL_CANARY_STABILITY_NOPROMPT = 1
    PERL_CPAN_REPORTER_CONFIG = /var/tmp/cpansmoker-1023/2017010621/cpanreporter_001_config.ini
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    SHELL = /usr/local/bin/zsh
    TERM = screen
    TMPDIR = /var/tmp/cpansmoker-1023/2017010621

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /usr/perl5.22.2t/bin/perl
    $UID/$EUID = 1023 / 1023
    $GID = 1023 1023
    $EGID = 1023 1023

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.11    
    CPAN::Meta          2.150001
    Cwd                 3.56_01 
    ExtUtils::CBuilder  0.280221
    ExtUtils::Command   1.20    
    ExtUtils::Install   2.04    
    ExtUtils::MakeMaker 7.04_01 
    ExtUtils::Manifest  1.70    
    ExtUtils::ParseXS   3.28    
    File::Spec          3.56_01 
    JSON                2.90    
    JSON::PP            2.27300 
    Module::Build       0.4218  
    Module::Signature   0.80    
    Parse::CPAN::Meta   1.4422  
    Test::Harness       3.35    
    Test::More          1.302026
    YAML                1.15    
    YAML::Syck          1.29    
    version             0.9909  


--

Summary of my perl5 (revision 5 version 22 subversion 2) configuration:
   
  Platform:
    osname=freebsd, osvers=10.1-release, archname=amd64-freebsd-thread-multi
    uname='freebsd cvrsnica-freebsd-101.herceg.de 10.1-release freebsd 10.1-release #0 r274401: tue nov 11 21:02:49 utc 2014 root@releng1.nyi.freebsd.org:usrobjusrsrcsysgeneric amd64 '
    config_args='-ds -e -Dprefix=/usr/perl5.22.2t -Dusethreads -Dcf_email=srezic@cpan.org -Doptimize=-O2 -pipe'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_FORTIFY_SOURCE=2',
    optimize='-O2 -pipe',
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final 208032)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags ='-pthread -Wl,-E  -fstack-protector -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/include/clang/3.4.1 /usr/lib
    libs=-lpthread -lgdbm -lm -lcrypt -lutil
    perllibs=-lpthread -lm -lcrypt -lutil
    libc=, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib -fstack-protector'


Characteristics of this binary (from libperl): 
  Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
                        PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
                        USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
                        USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
  Built under freebsd
  Compiled at Jun 18 2016 12:32:50
  %ENV:
    PERL5LIB="/home/cpansand/.cpan/build/2017010621/String-Indent-0.03-Bc773M/blib/arch:/home/cpansand/.cpan/build/2017010621/String-Indent-0.03-Bc773M/blib/lib:/home/cpansand/.cpan/build/2017010621/Perl-osnames-0.11-HkP7xu/blib/arch:/home/cpansand/.cpan/build/2017010621/Perl-osnames-0.11-HkP7xu/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Clean-JSON-0.37-C69W_x/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Clean-JSON-0.37-C69W_x/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Clean-0.44-0r9v0_/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Clean-0.44-0r9v0_/blib/lib:/home/cpansand/.cpan/build/2017010621/Function-Fallback-CoreOrPP-0.07-KdTgdZ/blib/arch:/home/cpansand/.cpan/build/2017010621/Function-Fallback-CoreOrPP-0.07-KdTgdZ/blib/lib:/home/cpansand/.cpan/build/2017010621/Clone-PP-1.06-Loaxt4/blib/arch:/home/cpansand/.cpan/build/2017010621/Clone-PP-1.06-Loaxt4/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/lib:/home/cpansand/.cpan/build/2017010621/Text-sprintfn-0.08-_ruyD_/blib/arch:/home/cpansand/.cpan/build/2017010621/Text-sprintfn-0.08-_ruyD_/blib/lib:/home/cpansand/.cpan/build/2017010621/Time-Duration-Parse-AsHash-0.10.6-CVOIcI/blib/arch:/home/cpansand/.cpan/build/2017010621/Time-Duration-Parse-AsHash-0.10.6-CVOIcI/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-Resolve-0.004-aVLRBt/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-Resolve-0.004-aVLRBt/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-ModeMerge-0.35-MsiDXY/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-ModeMerge-0.35-MsiDXY/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Dmp-0.22-Hcpq10/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Dmp-0.22-Hcpq10/blib/lib:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Examples-0.005-AAsfDt/blib/arch:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Examples-0.005-AAsfDt/blib/lib:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Int-0.06-KXEob7/blib/arch:/home/cpansand/.cpan/build/2017010621/Sah-Schemas-Int-0.06-KXEob7/blib/lib:/home/cpansand/.cpan/build/2017010621/Mo-0.40-vpZS6K/blib/arch:/home/cpansand/.cpan/build/2017010621/Mo-0.40-vpZS6K/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-Coerce-0.020-yaZLDZ/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-Coerce-0.020-yaZLDZ/blib/lib:/home/cpansand/.cpan/build/2017010621/Nodejs-Util-0.006-wGZMoy/blib/arch:/home/cpansand/.cpan/build/2017010621/Nodejs-Util-0.006-wGZMoy/blib/lib:/home/cpansand/.cpan/build/2017010621/IPC-System-Options-0.29-vCKrUc/blib/arch:/home/cpansand/.cpan/build/2017010621/IPC-System-Options-0.29-vCKrUc/blib/lib:/home/cpansand/.cpan/build/2017010621/String-ShellQuote-1.04-6hkA8w/blib/arch:/home/cpansand/.cpan/build/2017010621/String-ShellQuote-1.04-6hkA8w/blib/lib:/home/cpansand/.cpan/build/2017010621/Proc-ChildError-0.04-sEH0i0/blib/arch:/home/cpansand/.cpan/build/2017010621/Proc-ChildError-0.04-sEH0i0/blib/lib:/home/cpansand/.cpan/build/2017010621/PERLANCAR-Module-List-0.003005-cPI90t/blib/arch:/home/cpansand/.cpan/build/2017010621/PERLANCAR-Module-List-0.003005-cPI90t/blib/lib:/home/cpansand/.cpan/build/2017010621/lib-filter-0.27-UHU7Q1/blib/arch:/home/cpansand/.cpan/build/2017010621/lib-filter-0.27-UHU7Q1/blib/lib:/home/cpansand/.cpan/build/2017010621/Module-Path-More-0.31-TC2mPd/blib/arch:/home/cpansand/.cpan/build/2017010621/Module-Path-More-0.31-TC2mPd/blib/lib:/home/cpansand/.cpan/build/2017010621/Sah-0.9.44-oCKuFJ/blib/arch:/home/cpansand/.cpan/build/2017010621/Sah-0.9.44-oCKuFJ/blib/lib:/home/cpansand/.cpan/build/2017010621/Lingua-EN-Numbers-Ordinate-1.04-ChyZ6Q/blib/arch:/home/cpansand/.cpan/build/2017010621/Lingua-EN-Numbers-Ordinate-1.04-ChyZ6Q/blib/lib:/home/cpansand/.cpan/build/2017010621/Module-Installed-Tiny-0.003-VWwgr_/blib/arch:/home/cpansand/.cpan/build/2017010621/Module-Installed-Tiny-0.003-VWwgr_/blib/lib:/home/cpansand/.cpan/build/2017010621/Test-Needs-0.002005-FR1Qib/blib/arch:/home/cpansand/.cpan/build/2017010621/Test-Needs-0.002005-FR1Qib/blib/lib:/home/cpansand/.cpan/build/2017010621/Scalar-Util-Numeric-PP-0.04-ZbYI99/blib/arch:/home/cpansand/.cpan/build/2017010621/Scalar-Util-Numeric-PP-0.04-ZbYI99/blib/lib:/home/cpansand/.cpan/build/2017010621/Regexp-Stringify-0.06-1x_BiK/blib/arch:/home/cpansand/.cpan/build/2017010621/Regexp-Stringify-0.06-1x_BiK/blib/lib:/home/cpansand/.cpan/build/2017010621/Data-Sah-Normalize-0.04-vaNDz9/blib/arch:/home/cpansand/.cpan/build/2017010621/Data-Sah-Normalize-0.04-vaNDz9/blib/lib:/home/cpansand/.cpan/build/2017010621/File-ShareDir-Tarball-0.2.2-SvHcbn/blib/arch:/home/cpansand/.cpan/build/2017010621/File-ShareDir-Tarball-0.2.2-SvHcbn/blib/lib:/home/cpansand/.cpan/build/2017010621/File-chdir-0.1010-_BQtVj/blib/arch:/home/cpansand/.cpan/build/2017010621/File-chdir-0.1010-_BQtVj/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="93329"
    PERL5_CPAN_IS_RUNNING="93329"
    PERL5_CPAN_IS_RUNNING_IN_RECURSION="69653,93329"
    PERLDOC="-MPod::Perldoc::ToTextOverstrike"
    PERL_BATCH="yes"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_CPAN_REPORTER_CONFIG="/var/tmp/cpansmoker-1023/2017010621/cpanreporter_001_config.ini"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
  @INC:
    /home/cpansand/.cpan/build/2017010621/String-Indent-0.03-Bc773M/blib/arch
    /home/cpansand/.cpan/build/2017010621/String-Indent-0.03-Bc773M/blib/lib
    /home/cpansand/.cpan/build/2017010621/Perl-osnames-0.11-HkP7xu/blib/arch
    /home/cpansand/.cpan/build/2017010621/Perl-osnames-0.11-HkP7xu/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Clean-JSON-0.37-C69W_x/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Clean-JSON-0.37-C69W_x/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Clean-0.44-0r9v0_/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Clean-0.44-0r9v0_/blib/lib
    /home/cpansand/.cpan/build/2017010621/Function-Fallback-CoreOrPP-0.07-KdTgdZ/blib/arch
    /home/cpansand/.cpan/build/2017010621/Function-Fallback-CoreOrPP-0.07-KdTgdZ/blib/lib
    /home/cpansand/.cpan/build/2017010621/Clone-PP-1.06-Loaxt4/blib/arch
    /home/cpansand/.cpan/build/2017010621/Clone-PP-1.06-Loaxt4/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Sah-0.87-X1I9cY/blib/lib
    /home/cpansand/.cpan/build/2017010621/Text-sprintfn-0.08-_ruyD_/blib/arch
    /home/cpansand/.cpan/build/2017010621/Text-sprintfn-0.08-_ruyD_/blib/lib
    /home/cpansand/.cpan/build/2017010621/Time-Duration-Parse-AsHash-0.10.6-CVOIcI/blib/arch
    /home/cpansand/.cpan/build/2017010621/Time-Duration-Parse-AsHash-0.10.6-CVOIcI/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Sah-Resolve-0.004-aVLRBt/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Sah-Resolve-0.004-aVLRBt/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-ModeMerge-0.35-MsiDXY/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-ModeMerge-0.35-MsiDXY/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Dmp-0.22-Hcpq10/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Dmp-0.22-Hcpq10/blib/lib
    /home/cpansand/.cpan/build/2017010621/Sah-Schemas-Examples-0.005-AAsfDt/blib/arch
    /home/cpansand/.cpan/build/2017010621/Sah-Schemas-Examples-0.005-AAsfDt/blib/lib
    /home/cpansand/.cpan/build/2017010621/Sah-Schemas-Int-0.06-KXEob7/blib/arch
    /home/cpansand/.cpan/build/2017010621/Sah-Schemas-Int-0.06-KXEob7/blib/lib
    /home/cpansand/.cpan/build/2017010621/Mo-0.40-vpZS6K/blib/arch
    /home/cpansand/.cpan/build/2017010621/Mo-0.40-vpZS6K/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Sah-Coerce-0.020-yaZLDZ/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Sah-Coerce-0.020-yaZLDZ/blib/lib
    /home/cpansand/.cpan/build/2017010621/Nodejs-Util-0.006-wGZMoy/blib/arch
    /home/cpansand/.cpan/build/2017010621/Nodejs-Util-0.006-wGZMoy/blib/lib
    /home/cpansand/.cpan/build/2017010621/IPC-System-Options-0.29-vCKrUc/blib/arch
    /home/cpansand/.cpan/build/2017010621/IPC-System-Options-0.29-vCKrUc/blib/lib
    /home/cpansand/.cpan/build/2017010621/String-ShellQuote-1.04-6hkA8w/blib/arch
    /home/cpansand/.cpan/build/2017010621/String-ShellQuote-1.04-6hkA8w/blib/lib
    /home/cpansand/.cpan/build/2017010621/Proc-ChildError-0.04-sEH0i0/blib/arch
    /home/cpansand/.cpan/build/2017010621/Proc-ChildError-0.04-sEH0i0/blib/lib
    /home/cpansand/.cpan/build/2017010621/PERLANCAR-Module-List-0.003005-cPI90t/blib/arch
    /home/cpansand/.cpan/build/2017010621/PERLANCAR-Module-List-0.003005-cPI90t/blib/lib
    /home/cpansand/.cpan/build/2017010621/lib-filter-0.27-UHU7Q1/blib/arch
    /home/cpansand/.cpan/build/2017010621/lib-filter-0.27-UHU7Q1/blib/lib
    /home/cpansand/.cpan/build/2017010621/Module-Path-More-0.31-TC2mPd/blib/arch
    /home/cpansand/.cpan/build/2017010621/Module-Path-More-0.31-TC2mPd/blib/lib
    /home/cpansand/.cpan/build/2017010621/Sah-0.9.44-oCKuFJ/blib/arch
    /home/cpansand/.cpan/build/2017010621/Sah-0.9.44-oCKuFJ/blib/lib
    /home/cpansand/.cpan/build/2017010621/Lingua-EN-Numbers-Ordinate-1.04-ChyZ6Q/blib/arch
    /home/cpansand/.cpan/build/2017010621/Lingua-EN-Numbers-Ordinate-1.04-ChyZ6Q/blib/lib
    /home/cpansand/.cpan/build/2017010621/Module-Installed-Tiny-0.003-VWwgr_/blib/arch
    /home/cpansand/.cpan/build/2017010621/Module-Installed-Tiny-0.003-VWwgr_/blib/lib
    /home/cpansand/.cpan/build/2017010621/Test-Needs-0.002005-FR1Qib/blib/arch
    /home/cpansand/.cpan/build/2017010621/Test-Needs-0.002005-FR1Qib/blib/lib
    /home/cpansand/.cpan/build/2017010621/Scalar-Util-Numeric-PP-0.04-ZbYI99/blib/arch
    /home/cpansand/.cpan/build/2017010621/Scalar-Util-Numeric-PP-0.04-ZbYI99/blib/lib
    /home/cpansand/.cpan/build/2017010621/Regexp-Stringify-0.06-1x_BiK/blib/arch
    /home/cpansand/.cpan/build/2017010621/Regexp-Stringify-0.06-1x_BiK/blib/lib
    /home/cpansand/.cpan/build/2017010621/Data-Sah-Normalize-0.04-vaNDz9/blib/arch
    /home/cpansand/.cpan/build/2017010621/Data-Sah-Normalize-0.04-vaNDz9/blib/lib
    /home/cpansand/.cpan/build/2017010621/File-ShareDir-Tarball-0.2.2-SvHcbn/blib/arch
    /home/cpansand/.cpan/build/2017010621/File-ShareDir-Tarball-0.2.2-SvHcbn/blib/lib
    /home/cpansand/.cpan/build/2017010621/File-chdir-0.1010-_BQtVj/blib/arch
    /home/cpansand/.cpan/build/2017010621/File-chdir-0.1010-_BQtVj/blib/lib
    /usr/perl5.22.2t/lib/site_perl/5.22.2/amd64-freebsd-thread-multi
    /usr/perl5.22.2t/lib/site_perl/5.22.2
    /usr/perl5.22.2t/lib/5.22.2/amd64-freebsd-thread-multi
    /usr/perl5.22.2t/lib/5.22.2
    .