JSON-Schema-AsType v0.4.4 Perl 5 v5.34.0 x86_64-linux-ld

Status
Pass
From
Chris Williams (BINGOS)
Dist
JSON-Schema-AsType v0.4.4
Platform
Perl 5 v5.34.0 x86_64-linux-ld
Date
2024-04-19 05:09:34
ID
02d47b86-fe0b-11ee-98b0-b3c3213a625c
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 YANICK,

This is a computer-generated error report created automatically by
CPANPLUS, version 0.9914. Testers personal comments may appear
at the end of this report.


Thank you for uploading your work to CPAN.  Congratulations!
All tests were successful.

TEST RESULTS:

Below is the error stack from stage 'make test':

PERL_DL_NONLAZY=1 "/home/cpan/pit/bare-ld/perl-5.34.0/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
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.70
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.70
# 
# === Test Requires ===
# 
#     Module               Want     Have
#     ------------------- ----- --------
#     Exporter              any     5.76
#     ExtUtils::MakeMaker   any     7.70
#     File::Spec            any     3.80
#     IO::Handle            any     1.46
#     IPC::Open3            any     1.21
#     Path::Tiny          0.062    0.144
#     Test::Deep            any    1.204
#     Test::Exception       any     0.43
#     Test::More            any 1.302198
#     lib                   any     0.65
#     parent                any    0.238
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
# 
# === Runtime Requires ===
# 
#     Module                     Want     Have
#     ---------------------- -------- --------
#     Clone                       any     0.46
#     JSON                        any     4.10
#     LWP::Simple                 any     6.77
#     List::AllUtils              any     0.19
#     List::MoreUtils             any    0.430
#     List::Util                  any     1.63
#     Moose                       any   2.2207
#     Moose::Role                 any   2.2207
#     Moose::Util                 any   2.2207
#     MooseX::ClassAttribute      any     0.29
#     MooseX::MungeHas            any    0.011
#     Path::Tiny                0.062    0.144
#     Scalar::Util                any     1.63
#     Type::Library               any 2.004000
#     Type::Tiny                  any 2.004000
#     Type::Tiny::Class           any 2.004000
#     Type::Utils                 any 2.004000
#     Types::Standard             any 2.004000
#     URI                         any     5.28
#     perl                   5.014000 5.034000
#     strict                      any     1.12
#     warnings                    any     1.51
# 
t/00-report-prereqs.t .. ok
t/basic.t .............. ok
t/draft3.t ............. ok
t/draft4.t ............. ok
        # {
        #   'maxItems' => 2
        # }
        # Reference [1,2,3] did not pass type constraint "MaxItems[2]"
        # "MaxItems[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; @$_ <= $max unless ref $_ ne 'ARRAY'; }
        # {
        #   'items' => {
        #     'type' => 'integer'
        #   }
        # }
        # "~ArrayRef|Tuple[Slurpy[ArrayRef[Integer]]]" requires that the value pass "Tuple[Slurpy[ArrayRef[Integer]]]" or "~ArrayRef"
        # Reference [1,"x"] did not pass type constraint "~ArrayRef"
        #     Reference [1,"x"] did not pass type constraint "~ArrayRef"
        #     "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
        # Reference [1,"x"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Integer]]]"
        #     Reference [1,"x"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Integer]]]"
        #     Array elements from index 0 are slurped into a arrayref which is constrained with "ArrayRef[Integer]"
        #     Reference [1,"x"] did not pass type constraint "ArrayRef[Integer]" (in $SLURPY)
        #     "ArrayRef[Integer]" constrains each value in the array with "Integer"
        #     Value "x" did not pass type constraint "Integer" (in $SLURPY->[1])
        #     "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # {
        #   'items' => [
        #     {
        #       'type' => 'integer'
        #     },
        #     {
        #       'type' => 'string'
        #     }
        #   ]
        # }
        # "~ArrayRef|Tuple[Optional[Integer],Optional[String],Slurpy[Any]]" requires that the value pass "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]" or "~ArrayRef"
        # Reference ["foo",1] did not pass type constraint "~ArrayRef"
        #     Reference ["foo",1] did not pass type constraint "~ArrayRef"
        #     "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
        # Reference ["foo",1] did not pass type constraint "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]"
        #     Reference ["foo",1] did not pass type constraint "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]"
        #     "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]" constrains value at index 0 of array with "Optional[Integer]"
        #     Value "foo" did not pass type constraint "Optional[Integer]" (in $_->[0])
        #     $_->[0] exists
        #     "Optional[Integer]" constrains $_->[0] with "Integer" if it exists
        #     Value "foo" did not pass type constraint "Integer" (in $_->[0])
        #     "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # {
        #   'items' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        # }
        # {
        #   'items' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        # }
        # Reference [1,"foo",bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )] did not pass type constraint "Items[0]"
        # "Items[0]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not @$_; }
        # {
        #   'items' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        #   ]
        # }
        # "~ArrayRef|Tuple[Optional[Any],Optional[None],Slurpy[Any]]" requires that the value pass "Tuple[Optional[Any],Optional[None],Slurpy[Any]]" or "~ArrayRef"
        # Reference [1,"foo"] did not pass type constraint "~ArrayRef"
        #     Reference [1,"foo"] did not pass type constraint "~ArrayRef"
        #     "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
        # Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Any],Optional[None],Slurpy[Any]]"
        #     Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Any],Optional[None],Slurpy[Any]]"
        #     "Tuple[Optional[Any],Optional[None],Slurpy[Any]]" constrains value at index 1 of array with "Optional[None]"
        #     Value "foo" did not pass type constraint "Optional[None]" (in $_->[1])
        #     $_->[1] exists
        #     "Optional[None]" constrains $_->[1] with "None" if it exists
        #     Value "foo" did not pass type constraint "None" (in $_->[1])
        #     "None" is defined as: (not((!!1)))
        # {
        #   '$ref' => 'http://json-schema.org/draft-04/schema#'
        # }
        # {
        #   '$ref' => 'http://json-schema.org/draft-04/schema#'
        # }
        # ref schema is {"description":"Core schema meta-schema","properties":{"maxLength":{"$ref":"#/definitions/positiveInteger"},"additionalItems":{"default":{},"anyOf":[{"type":"boolean"},{"$ref":"#"}]},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"description":{"type":"string"},"multipleOf":{"minimum":0,"exclusiveMinimum":true,"type":"number"},"anyOf":{"$ref":"#/definitions/schemaArray"},"maxItems":{"$ref":"#/definitions/positiveInteger"},"exclusiveMaximum":{"default":false,"type":"boolean"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"default":false,"type":"boolean"},"pattern":{"format":"regex","type":"string"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"properties":{"type":"object","patternProperties":{},"properties":{},"default":{},"additionalProperties":{"$ref":"#"}},"id":{"format":"uri","type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"},"definitions":{"default":{},"additionalProperties":{"$ref":"#"},"type":"object","patternProperties":{},"properties":{}},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"$schema":{"format":"uri","type":"string"},"title":{"type":"string"},"required":{"$ref":"#/definitions/stringArray"},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"uniqueItems":true,"items":{"$ref":"#/definitions/simpleTypes"},"type":"array","minItems":1}]},"enum":{"minItems":1,"type":"array","uniqueItems":true},"dependencies":{"type":"object","patternProperties":{},"properties":{},"additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"oneOf":{"$ref":"#/definitions/schemaArray"},"patternProperties":{"type":"object","patternProperties":{},"properties":{},"default":{},"additionalProperties":{"$ref":"#"}},"default":{},"maximum":{"type":"number"}},"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","default":{},"type":"object","definitions":{"positiveInteger":{"minimum":0,"type":"integer"},"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"stringArray":{"minItems":1,"type":"array","items":{"type":"string"},"uniqueItems":true}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]}}
        # "Dependency[exclusiveMinimum,ARRAY(0x55b15baeb240)]&Dependency[exclusiveMaximum,ARRAY(0x55b15baeb210)]&Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]&Object" requires that the value pass "Dependency[exclusiveMaximum,ARRAY(0x55b15baeb210)]", "Dependency[exclusiveMinimum,ARRAY(0x55b15baeb240)]", "Object", and "Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]"
        # Reference {"definitions" => {"foo" => 'HASH(0x55b15c506878)'}} did not pass type constraint "Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]"
        # "Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # "Ref(http://json-schema.org/draft-04/schema#)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   'maxProperties' => 2
        # }
        # Reference {"bar" => 2,"baz" => 3,"foo" => 1} did not pass type constraint "MaxProperties[2]"
        # "MaxProperties[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $nbr >= keys %$_ unless not Object->check($_); }
        # {
        #   'minimum' => '1.1'
        # }
        # Value "0.6" did not pass type constraint "Minimum["1.1"]"
        # "Minimum["1.1"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ >= $minimum unless not Number->check($_); }
        # {
        #   'additionalItems' => {
        #     'type' => 'integer'
        #   },
        #   'items' => [
        #     {}
        #   ]
        # }
        # 
        # {
        #   'additionalItems' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #   'items' => {}
        # }
        # {
        #   'additionalItems' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #   'items' => [
        #     {},
        #     {},
        #     {}
        #   ]
        # }
        # "AdditionalItems[3]&~ArrayRef|Tuple[Optional[Any],Optional[Any],Optional[Any],Slurpy[Any]]" requires that the value pass "AdditionalItems[3]" and "~ArrayRef|Tuple[Optional[Any],Optional[Any],Optional[Any],Slurpy[Any]]"
        # Reference [1,2,3,4] did not pass type constraint "AdditionalItems[3]"
        # "AdditionalItems[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; @$_ <= $size; }
        # {
        #   'additionalItems' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        # }
        # {
        #   'items' => [
        #     {
        #       'type' => 'integer'
        #     }
        #   ]
        # }
        # {
        #   'additionalProperties' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #   'patternProperties' => {},
        #   'properties' => {
        #     'foo' => {
        #       '$ref' => '#'
        #     }
        #   }
        # }
        # "AdditionalProperties[ARRAY(0x55b15bf438b8),0]&PatternProperties[]&Properties[foo,Ref(#)]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15bf438b8),0]", "PatternProperties[]", and "Properties[foo,Ref(#)]"
        # Reference {"bar" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )} did not pass type constraint "AdditionalProperties[ARRAY(0x55b15bf438b8),0]"
        # "AdditionalProperties[ARRAY(0x55b15bf438b8),0]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
        # "AdditionalProperties[ARRAY(0x55b15bf438b8),0]&PatternProperties[]&Properties[foo,Ref(#)]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15bf438b8),0]", "PatternProperties[]", and "Properties[foo,Ref(#)]"
        # Reference {"foo" => {"bar" => '0'}} did not pass type constraint "Properties[foo,Ref(#)]"
        # "Properties[foo,Ref(#)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'properties' => {
        #     'bar' => {
        #       '$ref' => '#/properties/foo'
        #     },
        #     'foo' => {
        #       'type' => 'integer'
        #     }
        #   }
        # }
        # Reference {"bar" => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )} did not pass type constraint "Properties[foo,Integer,bar,Ref(#/properties/foo)]"
        # "Properties[foo,Integer,bar,Ref(#/properties/foo)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'items' => [
        #     {
        #       'type' => 'integer'
        #     },
        #     {
        #       '$ref' => '#/items/0'
        #     }
        #   ]
        # }
        # "~ArrayRef|Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]" requires that the value pass "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]" or "~ArrayRef"
        # Reference [1,"foo"] did not pass type constraint "~ArrayRef"
        #     Reference [1,"foo"] did not pass type constraint "~ArrayRef"
        #     "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
        # Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]"
        #     Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]"
        #     "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]" constrains value at index 1 of array with "Optional[Ref(#/items/0)]"
        #     Value "foo" did not pass type constraint "Optional[Ref(#/items/0)]" (in $_->[1])
        #     $_->[1] exists
        #     "Optional[Ref(#/items/0)]" constrains $_->[1] with "Ref(#/items/0)" if it exists
        #     ref schema is {"type":"integer"}
        # Value "foo" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); } (in $_->[1])
        #     "Ref(#/items/0)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   'percent%field' => {
        #     'type' => 'integer'
        #   },
        #   'properties' => {
        #     'percent' => {
        #       '$ref' => '#/percent%25field'
        #     },
        #     'slash' => {
        #       '$ref' => '#/slash~1field'
        #     },
        #     'tilda' => {
        #       '$ref' => '#/tilda~0field'
        #     }
        #   },
        #   'slash/field' => {
        #     'type' => 'integer'
        #   },
        #   'tilda~field' => {
        #     'type' => 'integer'
        #   }
        # }
        # Reference {"slash" => "aoeu"} did not pass type constraint "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]"
        # "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # Reference {"tilda" => "aoeu"} did not pass type constraint "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]"
        # "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # Reference {"percent" => "aoeu"} did not pass type constraint "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]"
        # "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   '$ref' => '#/definitions/c',
        #   'definitions' => {
        #     'a' => {
        #       'type' => 'integer'
        #     },
        #     'b' => {
        #       '$ref' => '#/definitions/a'
        #     },
        #     'c' => {
        #       '$ref' => '#/definitions/b'
        #     }
        #   }
        # }
        # ref schema is {"$ref":"#/definitions/b"}
        # ref schema is {"$ref":"#/definitions/a"}
        # ref schema is {"type":"integer"}
        # Value "a" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # "Ref(#/definitions/a)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # "Ref(#/definitions/b)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # "Ref(#/definitions/c)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   'definitions' => {
        #     'reffed' => {
        #       'type' => 'array'
        #     }
        #   },
        #   'properties' => {
        #     'foo' => {
        #       '$ref' => '#/definitions/reffed',
        #       'maxItems' => 2
        #     }
        #   }
        # }
        # Reference {"foo" => "string"} did not pass type constraint "Properties[foo,Ref(#/definitions/reffed)]"
        # "Properties[foo,Ref(#/definitions/reffed)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   '$ref' => 'http://json-schema.org/draft-04/schema#'
        # }
        # ref schema is {"description":"Core schema meta-schema","properties":{"maxLength":{"$ref":"#/definitions/positiveInteger"},"additionalItems":{"default":{},"anyOf":[{"type":"boolean"},{"$ref":"#"}]},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"description":{"type":"string"},"multipleOf":{"minimum":0,"exclusiveMinimum":true,"type":"number"},"anyOf":{"$ref":"#/definitions/schemaArray"},"maxItems":{"$ref":"#/definitions/positiveInteger"},"exclusiveMaximum":{"default":false,"type":"boolean"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"default":false,"type":"boolean"},"pattern":{"format":"regex","type":"string"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"properties":{"type":"object","patternProperties":{},"properties":{},"default":{},"additionalProperties":{"$ref":"#"}},"id":{"format":"uri","type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"},"definitions":{"default":{},"additionalProperties":{"$ref":"#"},"type":"object","patternProperties":{},"properties":{}},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"$schema":{"format":"uri","type":"string"},"title":{"type":"string"},"required":{"$ref":"#/definitions/stringArray"},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"uniqueItems":true,"items":{"$ref":"#/definitions/simpleTypes"},"type":"array","minItems":1}]},"enum":{"minItems":1,"type":"array","uniqueItems":true},"dependencies":{"type":"object","patternProperties":{},"properties":{},"additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"oneOf":{"$ref":"#/definitions/schemaArray"},"patternProperties":{"type":"object","patternProperties":{},"properties":{},"default":{},"additionalProperties":{"$ref":"#"}},"default":{},"maximum":{"type":"number"}},"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","default":{},"type":"object","definitions":{"positiveInteger":{"minimum":0,"type":"integer"},"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"stringArray":{"minItems":1,"type":"array","items":{"type":"string"},"uniqueItems":true}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]}}
        # "Dependency[exclusiveMinimum,ARRAY(0x55b15baeb240)]&Dependency[exclusiveMaximum,ARRAY(0x55b15baeb210)]&Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]&Object" requires that the value pass "Dependency[exclusiveMaximum,ARRAY(0x55b15baeb210)]", "Dependency[exclusiveMinimum,ARRAY(0x55b15baeb240)]", "Object", and "Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]"
        # Reference {"minLength" => -1} did not pass type constraint "Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]"
        # "Properties[maxLength,Ref(#/definitions/positiveInteger),additionalItems,AnyOf[Boolean,Ref(#)],items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],additionalProperties,AnyOf[Boolean,Ref(#)],description,String,multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxItems,Ref(#/definitions/positiveInteger),exclusiveMaximum,Boolean,minLength,Ref(#/definitions/positiveIntegerDefault0),uniqueItems,Boolean,pattern,String,minItems,Ref(#/definitions/positiveIntegerDefault0),properties,AdditionalProperties[ARRAY(0x55b15ba320c8),Ref(#)]&PatternProperties[]&Properties[]&Object,id,String,allOf,Ref(#/definitions/schemaArray),not,Ref(#),definitions,AdditionalProperties[ARRAY(0x55b15bd25920),Ref(#)]&PatternProperties[]&Properties[]&Object,minimum,Number,exclusiveMinimum,Boolean,maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,title,String,required,Ref(#/definitions/stringArray),type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],enum,MinItems[1]&Array&UniqueItems,dependencies,AdditionalProperties[ARRAY(0x55b15bd7a480),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,minProperties,Ref(#/definitions/positiveIntegerDefault0),oneOf,Ref(#/definitions/schemaArray),patternProperties,AdditionalProperties[ARRAY(0x55b15bd9e0c8),Ref(#)]&PatternProperties[]&Properties[]&Object,default,Any,maximum,Number]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # "Ref(http://json-schema.org/draft-04/schema#)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   'properties' => {
        #     '$ref' => {
        #       'type' => 'string'
        #     }
        #   }
        # }
        # Reference {"\$ref" => 2} did not pass type constraint "Properties["\$ref",String]"
        # "Properties["\$ref",String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   '$ref' => '#/definitions/bool',
        #   'definitions' => {
        #     'bool' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        #   }
        # }
        # {
        #   '$ref' => '#/definitions/bool',
        #   'definitions' => {
        #     'bool' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        #   }
        # }
        # ref schema is false
        # Value "foo" did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # "Ref(#/definitions/bool)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   '$id' => 'http://localhost:1234/tree',
        #   'definitions' => {
        #     'node' => {
        #       '$id' => 'http://localhost:1234/node',
        #       'description' => 'node',
        #       'properties' => {
        #         'subtree' => {
        #           '$ref' => 'tree'
        #         },
        #         'value' => {
        #           'type' => 'number'
        #         }
        #       },
        #       'required' => [
        #         'value'
        #       ],
        #       'type' => 'object'
        #     }
        #   },
        #   'description' => 'tree of nodes',
        #   'properties' => {
        #     'meta' => {
        #       'type' => 'string'
        #     },
        #     'nodes' => {
        #       'items' => {
        #         '$ref' => 'node'
        #       },
        #       'type' => 'array'
        #     }
        #   },
        #   'required' => [
        #     'meta',
        #     'nodes'
        #   ],
        #   'type' => 'object'
        # }
        # "Properties[nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array,meta,String]&Required[meta,nodes]&Object" requires that the value pass "Object", "Properties[nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array,meta,String]", and "Required[meta,nodes]"
        # Reference {"meta" => "root","nodes" => ['HASH(0x55b15c5b7788)','HASH(0...} did not pass type constraint "Properties[nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array,meta,String]"
        # "Properties[nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array,meta,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'exclusiveMinimum' => '1.1'
        # }
        # Value "1.1" did not pass type constraint "ExclusiveMinimum["1.1"]"
        # "ExclusiveMinimum["1.1"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ > $minimum unless not StrictNum->check($_); }
        # Value "0.6" did not pass type constraint "ExclusiveMinimum["1.1"]"
        # "ExclusiveMinimum["1.1"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ > $minimum unless not StrictNum->check($_); }
        # {
        #   'properties' => {
        #     'foo' => {
        #       'default' => [],
        #       'type' => 'integer'
        #     }
        #   }
        # }
        # {
        #   'properties' => {
        #     'bar' => {
        #       'default' => 'bad',
        #       'minLength' => 4,
        #       'type' => 'string'
        #     }
        #   }
        # }
        # {
        #   'minItems' => 1
        # }
        # Reference [] did not pass type constraint "MinItems[1]"
        # "MinItems[1]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; @$_ >= $min unless ref $_ ne 'ARRAY'; }
        # {
        #   'contains' => {
        #     'minimum' => 5
        #   }
        # }
        # Reference [2,3,4] did not pass type constraint "Contains[Minimum[5]]"
        # "Contains[Minimum[5]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
        # Reference [] did not pass type constraint "Contains[Minimum[5]]"
        # "Contains[Minimum[5]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
        # {
        #   'contains' => {
        #     'const' => 5
        #   }
        # }
        # Reference [1,2,3,4] did not pass type constraint "Contains[Enum[5]]"
        # "Contains[Enum[5]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
        # {
        #   'contains' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        # }
        # Reference [] did not pass type constraint "Contains[Any]"
        # "Contains[Any]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
        # {
        #   'contains' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        # }
        # Reference ["foo"] did not pass type constraint "Contains[None]"
        # "Contains[None]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
        # Reference [] did not pass type constraint "Contains[None]"
        # "Contains[None]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
        # bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        # bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        # Value "1" did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Value "foo" did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Reference bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Undef did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Reference {"foo" => "bar"} did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Reference {} did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Reference ["foo"] did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # Reference [] did not pass type constraint "None"
        # "None" is defined as: (not((!!1)))
        # {
        #   'anyOf' => [
        #     {
        #       'type' => 'integer'
        #     },
        #     {
        #       'minimum' => 2
        #     }
        #   ]
        # }
        # Value "1.5" did not pass type constraint "AnyOf[Integer,Minimum[2]]"
        # "AnyOf[Integer,Minimum[2]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # {
        #   'anyOf' => [
        #     {
        #       'maxLength' => 2
        #     },
        #     {
        #       'minLength' => 4
        #     }
        #   ],
        #   'type' => 'string'
        # }
        # "AnyOf[MaxLength[2],MinLength[4]]&String" requires that the value pass "AnyOf[MaxLength[2],MinLength[4]]" and "String"
        # Value "3" did not pass type constraint "String"
        # "String" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 16384; }
        # "AnyOf[MaxLength[2],MinLength[4]]&String" requires that the value pass "AnyOf[MaxLength[2],MinLength[4]]" and "String"
        # Value "foo" did not pass type constraint "AnyOf[MaxLength[2],MinLength[4]]"
        # "AnyOf[MaxLength[2],MinLength[4]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # {
        #   'anyOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'anyOf'}[0]
        #   ]
        # }
        # {
        #   'anyOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        #   ]
        # }
        # {
        #   'anyOf' => [
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'anyOf'}[0]
        #   ]
        # }
        # Value "foo" did not pass type constraint "AnyOf[None,None]"
        # "AnyOf[None,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # {
        #   'patternProperties' => {
        #     'f.*o' => {
        #       'type' => 'integer'
        #     }
        #   }
        # }
        # Reference {"foo" => "bar","fooooo" => 2} did not pass type constraint "PatternProperties["f.*o",Integer]"
        # "PatternProperties["f.*o",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # Reference {"foo" => "bar","foooooo" => "baz"} did not pass type constraint "PatternProperties["f.*o",Integer]"
        # "PatternProperties["f.*o",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # {
        #   'patternProperties' => {
        #     'a*' => {
        #       'type' => 'integer'
        #     },
        #     'aaa*' => {
        #       'maximum' => 20
        #     }
        #   }
        # }
        # Reference {"a" => "bar"} did not pass type constraint "PatternProperties["aaa*",Maximum[20],"a*",Integer]"
        # "PatternProperties["aaa*",Maximum[20],"a*",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # Reference {"aaaa" => 31} did not pass type constraint "PatternProperties["aaa*",Maximum[20],"a*",Integer]"
        # "PatternProperties["aaa*",Maximum[20],"a*",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # Reference {"aaa" => "foo","aaaa" => 31} did not pass type constraint "PatternProperties["aaa*",Maximum[20],"a*",Integer]"
        # "PatternProperties["aaa*",Maximum[20],"a*",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # {
        #   'patternProperties' => {
        #     'X_' => {
        #       'type' => 'string'
        #     },
        #     '[0-9]{2,}' => {
        #       'type' => 'boolean'
        #     }
        #   }
        # }
        # Reference {"a31b" => undef} did not pass type constraint "PatternProperties[X_,String,"[0-9]{2,}",Boolean]"
        # "PatternProperties[X_,String,"[0-9]{2,}",Boolean]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # Reference {"a_X_3" => 3} did not pass type constraint "PatternProperties[X_,String,"[0-9]{2,}",Boolean]"
        # "PatternProperties[X_,String,"[0-9]{2,}",Boolean]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # {
        #   'patternProperties' => {
        #     'b.*' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     'f.*' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        #   }
        # }
        # Reference {"bar" => 2} did not pass type constraint "PatternProperties["f.*",Any,"b.*",None]"
        # "PatternProperties["f.*",Any,"b.*",None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # Reference {"bar" => 2,"foo" => 1} did not pass type constraint "PatternProperties["f.*",Any,"b.*",None]"
        # "PatternProperties["f.*",Any,"b.*",None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # {
        #   'additionalProperties' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #   'patternProperties' => {
        #     '^v' => {}
        #   },
        #   'properties' => {
        #     'bar' => {},
        #     'foo' => {}
        #   }
        # }
        # "AdditionalProperties[ARRAY(0x55b15c51c0e0),0]&PatternProperties["^v",Any]&Properties[foo,Any,bar,Any]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15c51c0e0),0]", "PatternProperties["^v",Any]", and "Properties[foo,Any,bar,Any]"
        # Reference {"bar" => 2,"foo" => 1,"quux" => "boom"} did not pass type constraint "AdditionalProperties[ARRAY(0x55b15c51c0e0),0]"
        # "AdditionalProperties[ARRAY(0x55b15c51c0e0),0]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
        # {
        #   'additionalProperties' => {
        #     'type' => 'boolean'
        #   },
        #   'patternProperties' => {},
        #   'properties' => {
        #     'bar' => {},
        #     'foo' => {}
        #   }
        # }
        # "AdditionalProperties[ARRAY(0x55b15c35bf48),Boolean]&PatternProperties[]&Properties[foo,Any,bar,Any]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15c35bf48),Boolean]", "PatternProperties[]", and "Properties[foo,Any,bar,Any]"
        # Reference {"bar" => 2,"foo" => 1,"quux" => 12} did not pass type constraint "AdditionalProperties[ARRAY(0x55b15c35bf48),Boolean]"
        # "AdditionalProperties[ARRAY(0x55b15c35bf48),Boolean]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
        # {
        #   'additionalProperties' => {
        #     'type' => 'boolean'
        #   },
        #   'patternProperties' => {},
        #   'properties' => {}
        # }
        # "AdditionalProperties[ARRAY(0x55b15c640498),Boolean]&PatternProperties[]&Properties[]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15c640498),Boolean]", "PatternProperties[]", and "Properties[]"
        # Reference {"foo" => 1} did not pass type constraint "AdditionalProperties[ARRAY(0x55b15c640498),Boolean]"
        # "AdditionalProperties[ARRAY(0x55b15c640498),Boolean]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
        # {
        #   'properties' => {
        #     'bar' => {},
        #     'foo' => {}
        #   }
        # }
        # {
        #   'allOf' => [
        #     {
        #       'properties' => {
        #         'bar' => {
        #           'type' => 'integer'
        #         }
        #       },
        #       'required' => [
        #         'bar'
        #       ]
        #     },
        #     {
        #       'properties' => {
        #         'foo' => {
        #           'type' => 'string'
        #         }
        #       },
        #       'required' => [
        #         'foo'
        #       ]
        #     }
        #   ]
        # }
        # Reference {"foo" => "baz"} did not pass type constraint "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]"
        # "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # Reference {"bar" => 2} did not pass type constraint "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]"
        # "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # Reference {"bar" => "quux","foo" => "baz"} did not pass type constraint "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]"
        # "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # {
        #   'allOf' => [
        #     {
        #       'properties' => {
        #         'foo' => {
        #           'type' => 'string'
        #         }
        #       },
        #       'required' => [
        #         'foo'
        #       ]
        #     },
        #     {
        #       'properties' => {
        #         'baz' => {
        #           'type' => 'null'
        #         }
        #       },
        #       'required' => [
        #         'baz'
        #       ]
        #     }
        #   ],
        #   'properties' => {
        #     'bar' => {
        #       'type' => 'integer'
        #     }
        #   },
        #   'required' => [
        #     'bar'
        #   ]
        # }
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
        # Reference {"baz" => undef,"foo" => "quux"} did not pass type constraint "Required[bar]"
        # "Required[bar]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
        # Reference {"bar" => 2,"baz" => undef} did not pass type constraint "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]"
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
        # Reference {"bar" => 2,"foo" => "quux"} did not pass type constraint "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]"
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
        # Reference {"bar" => 2} did not pass type constraint "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]"
        # "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # {
        #   'allOf' => [
        #     {
        #       'maximum' => 30
        #     },
        #     {
        #       'minimum' => 20
        #     }
        #   ]
        # }
        # Value "35" did not pass type constraint "AllOf[Maximum[30],Minimum[20]]"
        # "AllOf[Maximum[30],Minimum[20]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # {
        #   'allOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'allOf'}[0]
        #   ]
        # }
        # {
        #   'allOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        #   ]
        # }
        # Value "foo" did not pass type constraint "AllOf[Any,None]"
        # "AllOf[Any,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # {
        #   'allOf' => [
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'allOf'}[0]
        #   ]
        # }
        # Value "foo" did not pass type constraint "AllOf[None,None]"
        # "AllOf[None,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
        # {
        #   'minLength' => 2
        # }
        # Value "f" did not pass type constraint "MinLength[2]"
        # "MinLength[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $length <= length $_ unless not String->check($_); }
        # Value "\x{1f4a9}" did not pass type constraint "MinLength[2]"
        # "MinLength[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $length <= length $_ unless not String->check($_); }
        # {
        #   'maximum' => '3'
        # }
        # Value "3.5" did not pass type constraint "Maximum[3]"
        # "Maximum[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ <= $max unless not StrictNum->check($_); }
        # {
        #   'properties' => {
        #     'bar' => {},
        #     'foo' => {}
        #   },
        #   'required' => [
        #     'foo'
        #   ]
        # }
        # "Properties[bar,Any,foo,Any]&Required[foo]" requires that the value pass "Properties[bar,Any,foo,Any]" and "Required[foo]"
        # Reference {"bar" => 1} did not pass type constraint "Required[foo]"
        # "Required[foo]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
        # {
        #   'properties' => {
        #     'foo' => {}
        #   }
        # }
        # {
        #   'properties' => {
        #     'foo' => {}
        #   },
        #   'required' => []
        # }
        # {
        #   'oneOf' => [
        #     {
        #       'type' => 'integer'
        #     },
        #     {
        #       'minimum' => 2
        #     }
        #   ]
        # }
        # Value "3" did not pass type constraint "OneOf[__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # Value "1.5" did not pass type constraint "OneOf[__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # {
        #   'oneOf' => [
        #     {
        #       'minLength' => 2
        #     },
        #     {
        #       'maxLength' => 4
        #     }
        #   ],
        #   'type' => 'string'
        # }
        # "OneOf[__ANON__,__ANON__]&String" requires that the value pass "OneOf[__ANON__,__ANON__]" and "String"
        # Value "3" did not pass type constraint "OneOf[__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # "OneOf[__ANON__,__ANON__]&String" requires that the value pass "OneOf[__ANON__,__ANON__]" and "String"
        # Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # {
        #   'oneOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'oneOf'}[0],
        #     $VAR1->{'oneOf'}[0]
        #   ]
        # }
        # Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # {
        #   'oneOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'oneOf'}[1]
        #   ]
        # }
        # {
        #   'oneOf' => [
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'oneOf'}[0],
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        #   ]
        # }
        # Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # {
        #   'oneOf' => [
        #     bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     $VAR1->{'oneOf'}[0],
        #     $VAR1->{'oneOf'}[0]
        #   ]
        # }
        # Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__,__ANON__]"
        # "OneOf[__ANON__,__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
        # {
        #   'uniqueItems' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        # }
        # Reference [1,1] did not pass type constraint "UniqueItems"
        # "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
        # Reference [1,1,1] did not pass type constraint "UniqueItems"
        # "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
        # Reference [{"foo" => "bar"},{"foo" => "bar"}] did not pass type constraint "UniqueItems"
        # "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
        # Reference [{"foo" => 'HASH(0x55b15c63fd78)'},{"foo" => 'HASH(0x55b15c513e50)'}] did not pass type constraint "UniqueItems"
        # "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
        # Reference [["foo"],["foo"]] did not pass type constraint "UniqueItems"
        # "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
        # Reference [{},[1],bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),undef,{},1] did not pass type constraint "UniqueItems"
        # "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
        # {
        #   'exclusiveMaximum' => '3'
        # }
        # Value "3" did not pass type constraint "ExclusiveMaximum[3]"
        # "ExclusiveMaximum[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ < $max unless not StrictNum->check($_); }
        # Value "3.5" did not pass type constraint "ExclusiveMaximum[3]"
        # "ExclusiveMaximum[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ < $max unless not StrictNum->check($_); }
        # {
        #   'properties' => {
        #     'bar' => {
        #       'type' => 'string'
        #     },
        #     'foo' => {
        #       'type' => 'integer'
        #     }
        #   }
        # }
        # Reference {"bar" => {},"foo" => 1} did not pass type constraint "Properties[foo,Integer,bar,String]"
        # "Properties[foo,Integer,bar,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # Reference {"bar" => {},"foo" => []} did not pass type constraint "Properties[foo,Integer,bar,String]"
        # "Properties[foo,Integer,bar,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'additionalProperties' => {
        #     'type' => 'integer'
        #   },
        #   'patternProperties' => {
        #     'f.o' => {
        #       'minItems' => 2
        #     }
        #   },
        #   'properties' => {
        #     'bar' => {
        #       'type' => 'array'
        #     },
        #     'foo' => {
        #       'maxItems' => 3,
        #       'type' => 'array'
        #     }
        #   }
        # }
        # "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[bar,Array,foo,MaxItems[3]&Array]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[bar,Array,foo,MaxItems[3]&Array]"
        # Reference {"foo" => [1,2,3,4]} did not pass type constraint "Properties[bar,Array,foo,MaxItems[3]&Array]"
        # "Properties[bar,Array,foo,MaxItems[3]&Array]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[bar,Array,foo,MaxItems[3]&Array]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[bar,Array,foo,MaxItems[3]&Array]"
        # Reference {"foo" => []} did not pass type constraint "PatternProperties["f.o",MinItems[2]]"
        # "PatternProperties["f.o",MinItems[2]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[bar,Array,foo,MaxItems[3]&Array]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[bar,Array,foo,MaxItems[3]&Array]"
        # Reference {"fxo" => []} did not pass type constraint "PatternProperties["f.o",MinItems[2]]"
        # "PatternProperties["f.o",MinItems[2]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
        # "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[bar,Array,foo,MaxItems[3]&Array]" requires that the value pass "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[bar,Array,foo,MaxItems[3]&Array]"
        # Reference {"quux" => "foo"} did not pass type constraint "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]"
        # "AdditionalProperties[ARRAY(0x55b15cdd2d18),Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
        # {
        #   'properties' => {
        #     'bar' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     'foo' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        #   }
        # }
        # Reference {"bar" => 2} did not pass type constraint "Properties[foo,Any,bar,None]"
        # "Properties[foo,Any,bar,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # Reference {"bar" => 2,"foo" => 1} did not pass type constraint "Properties[foo,Any,bar,None]"
        # "Properties[foo,Any,bar,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'const' => 2
        # }
        # Value "5" did not pass type constraint "Enum[2]"
        # "Enum[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # Value "a" did not pass type constraint "Enum[2]"
        # "Enum[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # {
        #   'const' => {
        #     'baz' => 'bax',
        #     'foo' => 'bar'
        #   }
        # }
        # Reference {"foo" => "bar"} did not pass type constraint "Enum[HASH(0x55b15ce18638)]"
        # "Enum[HASH(0x55b15ce18638)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # Reference [1,2] did not pass type constraint "Enum[HASH(0x55b15ce18638)]"
        # "Enum[HASH(0x55b15ce18638)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # {
        #   'const' => undef
        # }
        # Value "0" did not pass type constraint "Enum[undef]"
        # "Enum[undef]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # {
        #   'type' => 'integer'
        # }
        # Value "1.1" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # Value "foo" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # Reference {} did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # Reference [] did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # Undef did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # {
        #   'type' => 'number'
        # }
        # Value "foo" did not pass type constraint "Number"
        # "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
        # Reference {} did not pass type constraint "Number"
        # "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
        # Reference [] did not pass type constraint "Number"
        # "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Number"
        # "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
        # Undef did not pass type constraint "Number"
        # "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
        # {
        #   'type' => 'string'
        # }
        # Value "1" did not pass type constraint "String"
        # "String" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 16384; }
        # Value "1.1" did not pass type constraint "String"
        # "String" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 16384; }
        # "String" is a subtype of "Str"
        # "Str" is a subtype of "Value"
        # Reference {} did not pass type constraint "Value"
        # "Value" is defined as: (defined($_) and not ref($_))
        # "String" is a subtype of "Str"
        # "Str" is a subtype of "Value"
        # Reference [] did not pass type constraint "Value"
        # "Value" is defined as: (defined($_) and not ref($_))
        # "String" is a subtype of "Str"
        # "Str" is a subtype of "Value"
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Value"
        # "Value" is defined as: (defined($_) and not ref($_))
        # "String" is a subtype of "Str"
        # "Str" is a subtype of "Value"
        # "Value" is a subtype of "Defined"
        # Undef did not pass type constraint "Defined"
        # "Defined" is defined as: (defined($_))
        # {
        #   'type' => 'object'
        # }
        # "Object" is a subtype of "HashRef"
        # "HashRef" is a subtype of "Ref"
        # Value "1" did not pass type constraint "Ref"
        # "Ref" is defined as: (!!ref($_))
        # "Object" is a subtype of "HashRef"
        # "HashRef" is a subtype of "Ref"
        # Value "1.1" did not pass type constraint "Ref"
        # "Ref" is defined as: (!!ref($_))
        # "Object" is a subtype of "HashRef"
        # "HashRef" is a subtype of "Ref"
        # Value "foo" did not pass type constraint "Ref"
        # "Ref" is defined as: (!!ref($_))
        # "Object" is a subtype of "HashRef"
        # Reference [] did not pass type constraint "HashRef"
        # "HashRef" is defined as: (ref($_) eq 'HASH')
        # "Object" is a subtype of "HashRef"
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "HashRef"
        # "HashRef" is defined as: (ref($_) eq 'HASH')
        # "Object" is a subtype of "HashRef"
        # "HashRef" is a subtype of "Ref"
        # "Ref" is a subtype of "Defined"
        # Undef did not pass type constraint "Defined"
        # "Defined" is defined as: (defined($_))
        # {
        #   'type' => 'array'
        # }
        # "Array" is a subtype of "ArrayRef"
        # "ArrayRef" is a subtype of "Ref"
        # Value "1" did not pass type constraint "Ref"
        # "Ref" is defined as: (!!ref($_))
        # "Array" is a subtype of "ArrayRef"
        # "ArrayRef" is a subtype of "Ref"
        # Value "1.1" did not pass type constraint "Ref"
        # "Ref" is defined as: (!!ref($_))
        # "Array" is a subtype of "ArrayRef"
        # "ArrayRef" is a subtype of "Ref"
        # Value "foo" did not pass type constraint "Ref"
        # "Ref" is defined as: (!!ref($_))
        # "Array" is a subtype of "ArrayRef"
        # Reference {} did not pass type constraint "ArrayRef"
        # "ArrayRef" is defined as: (ref($_) eq 'ARRAY')
        # "Array" is a subtype of "ArrayRef"
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "ArrayRef"
        # "ArrayRef" is defined as: (ref($_) eq 'ARRAY')
        # "Array" is a subtype of "ArrayRef"
        # "ArrayRef" is a subtype of "Ref"
        # "Ref" is a subtype of "Defined"
        # Undef did not pass type constraint "Defined"
        # "Defined" is defined as: (defined($_))
        # {
        #   'type' => 'boolean'
        # }
        # Value "1" did not pass type constraint "Boolean"
        # "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
        # Value "1.1" did not pass type constraint "Boolean"
        # "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
        # Value "foo" did not pass type constraint "Boolean"
        # "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
        # Reference {} did not pass type constraint "Boolean"
        # "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
        # Reference [] did not pass type constraint "Boolean"
        # "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
        # Undef did not pass type constraint "Boolean"
        # "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
        # {
        #   'type' => 'null'
        # }
        # Value "1" did not pass type constraint "Null"
        # "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
        # Value "1.1" did not pass type constraint "Null"
        # "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
        # Value "foo" did not pass type constraint "Null"
        # "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
        # Reference {} did not pass type constraint "Null"
        # "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
        # Reference [] did not pass type constraint "Null"
        # "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Null"
        # "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
        # {
        #   'type' => [
        #     'integer',
        #     'string'
        #   ]
        # }
        # Value "1.1" did not pass type constraint "AnyOf[Integer,String]"
        # "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # Reference {} did not pass type constraint "AnyOf[Integer,String]"
        # "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # Reference [] did not pass type constraint "AnyOf[Integer,String]"
        # "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "AnyOf[Integer,String]"
        # "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # Undef did not pass type constraint "AnyOf[Integer,String]"
        # "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
        # {
        #   'maxLength' => 2
        # }
        # Value "foo" did not pass type constraint "MaxLength[2]"
        # "MaxLength[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $length >= length $_ unless not String->check($_); }
        # {
        #   'dependencies' => {
        #     'bar' => [
        #       'foo'
        #     ]
        #   }
        # }
        # Reference {"bar" => 2} did not pass type constraint "Dependency[bar,ARRAY(0x55b15cdf6280)]"
        # "Dependency[bar,ARRAY(0x55b15cdf6280)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # {
        #   'dependencies' => {
        #     'bar' => []
        #   }
        # }
        # {
        #   'dependencies' => {
        #     'quux' => [
        #       'foo',
        #       'bar'
        #     ]
        #   }
        # }
        # Reference {"foo" => 1,"quux" => 2} did not pass type constraint "Dependency[quux,ARRAY(0x55b15c6162b0)]"
        # "Dependency[quux,ARRAY(0x55b15c6162b0)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # Reference {"bar" => 1,"quux" => 2} did not pass type constraint "Dependency[quux,ARRAY(0x55b15c6162b0)]"
        # "Dependency[quux,ARRAY(0x55b15c6162b0)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # Reference {"quux" => 1} did not pass type constraint "Dependency[quux,ARRAY(0x55b15c6162b0)]"
        # "Dependency[quux,ARRAY(0x55b15c6162b0)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # {
        #   'dependencies' => {
        #     'bar' => {
        #       'properties' => {
        #         'bar' => {
        #           'type' => 'integer'
        #         },
        #         'foo' => {
        #           'type' => 'integer'
        #         }
        #       }
        #     }
        #   }
        # }
        # Reference {"bar" => 2,"foo" => "quux"} did not pass type constraint "Dependency[bar,__ANON__]"
        # "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # Reference {"bar" => "quux","foo" => 2} did not pass type constraint "Dependency[bar,__ANON__]"
        # "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # Reference {"bar" => "quux","foo" => "quux"} did not pass type constraint "Dependency[bar,__ANON__]"
        # "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # {
        #   'dependencies' => {
        #     'bar' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        #     'foo' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        #   }
        # }
        # "Dependency[foo,__ANON__]&Dependency[bar,__ANON__]" requires that the value pass "Dependency[bar,__ANON__]" and "Dependency[foo,__ANON__]"
        # Reference {"bar" => 2} did not pass type constraint "Dependency[bar,__ANON__]"
        # "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # "Dependency[foo,__ANON__]&Dependency[bar,__ANON__]" requires that the value pass "Dependency[bar,__ANON__]" and "Dependency[foo,__ANON__]"
        # Reference {"bar" => 2,"foo" => 1} did not pass type constraint "Dependency[bar,__ANON__]"
        # "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
        # {
        #   'pattern' => '^a*$'
        # }
        # Value "abc" did not pass type constraint "Pattern["^a*\$"]"
        # "Pattern["^a*\$"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; /$regex/ unless not String->check($_); }
        # {
        #   'pattern' => 'a+'
        # }
        # {
        #   'not' => {
        #     'type' => 'integer'
        #   }
        # }
        # Value "1" did not pass type constraint "Not[__ANON__]"
        # "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
        # {
        #   'not' => {
        #     'type' => [
        #       'integer',
        #       'boolean'
        #     ]
        #   }
        # }
        # Value "1" did not pass type constraint "Not[__ANON__]"
        # "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
        # Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Not[__ANON__]"
        # "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
        # {
        #   'not' => {
        #     'properties' => {
        #       'foo' => {
        #         'type' => 'string'
        #       }
        #     },
        #     'type' => 'object'
        #   }
        # }
        # Reference {"foo" => "bar"} did not pass type constraint "Not[__ANON__]"
        # "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
        # {
        #   'properties' => {
        #     'foo' => {
        #       'not' => {}
        #     }
        #   }
        # }
        # Reference {"bar" => 2,"foo" => 1} did not pass type constraint "Properties[foo,Not[__ANON__]]"
        # "Properties[foo,Not[__ANON__]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'not' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        # }
        # Value "foo" did not pass type constraint "Not[__ANON__]"
        # "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
        # {
        #   'not' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        # }
        # {
        #   '$ref' => 'http://localhost:1234/integer.json'
        # }
        # ref schema is {"type":"integer"}
        # Value "a" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # "Ref(http://localhost:1234/integer.json)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   '$ref' => 'http://localhost:1234/subSchemas.json#/integer'
        # }
        # ref schema is {"type":"integer"}
        # Value "a" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # "Ref(http://localhost:1234/subSchemas.json#/integer)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   '$ref' => 'http://localhost:1234/subSchemas.json#/refToInteger'
        # }
        # ref schema is {"$ref":"#/integer"}
        # ref schema is {"type":"integer"}
        # Value "a" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
        # "Ref(#/integer)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # "Ref(http://localhost:1234/subSchemas.json#/refToInteger)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   '$id' => 'http://localhost:1234/',
        #   'items' => {
        #     '$id' => 'folder/',
        #     'items' => {
        #       '$ref' => 'folderInteger.json'
        #     }
        #   }
        # }
        # "~ArrayRef|Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]" requires that the value pass "Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]" or "~ArrayRef"
        # Reference [["a"]] did not pass type constraint "~ArrayRef"
        #     Reference [["a"]] did not pass type constraint "~ArrayRef"
        #     "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
        # Reference [["a"]] did not pass type constraint "Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]"
        #     Reference [["a"]] did not pass type constraint "Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]"
        #     Array elements from index 0 are slurped into a arrayref which is constrained with "ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]"
        #     Reference [["a"]] did not pass type constraint "ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]" (in $SLURPY)
        #     "ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]" constrains each value in the array with "~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]"
        #     "~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]" requires that the value pass "Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]" or "~ArrayRef"
        #     Reference ["a"] did not pass type constraint "~ArrayRef"
        #         Reference ["a"] did not pass type constraint "~ArrayRef"
        #         "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
        #     Reference ["a"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]"
        #         Reference ["a"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]"
        #         Array elements from index 0 are slurped into a arrayref which is constrained with "ArrayRef[Ref(folderInteger.json)]"
        #         Reference ["a"] did not pass type constraint "ArrayRef[Ref(folderInteger.json)]" (in $SLURPY)
        #         "ArrayRef[Ref(folderInteger.json)]" constrains each value in the array with "Ref(folderInteger.json)"
        #         ref schema is {"type":"integer"}
        # Value "a" did not pass type constraint "Integer"
        # "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); } (in $SLURPY->[0])
        #         "Ref(folderInteger.json)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
        # {
        #   '$id' => 'http://localhost:1234/scope_change_defs1.json',
        #   'definitions' => {
        #     'baz' => {
        #       '$id' => 'folder/',
        #       'items' => {
        #         '$ref' => 'folderInteger.json'
        #       },
        #       'type' => 'array'
        #     }
        #   },
        #   'properties' => {
        #     'list' => {
        #       '$ref' => '#/definitions/baz'
        #     }
        #   },
        #   'type' => 'object'
        # }
        # "Properties[list,Ref(#/definitions/baz)]&Object" requires that the value pass "Object" and "Properties[list,Ref(#/definitions/baz)]"
        # Reference {"list" => ["a"]} did not pass type constraint "Properties[list,Ref(#/definitions/baz)]"
        # "Properties[list,Ref(#/definitions/baz)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   '$id' => 'http://localhost:1234/scope_change_defs2.json',
        #   'definitions' => {
        #     'baz' => {
        #       '$id' => 'folder/',
        #       'definitions' => {
        #         'bar' => {
        #           'items' => {
        #             '$ref' => 'folderInteger.json'
        #           },
        #           'type' => 'array'
        #         }
        #       }
        #     }
        #   },
        #   'properties' => {
        #     'list' => {
        #       '$ref' => '#/definitions/baz/definitions/bar'
        #     }
        #   },
        #   'type' => 'object'
        # }
        # "Properties[list,Ref(#/definitions/baz/definitions/bar)]&Object" requires that the value pass "Object" and "Properties[list,Ref(#/definitions/baz/definitions/bar)]"
        # Reference {"list" => ["a"]} did not pass type constraint "Properties[list,Ref(#/definitions/baz/definitions/bar)]"
        # "Properties[list,Ref(#/definitions/baz/definitions/bar)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   '$id' => 'http://localhost:1234/object',
        #   'properties' => {
        #     'name' => {
        #       '$ref' => 'name.json#/definitions/orNull'
        #     }
        #   },
        #   'type' => 'object'
        # }
        # "Properties[name,Ref(name.json#/definitions/orNull)]&Object" requires that the value pass "Object" and "Properties[name,Ref(name.json#/definitions/orNull)]"
        # Reference {"name" => {"name" => undef}} did not pass type constraint "Properties[name,Ref(name.json#/definitions/orNull)]"
        # "Properties[name,Ref(name.json#/definitions/orNull)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
        # {
        #   'propertyNames' => {
        #     'maxLength' => 3
        #   }
        # }
        # Reference {"foo" => {},"foobar" => {}} did not pass type constraint "PropertyNames[MaxLength[3]]"
        # "PropertyNames[MaxLength[3]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 if $type eq Any; return !keys(%$_) if $type eq ~Any; return all(sub { $type->check($_); } , keys %$_); }
        # {
        #   'propertyNames' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        # }
        # {
        #   'propertyNames' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
        # }
        # Reference {"foo" => 1} did not pass type constraint "PropertyNames[None]"
        # "PropertyNames[None]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 if $type eq Any; return !keys(%$_) if $type eq ~Any; return all(sub { $type->check($_); } , keys %$_); }
        # {
        #   'enum' => [
        #     1,
        #     2,
        #     3
        #   ]
        # }
        # Value "4" did not pass type constraint "Enum[1,2,3]"
        # "Enum[1,2,3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # {
        #   'enum' => [
        #     6,
        #     'foo',
        #     [],
        #     bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        #     {
        #       'foo' => 12
        #     }
        #   ]
        # }
        # Undef did not pass type constraint "Enum[6,foo,ARRAY(0x55b15ce3e788),1,HASH(0x55b15ce53660)]"
        # "Enum[6,foo,ARRAY(0x55b15ce3e788),1,HASH(0x55b15ce53660)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # Reference {"foo" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )} did not pass type constraint "Enum[6,foo,ARRAY(0x55b15ce3e788),1,HASH(0x55b15ce53660)]"
        # "Enum[6,foo,ARRAY(0x55b15ce3e788),1,HASH(0x55b15ce53660)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
        # {
        #   'properties' => {
        #     'bar' => {
        #       'enum' => [
        #         'bar'
        #       ]
        #     },
        #     'foo' => {
        #       'enum' => [
        #         'foo'
        #       ]
        #     }
        #   },
        #   'required' => [
        #     'bar'
        #   ],
        #   'type' => 'object'
        # }
        # "Properties[bar,Enum[bar],foo,Enum[foo]]&Required[bar]&Object" requires that the value pass "Object", "Properties[bar,Enum[bar],foo,Enum[foo]]", and "Required[bar]"
        # Reference {"foo" => "foo"} did not pass type constraint "Required[bar]"
        # "Required[bar]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
        # "Properties[bar,Enum[bar],foo,Enum[foo]]&Required[bar]&Object" requires that the value pass "Object", "Properties[bar,Enum[bar],foo,Enum[foo]]", and "Required[bar]"
        # Reference {} did not pass type constraint "Required[bar]"
        # "Required[bar]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
        # {
        #   'multipleOf' => 2
        # }
        # Value "7" did not pass type constraint "MultipleOf[2]"
        # "MultipleOf[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not Number->check($_) && ($_ / $num) =~ /\./; }
        # {
        #   'multipleOf' => '1.5'
        # }
        # Value "35" did not pass type constraint "MultipleOf["1.5"]"
        # "MultipleOf["1.5"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not Number->check($_) && ($_ / $num) =~ /\./; }
        # {
        #   'multipleOf' => '0.0001'
        # }
        # Value "0.00751" did not pass type constraint "MultipleOf["0.0001"]"
        # "MultipleOf["0.0001"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not Number->check($_) && ($_ / $num) =~ /\./; }
        # {
        #   'minProperties' => 1
        # }
        # Reference {} did not pass type constraint "MinProperties[1]"
        # "MinProperties[1]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $nbr <= scalar keys %$_ unless not Object->check($_); }
t/draft6.t ............. ok
t/recurse.t ............ ok
t/register_uris.t ...... ok
t/schema-coerce.t ...... ok
t/spec-schema.t ........ ok
t/string_number.t ...... ok
        # Value "1" did not pass type constraint "Not[Integer]"
t/types_draft3.t ....... ok
        # Value "4" did not pass type constraint "Minimum[5]"
        # Value "5" did not pass type constraint "ExclusiveMinimum[5]"
        # Value "6" did not pass type constraint "Maximum[5]"
        # Value "5" did not pass type constraint "ExclusiveMaximum[5]"
        # Value "foo" did not pass type constraint "MinLength[5]"
        # Value "banana" did not pass type constraint "MaxLength[5]"
        # Value "3" did not pass type constraint "MultipleOf[5]"
        # Reference [1,2,3] did not pass type constraint "MaxItems[2]"
        # Reference [1] did not pass type constraint "MinItems[2]"
Use of uninitialized value in join or string at t/types_draft4.t line 144.
            # Value "banana" did not pass type constraint "Null"
            # Value "1" did not pass type constraint "Boolean"
            # Value "1" did not pass type constraint "Array"
            # Reference [] did not pass type constraint "Object"
            # Reference [] did not pass type constraint "String"
            # Value "1.3" did not pass type constraint "Integer"
            # Reference [] did not pass type constraint "Number"
            # Value "potato" did not pass type constraint "Pattern[(?^:foo)]"
        # Reference {"bar" => 1} did not pass type constraint "Required[foo]"
        # Reference {"bar" => 1} did not pass type constraint "Required[foo,bar]"
        # Value "1" did not pass type constraint "Not[Integer]"
        # Reference {"1" => 2,"3" => 4,"5" => 6} did not pass type constraint "MaxProperties[2]"
        # Reference {"1" => 2} did not pass type constraint "MinProperties[2]"
        # Value "banana" did not pass type constraint "OneOf[Integer,Boolean]"
        # Value "banana" did not pass type constraint "OneOf[MaxLength[7],MaxLength[6]]"
        # Value "banana" did not pass type constraint "AnyOf[Integer,Boolean]"
        # Value "banana" did not pass type constraint "AllOf[MaxLength[5],MinLength[2]]"
        # Reference ["banana"] did not pass type constraint "~ArrayRef|Tuple[Slurpy[ArrayRef[Number]]]"
        # Reference [1] did not pass type constraint "AdditionalItems[1,Number]"
        # Reference {"foo" => "x"} did not pass type constraint "PatternProperties[f,Number,b,Array]"
        # Reference {"foo" => "x"} did not pass type constraint "Dependency[baz,MaxProperties[2]]&Dependency[foo,ARRAY(0x557e30105488)]"
        # Reference {"foo" => "x"} did not pass type constraint "Enum[foo,HASH(0x557e301546c0)]"
        # Reference [1,1,2,3] did not pass type constraint "UniqueItems"
        # Reference {"foo" => "x"} did not pass type constraint "Properties[foo,Number,bar,Array]"
        # Reference {"quux" => "x"} did not pass type constraint "AdditionalProperties[ARRAY(0x557e2ff66c48),0]"
t/types_draft4.t ....... ok
All tests successful.
Files=13, Tests=139, 13 wallclock secs ( 0.20 usr  0.03 sys + 11.64 cusr  0.68 csys = 12.55 CPU)
Result: PASS


PREREQUISITES:

Here is a list of prerequisites you specified and versions we
managed to load:

	  Module Name                        Have     Want
	  Clone                              0.46        0
	  Exporter                           5.76        0
	  ExtUtils::MakeMaker                7.70        0
	  File::Spec                         3.80        0
	  IO::Handle                         1.46        0
	  IPC::Open3                         1.21        0
	  JSON                               4.10        0
	  LWP::Simple                        6.77        0
	  List::AllUtils                     0.19        0
	  List::MoreUtils                   0.430        0
	  List::Util                         1.63        0
	  Moose                            2.2207        0
	  Moose::Role                      2.2207        0
	  Moose::Util                      2.2207        0
	  MooseX::ClassAttribute             0.29        0
	  MooseX::MungeHas                  0.011        0
	  Path::Tiny                        0.144    0.062
	  Scalar::Util                       1.63        0
	  Test::Deep                        1.204        0
	  Test::Exception                    0.43        0
	  Test::More                     1.302198        0
	  Type::Library                  2.004000        0
	  Type::Tiny                     2.004000        0
	  Type::Tiny::Class              2.004000        0
	  Type::Utils                    2.004000        0
	  Types::Standard                2.004000        0
	  URI                                5.28        0
	  lib                                0.65        0
	  parent                            0.238        0
	  strict                             1.12        0
	  warnings                           1.51        0

Perl module toolchain versions installed:
	Module Name                        Have
	CPANPLUS                         0.9914
	CPANPLUS::Dist::Build              0.90
	Cwd                                3.80
	ExtUtils::CBuilder             0.280236
	ExtUtils::Command                  7.70
	ExtUtils::Install                  2.22
	ExtUtils::MakeMaker                7.70
	ExtUtils::Manifest                 1.75
	ExtUtils::ParseXS                  3.51
	File::Spec                         3.80
	Module::Build                    0.4234
	Pod::Parser                           0
	Pod::Simple                        3.42
	Test2                          1.302198
	Test::Harness                      3.48
	Test::More                     1.302198
	version                          0.9930

******************************** NOTE ********************************
The comments above are created mechanically, possibly without manual
checking by the sender.  As there are many people performing automatic
tests on each upload to CPAN, it is likely that you will receive
identical messages about the same problem.

If you believe that the message is mistaken, please reply to the first
one with correction and/or additional informations, and do not take
it personally.  We appreciate your patience. :)
**********************************************************************

Additional comments:


This report was machine-generated by CPANPLUS::Dist::YACSmoke 1.08.
Powered by minismokebox version 0.68

CPANPLUS is prefering Build.PL

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

Environment variables:

    AUTOMATED_TESTING = 1
    LANG = en_GB.UTF-8
    LANGUAGE = en_GB:en
    NONINTERACTIVE_TESTING = 1
    PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    PERL5LIB = /home/cpan/pit/jail/yfqyYfMI_Z/lib/perl5:/home/cpan/pit/bare-ld/conf/perl-5.34.0/.cpanplus/5.34.0/build/sl1aLta4f9/JSON-Schema-AsType-0.4.4/blib/lib:/home/cpan/pit/bare-ld/conf/perl-5.34.0/.cpanplus/5.34.0/build/sl1aLta4f9/JSON-Schema-AsType-0.4.4/blib/arch
    PERL5_CPANPLUS_IS_RUNNING = 425182
    PERL5_CPANPLUS_IS_VERSION = 0.9914
    PERL5_MINISMOKEBOX = 0.68
    PERL5_YACSMOKE_BASE = /home/cpan/pit/bare-ld/conf/perl-5.34.0
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_LOCAL_LIB_ROOT = /home/cpan/pit/jail/yfqyYfMI_Z
    PERL_MB_OPT = --install_base "/home/cpan/pit/jail/yfqyYfMI_Z"
    PERL_MM_OPT = INSTALL_BASE=/home/cpan/pit/jail/yfqyYfMI_Z
    PERL_MM_USE_DEFAULT = 1
    SHELL = /bin/bash
    TERM = screen.xterm-256color

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

    Perl: $^X = /home/cpan/pit/bare-ld/perl-5.34.0/bin/perl
    UID:  $<  = 1001
    EUID: $>  = 1001
    GID:  $(  = 1001 1001
    EGID: $)  = 1001 1001


-------------------------------


--

Summary of my perl5 (revision 5 version 34 subversion 0) configuration:
   
  Platform:
    osname=linux
    osvers=5.4.0-73-generic
    archname=x86_64-linux-ld
    uname='linux uchder 5.4.0-73-generic #82-ubuntu smp wed apr 14 17:39:42 utc 2021 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Dprefix=/home/cpan/pit/bare-ld/perl-5.34.0 -Duselongdouble'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=define
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2'
    cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='9.3.0'
    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='long double'
    nvsize=16
    Off_t='off_t'
    lseeksize=8
    alignbytes=16
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib
    libs=-lpthread -lnsl -lgdbm -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.31.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.31'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_LONG_DOUBLE
    USE_PERLIO
    USE_PERL_ATOF
  Built under linux
  Compiled at May 21 2021 16:41:23
  %ENV:
    PERL5LIB="/home/cpan/pit/jail/yfqyYfMI_Z/lib/perl5:/home/cpan/pit/bare-ld/conf/perl-5.34.0/.cpanplus/5.34.0/build/sl1aLta4f9/JSON-Schema-AsType-0.4.4/blib/lib:/home/cpan/pit/bare-ld/conf/perl-5.34.0/.cpanplus/5.34.0/build/sl1aLta4f9/JSON-Schema-AsType-0.4.4/blib/arch"
    PERL5_CPANPLUS_IS_RUNNING="425182"
    PERL5_CPANPLUS_IS_VERSION="0.9914"
    PERL5_MINISMOKEBOX="0.68"
    PERL5_YACSMOKE_BASE="/home/cpan/pit/bare-ld/conf/perl-5.34.0"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_LOCAL_LIB_ROOT="/home/cpan/pit/jail/yfqyYfMI_Z"
    PERL_MB_OPT="--install_base "/home/cpan/pit/jail/yfqyYfMI_Z""
    PERL_MM_OPT="INSTALL_BASE=/home/cpan/pit/jail/yfqyYfMI_Z"
    PERL_MM_USE_DEFAULT="1"
  @INC:
    /home/cpan/pit/jail/yfqyYfMI_Z/lib/perl5/5.34.0/x86_64-linux-ld
    /home/cpan/pit/jail/yfqyYfMI_Z/lib/perl5/5.34.0
    /home/cpan/pit/jail/yfqyYfMI_Z/lib/perl5/x86_64-linux-ld
    /home/cpan/pit/jail/yfqyYfMI_Z/lib/perl5
    /home/cpan/pit/bare-ld/conf/perl-5.34.0/.cpanplus/5.34.0/build/sl1aLta4f9/JSON-Schema-AsType-0.4.4/blib/lib
    /home/cpan/pit/bare-ld/conf/perl-5.34.0/.cpanplus/5.34.0/build/sl1aLta4f9/JSON-Schema-AsType-0.4.4/blib/arch
    /home/cpan/pit/bare-ld/perl-5.34.0/lib/site_perl/5.34.0/x86_64-linux-ld
    /home/cpan/pit/bare-ld/perl-5.34.0/lib/site_perl/5.34.0
    /home/cpan/pit/bare-ld/perl-5.34.0/lib/5.34.0/x86_64-linux-ld
    /home/cpan/pit/bare-ld/perl-5.34.0/lib/5.34.0