Sun Jan 12 13:28:33 UTC 2025  I: starting to build libspecio-perl/unstable/arm64 on jenkins on '2025-01-12 13:28'
Sun Jan 12 13:28:33 UTC 2025  I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_17/72508/console.log
Sun Jan 12 13:28:33 UTC 2025  I: Downloading source for unstable/libspecio-perl=0.49-1
--2025-01-12 13:28:33--  http://deb.debian.org/debian/pool/main/libs/libspecio-perl/libspecio-perl_0.49-1.dsc
Connecting to 46.16.76.132:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 2788 (2.7K) [text/prs.lines.tag]
Saving to: ‘libspecio-perl_0.49-1.dsc’

     0K ..                                                    100%  266M=0s

2025-01-12 13:28:33 (266 MB/s) - ‘libspecio-perl_0.49-1.dsc’ saved [2788/2788]

Sun Jan 12 13:28:33 UTC 2025  I: libspecio-perl_0.49-1.dsc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 3.0 (quilt)
Source: libspecio-perl
Binary: libspecio-perl
Architecture: all
Version: 0.49-1
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: Nick Morrott <nickm@debian.org>
Homepage: https://metacpan.org/release/Specio
Standards-Version: 4.7.0
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libspecio-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libspecio-perl.git
Testsuite: autopkgtest-pkg-perl
Build-Depends: debhelper-compat (= 13)
Build-Depends-Indep: libclone-perl <!nocheck>, libdevel-stacktrace-perl <!nocheck>, libeval-closure-perl <!nocheck>, libmodule-runtime-perl <!nocheck>, libmoo-perl <!nocheck>, libmoose-perl <!nocheck>, libmouse-perl <!nocheck>, libmro-compat-perl <!nocheck>, libnamespace-autoclean-perl <!nocheck>, libref-util-perl <!nocheck>, librole-tiny-perl <!nocheck>, libsub-quote-perl <!nocheck>, libtest-fatal-perl <!nocheck>, libtest-needs-perl <!nocheck>, libtry-tiny-perl <!nocheck>, libxstring-perl <!nocheck>, perl
Package-List:
 libspecio-perl deb perl optional arch=all
Checksums-Sha1:
 60342a8b1cfa7cb49ae2463992ff60901ecf1819 108356 libspecio-perl_0.49.orig.tar.gz
 9e147d33ed6ae3ae7ac7f49b028e364e0af1bf6c 5948 libspecio-perl_0.49-1.debian.tar.xz
Checksums-Sha256:
 e85766262b3738efc8dcbeb039b0d632d0aa393a55a33c36df5b21b4d44dc7af 108356 libspecio-perl_0.49.orig.tar.gz
 1023db0e772590dc2a38aa480ffa4c3830ac6b8020bfd6062562b5004f7c0aed 5948 libspecio-perl_0.49-1.debian.tar.xz
Files:
 c72e8e60faed34d3458be02b8d5a15d3 108356 libspecio-perl_0.49.orig.tar.gz
 61b2a68d0fe9b509b7047b540cf5799f 5948 libspecio-perl_0.49-1.debian.tar.xz
Dgit: dc92086acc10a8c98f709c86456f75348353ef00 debian archive/debian/0.49-1 https://git.dgit.debian.org/libspecio-perl

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmeDF3tfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgY//xAAhTlBopE/nUixCsv0BW2QO2vQEbAHjIxWJt9A+GBIu4Xa2dw/DlWJv1AG
IFZ9EESKu63THPnWCIrZBei5dJGcKa/zJV7zBQvaN8KxIq5yjCYmSS1j6MUASfFm
1BVcDCYjlMQwEvmWEHDY08NHaHLD9GGPlAOL8gM8O8brs0YXwaRMSXxXdcMGZalK
ytLqcPvMln4Iung84U2tDeh71ArisiuXITc+IXITWQ5SrVqc8UjWf8gZ6M3hchHE
cKlgrpATMqSdIzNCPMUdzEgHO2dsytJ4XJdGwSa4Pem2zLTNiR3u61Z4z7Lqj+cd
vrEDvCTk0ByqwSzRMtDMT+V5QbzLVFqf0WB2gWWMoYdYrJFiOl1/Z/p9v+zkYPnG
+wBxQBkG3IQd+V8Y+P//XQxsj0b08aK2IhWeJ93nGSlXrIEMuiemGb/FyBkgH+1y
NLiXUXY8sp6zycPUjfI4fygZZPBxutUWmg9qajXw/GpeRZnk8DO+XMWsJz0RzKut
rqcr32502s8SUV5K+lNxnYLxz5CcARaYMwj4nkpjVLNMCScBSITfzPeyJk9yjIQq
oJxMJkOECBpLitWJ/eEVExXceKY0dt7XuwGlvIahntbPLs2XGDGifSR9Dvz5T9GN
NksjqoHsm2HeorwkKY7M66VncKabTq9zyy7+SLP7oXqvdoK1ajM=
=2aVQ
-----END PGP SIGNATURE-----
Sun Jan 12 13:28:33 UTC 2025  I: Checking whether the package is not for us
Sun Jan 12 13:28:33 UTC 2025  I: Starting 1st build on remote node codethink03-arm64.debian.net.
Sun Jan 12 13:28:33 UTC 2025  I: Preparing to do remote build '1' on codethink03-arm64.debian.net.
Sun Jan 12 13:29:29 UTC 2025  I: Deleting $TMPDIR on codethink03-arm64.debian.net.
I: pbuilder: network access will be disabled during build
I: Current time: Sat Feb 14 07:51:36 -12 2026
I: pbuilder-time-stamp: 1771098696
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: Copying source file
I: copying [libspecio-perl_0.49-1.dsc]
I: copying [./libspecio-perl_0.49.orig.tar.gz]
I: copying [./libspecio-perl_0.49-1.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./libspecio-perl_0.49-1.dsc: unsupported subcommand
dpkg-source: info: extracting libspecio-perl in libspecio-perl-0.49
dpkg-source: info: unpacking libspecio-perl_0.49.orig.tar.gz
dpkg-source: info: unpacking libspecio-perl_0.49-1.debian.tar.xz
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/2824933/tmp/hooks/D02_print_environment starting
I: set
  BUILDDIR='/build/reproducible-path'
  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
  BUILDUSERNAME='pbuilder1'
  BUILD_ARCH='arm64'
  DEBIAN_FRONTEND='noninteractive'
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
  DISTRIBUTION='unstable'
  HOME='/root'
  HOST_ARCH='arm64'
  IFS=' 	
  '
  INVOCATION_ID='984ca5ff8c48483897121052797b2e05'
  LANG='C'
  LANGUAGE='en_US:en'
  LC_ALL='C'
  MAIL='/var/mail/root'
  OPTIND='1'
  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
  PBCURRENTCOMMANDLINEOPERATION='build'
  PBUILDER_OPERATION='build'
  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
  PBUILDER_SYSCONFDIR='/etc'
  PPID='2824933'
  PS1='# '
  PS2='> '
  PS4='+ '
  PWD='/'
  SHELL='/bin/bash'
  SHLVL='2'
  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/pbuilderrc_WnPi --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/b1 --logfile b1/build.log libspecio-perl_0.49-1.dsc'
  SUDO_GID='109'
  SUDO_UID='104'
  SUDO_USER='jenkins'
  TERM='unknown'
  TZ='/usr/share/zoneinfo/Etc/GMT+12'
  USER='root'
  _='/usr/bin/systemd-run'
  http_proxy='http://192.168.101.4:3128'
I: uname -a
  Linux codethink03-arm64 6.1.0-29-cloud-arm64 #1 SMP Debian 6.1.123-1 (2025-01-02) aarch64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/2824933/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: arm64
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper-compat (= 13), libclone-perl, libdevel-stacktrace-perl, libeval-closure-perl, libmodule-runtime-perl, libmoo-perl, libmoose-perl, libmouse-perl, libmro-compat-perl, libnamespace-autoclean-perl, libref-util-perl, librole-tiny-perl, libsub-quote-perl, libtest-fatal-perl, libtest-needs-perl, libtry-tiny-perl, libxstring-perl, perl
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19963 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however:
  Package debhelper-compat is not installed.
 pbuilder-satisfydepends-dummy depends on libclone-perl; however:
  Package libclone-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libdevel-stacktrace-perl; however:
  Package libdevel-stacktrace-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libeval-closure-perl; however:
  Package libeval-closure-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmodule-runtime-perl; however:
  Package libmodule-runtime-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmoo-perl; however:
  Package libmoo-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmoose-perl; however:
  Package libmoose-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmouse-perl; however:
  Package libmouse-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmro-compat-perl; however:
  Package libmro-compat-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libnamespace-autoclean-perl; however:
  Package libnamespace-autoclean-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libref-util-perl; however:
  Package libref-util-perl is not installed.
 pbuilder-satisfydepends-dummy depends on librole-tiny-perl; however:
  Package librole-tiny-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libsub-quote-perl; however:
  Package libsub-quote-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-fatal-perl; however:
  Package libtest-fatal-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-needs-perl; however:
  Package libtest-needs-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtry-tiny-perl; however:
  Package libtry-tiny-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libxstring-perl; however:
  Package libxstring-perl is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libalgorithm-c3-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libclass-c3-perl{a} libclass-load-perl{a} libclass-load-xs-perl{a} libclass-method-modifiers-perl{a} libclass-xsaccessor-perl{a} libclone-perl{a} libdata-optlist-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdevel-globaldestruction-perl{a} libdevel-overloadinfo-perl{a} libdevel-stacktrace-perl{a} libdist-checkconflicts-perl{a} libdynaloader-functions-perl{a} libelf1t64{a} libeval-closure-perl{a} libfile-stripnondeterminism-perl{a} libicu72{a} libimport-into-perl{a} libmagic-mgc{a} libmagic1t64{a} libmodule-implementation-perl{a} libmodule-runtime-conflicts-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoose-perl{a} libmouse-perl{a} libmro-compat-perl{a} libnamespace-autoclean-perl{a} libnamespace-clean-perl{a} libpackage-deprecationmanager-perl{a} libpackage-stash-perl{a} libpackage-stash-xs-perl{a} libparams-classify-perl{a} libparams-util-perl{a} libpipeline1{a} libref-util-perl{a} librole-tiny-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libtest-fatal-perl{a} libtest-needs-perl{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libunistring5{a} libvariable-magic-perl{a} libxml2{a} libxstring-perl{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} 
The following packages are RECOMMENDED but will NOT be installed:
  curl libarchive-cpio-perl libclass-c3-xs-perl libdevel-lexalias-perl libdevel-partialdump-perl libltdl-dev libmail-sendmail-perl libreadonly-perl libref-util-xs-perl lynx wget 
0 packages upgraded, 75 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.6 MB of archives. After unpacking 85.6 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB]
Get: 2 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB]
Get: 3 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB]
Get: 4 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB]
Get: 5 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.22.5-4 [198 kB]
Get: 6 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB]
Get: 7 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB]
Get: 8 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.3-1 [91.5 kB]
Get: 9 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB]
Get: 10 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB]
Get: 11 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB]
Get: 12 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB]
Get: 13 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB]
Get: 14 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.16.5-1.3 [823 kB]
Get: 15 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.22.5-4 [723 kB]
Get: 16 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.23 [90.6 kB]
Get: 17 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-2 [539 kB]
Get: 18 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB]
Get: 19 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 20 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB]
Get: 21 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B]
Get: 22 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB]
Get: 23 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB]
Get: 24 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB]
Get: 25 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB]
Get: 26 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB]
Get: 27 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.22.5-4 [1532 kB]
Get: 28 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 29 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 30 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.23 [919 kB]
Get: 31 http://deb.debian.org/debian unstable/main arm64 libalgorithm-c3-perl all 0.11-2 [10.8 kB]
Get: 32 http://deb.debian.org/debian unstable/main arm64 libb-hooks-op-check-perl arm64 0.22-3+b2 [10.6 kB]
Get: 33 http://deb.debian.org/debian unstable/main arm64 libdynaloader-functions-perl all 0.004-1 [12.1 kB]
Get: 34 http://deb.debian.org/debian unstable/main arm64 libdevel-callchecker-perl arm64 0.009-1+b1 [16.3 kB]
Get: 35 http://deb.debian.org/debian unstable/main arm64 libparams-classify-perl arm64 0.015-2+b4 [22.3 kB]
Get: 36 http://deb.debian.org/debian unstable/main arm64 libmodule-runtime-perl all 0.016-2 [19.6 kB]
Get: 37 http://deb.debian.org/debian unstable/main arm64 libtry-tiny-perl all 0.32-1 [22.9 kB]
Get: 38 http://deb.debian.org/debian unstable/main arm64 libmodule-implementation-perl all 0.09-2 [12.6 kB]
Get: 39 http://deb.debian.org/debian unstable/main arm64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B]
Get: 40 http://deb.debian.org/debian unstable/main arm64 libvariable-magic-perl arm64 0.64-1+b1 [43.9 kB]
Get: 41 http://deb.debian.org/debian unstable/main arm64 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB]
Get: 42 http://deb.debian.org/debian unstable/main arm64 libclass-c3-perl all 0.35-2 [21.0 kB]
Get: 43 http://deb.debian.org/debian unstable/main arm64 libparams-util-perl arm64 1.102-3+b1 [23.7 kB]
Get: 44 http://deb.debian.org/debian unstable/main arm64 libsub-install-perl all 0.929-1 [10.5 kB]
Get: 45 http://deb.debian.org/debian unstable/main arm64 libdata-optlist-perl all 0.114-1 [10.6 kB]
Get: 46 http://deb.debian.org/debian unstable/main arm64 libpackage-stash-perl all 0.40-1 [22.0 kB]
Get: 47 http://deb.debian.org/debian unstable/main arm64 libclass-load-perl all 0.25-2 [15.3 kB]
Get: 48 http://deb.debian.org/debian unstable/main arm64 libclass-load-xs-perl arm64 0.10-2+b4 [14.3 kB]
Get: 49 http://deb.debian.org/debian unstable/main arm64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB]
Get: 50 http://deb.debian.org/debian unstable/main arm64 libclass-xsaccessor-perl arm64 1.19-4+b4 [34.9 kB]
Get: 51 http://deb.debian.org/debian unstable/main arm64 libclone-perl arm64 0.47-1+b1 [13.7 kB]
Get: 52 http://deb.debian.org/debian unstable/main arm64 libdevel-globaldestruction-perl all 0.14-4 [7144 B]
Get: 53 http://deb.debian.org/debian unstable/main arm64 libmro-compat-perl all 0.15-2 [11.8 kB]
Get: 54 http://deb.debian.org/debian unstable/main arm64 libdevel-overloadinfo-perl all 0.007-1 [7896 B]
Get: 55 http://deb.debian.org/debian unstable/main arm64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB]
Get: 56 http://deb.debian.org/debian unstable/main arm64 libdist-checkconflicts-perl all 0.11-2 [10.5 kB]
Get: 57 http://deb.debian.org/debian unstable/main arm64 libsub-exporter-perl all 0.990-1 [50.6 kB]
Get: 58 http://deb.debian.org/debian unstable/main arm64 libeval-closure-perl all 0.14-3 [11.2 kB]
Get: 59 http://deb.debian.org/debian unstable/main arm64 libimport-into-perl all 1.002005-2 [11.3 kB]
Get: 60 http://deb.debian.org/debian unstable/main arm64 libmodule-runtime-conflicts-perl all 0.003-2 [7356 B]
Get: 61 http://deb.debian.org/debian unstable/main arm64 librole-tiny-perl all 2.002004-1 [21.4 kB]
Get: 62 http://deb.debian.org/debian unstable/main arm64 libsub-quote-perl all 2.006008-1 [21.8 kB]
Get: 63 http://deb.debian.org/debian unstable/main arm64 libmoo-perl all 2.005005-1 [58.0 kB]
Get: 64 http://deb.debian.org/debian unstable/main arm64 libpackage-deprecationmanager-perl all 0.18-1 [17.6 kB]
Get: 65 http://deb.debian.org/debian unstable/main arm64 libpackage-stash-xs-perl arm64 0.30-1+b4 [19.0 kB]
Get: 66 http://deb.debian.org/debian unstable/main arm64 libmoose-perl arm64 2.2207-1+b3 [765 kB]
Get: 67 http://deb.debian.org/debian unstable/main arm64 libmouse-perl arm64 2.5.11-1+b1 [141 kB]
Get: 68 http://deb.debian.org/debian unstable/main arm64 libsub-identify-perl arm64 0.14-3+b3 [11.2 kB]
Get: 69 http://deb.debian.org/debian unstable/main arm64 libsub-name-perl arm64 0.28-1 [12.1 kB]
Get: 70 http://deb.debian.org/debian unstable/main arm64 libnamespace-clean-perl all 0.27-2 [17.8 kB]
Get: 71 http://deb.debian.org/debian unstable/main arm64 libnamespace-autoclean-perl all 0.31-1 [13.8 kB]
Get: 72 http://deb.debian.org/debian unstable/main arm64 libref-util-perl all 0.204-2 [17.4 kB]
Get: 73 http://deb.debian.org/debian unstable/main arm64 libtest-fatal-perl all 0.017-1 [13.2 kB]
Get: 74 http://deb.debian.org/debian unstable/main arm64 libtest-needs-perl all 0.002010-1 [9352 B]
Get: 75 http://deb.debian.org/debian unstable/main arm64 libxstring-perl arm64 0.005-2+b4 [8104 B]
Fetched 21.6 MB in 0s (88.0 MB/s)
Preconfiguring packages ...
Selecting previously unselected package sensible-utils.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19963 files and directories currently installed.)
Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:arm64.
Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_arm64.deb ...
Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../03-file_1%3a5.45-3+b1_arm64.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../04-gettext-base_0.22.5-4_arm64.deb ...
Unpacking gettext-base (0.22.5-4) ...
Selecting previously unselected package libuchardet0:arm64.
Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_arm64.deb ...
Unpacking libuchardet0:arm64 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../06-groff-base_1.23.0-7_arm64.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../07-bsdextrautils_2.40.3-1_arm64.deb ...
Unpacking bsdextrautils (2.40.3-1) ...
Selecting previously unselected package libpipeline1:arm64.
Preparing to unpack .../08-libpipeline1_1.5.8-1_arm64.deb ...
Unpacking libpipeline1:arm64 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../09-man-db_2.13.0-1_arm64.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.19-5_arm64.deb ...
Unpacking m4 (1.4.19-5) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../11-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../14-autopoint_0.22.5-4_all.deb ...
Unpacking autopoint (0.22.5-4) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../15-libdebhelper-perl_13.23_all.deb ...
Unpacking libdebhelper-perl (13.23) ...
Selecting previously unselected package libtool.
Preparing to unpack .../16-libtool_2.5.4-2_all.deb ...
Unpacking libtool (2.5.4-2) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../17-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.0-1) ...
Selecting previously unselected package libelf1t64:arm64.
Preparing to unpack .../21-libelf1t64_0.192-4_arm64.deb ...
Unpacking libelf1t64:arm64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../22-dwz_0.15-1+b1_arm64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libunistring5:arm64.
Preparing to unpack .../23-libunistring5_1.3-1_arm64.deb ...
Unpacking libunistring5:arm64 (1.3-1) ...
Selecting previously unselected package libicu72:arm64.
Preparing to unpack .../24-libicu72_72.1-6_arm64.deb ...
Unpacking libicu72:arm64 (72.1-6) ...
Selecting previously unselected package libxml2:arm64.
Preparing to unpack .../25-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ...
Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../26-gettext_0.22.5-4_arm64.deb ...
Unpacking gettext (0.22.5-4) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../29-debhelper_13.23_all.deb ...
Unpacking debhelper (13.23) ...
Selecting previously unselected package libalgorithm-c3-perl.
Preparing to unpack .../30-libalgorithm-c3-perl_0.11-2_all.deb ...
Unpacking libalgorithm-c3-perl (0.11-2) ...
Selecting previously unselected package libb-hooks-op-check-perl:arm64.
Preparing to unpack .../31-libb-hooks-op-check-perl_0.22-3+b2_arm64.deb ...
Unpacking libb-hooks-op-check-perl:arm64 (0.22-3+b2) ...
Selecting previously unselected package libdynaloader-functions-perl.
Preparing to unpack .../32-libdynaloader-functions-perl_0.004-1_all.deb ...
Unpacking libdynaloader-functions-perl (0.004-1) ...
Selecting previously unselected package libdevel-callchecker-perl:arm64.
Preparing to unpack .../33-libdevel-callchecker-perl_0.009-1+b1_arm64.deb ...
Unpacking libdevel-callchecker-perl:arm64 (0.009-1+b1) ...
Selecting previously unselected package libparams-classify-perl:arm64.
Preparing to unpack .../34-libparams-classify-perl_0.015-2+b4_arm64.deb ...
Unpacking libparams-classify-perl:arm64 (0.015-2+b4) ...
Selecting previously unselected package libmodule-runtime-perl.
Preparing to unpack .../35-libmodule-runtime-perl_0.016-2_all.deb ...
Unpacking libmodule-runtime-perl (0.016-2) ...
Selecting previously unselected package libtry-tiny-perl.
Preparing to unpack .../36-libtry-tiny-perl_0.32-1_all.deb ...
Unpacking libtry-tiny-perl (0.32-1) ...
Selecting previously unselected package libmodule-implementation-perl.
Preparing to unpack .../37-libmodule-implementation-perl_0.09-2_all.deb ...
Unpacking libmodule-implementation-perl (0.09-2) ...
Selecting previously unselected package libsub-exporter-progressive-perl.
Preparing to unpack .../38-libsub-exporter-progressive-perl_0.001013-3_all.deb ...
Unpacking libsub-exporter-progressive-perl (0.001013-3) ...
Selecting previously unselected package libvariable-magic-perl.
Preparing to unpack .../39-libvariable-magic-perl_0.64-1+b1_arm64.deb ...
Unpacking libvariable-magic-perl (0.64-1+b1) ...
Selecting previously unselected package libb-hooks-endofscope-perl.
Preparing to unpack .../40-libb-hooks-endofscope-perl_0.28-1_all.deb ...
Unpacking libb-hooks-endofscope-perl (0.28-1) ...
Selecting previously unselected package libclass-c3-perl.
Preparing to unpack .../41-libclass-c3-perl_0.35-2_all.deb ...
Unpacking libclass-c3-perl (0.35-2) ...
Selecting previously unselected package libparams-util-perl.
Preparing to unpack .../42-libparams-util-perl_1.102-3+b1_arm64.deb ...
Unpacking libparams-util-perl (1.102-3+b1) ...
Selecting previously unselected package libsub-install-perl.
Preparing to unpack .../43-libsub-install-perl_0.929-1_all.deb ...
Unpacking libsub-install-perl (0.929-1) ...
Selecting previously unselected package libdata-optlist-perl.
Preparing to unpack .../44-libdata-optlist-perl_0.114-1_all.deb ...
Unpacking libdata-optlist-perl (0.114-1) ...
Selecting previously unselected package libpackage-stash-perl.
Preparing to unpack .../45-libpackage-stash-perl_0.40-1_all.deb ...
Unpacking libpackage-stash-perl (0.40-1) ...
Selecting previously unselected package libclass-load-perl.
Preparing to unpack .../46-libclass-load-perl_0.25-2_all.deb ...
Unpacking libclass-load-perl (0.25-2) ...
Selecting previously unselected package libclass-load-xs-perl.
Preparing to unpack .../47-libclass-load-xs-perl_0.10-2+b4_arm64.deb ...
Unpacking libclass-load-xs-perl (0.10-2+b4) ...
Selecting previously unselected package libclass-method-modifiers-perl.
Preparing to unpack .../48-libclass-method-modifiers-perl_2.15-1_all.deb ...
Unpacking libclass-method-modifiers-perl (2.15-1) ...
Selecting previously unselected package libclass-xsaccessor-perl.
Preparing to unpack .../49-libclass-xsaccessor-perl_1.19-4+b4_arm64.deb ...
Unpacking libclass-xsaccessor-perl (1.19-4+b4) ...
Selecting previously unselected package libclone-perl:arm64.
Preparing to unpack .../50-libclone-perl_0.47-1+b1_arm64.deb ...
Unpacking libclone-perl:arm64 (0.47-1+b1) ...
Selecting previously unselected package libdevel-globaldestruction-perl.
Preparing to unpack .../51-libdevel-globaldestruction-perl_0.14-4_all.deb ...
Unpacking libdevel-globaldestruction-perl (0.14-4) ...
Selecting previously unselected package libmro-compat-perl.
Preparing to unpack .../52-libmro-compat-perl_0.15-2_all.deb ...
Unpacking libmro-compat-perl (0.15-2) ...
Selecting previously unselected package libdevel-overloadinfo-perl.
Preparing to unpack .../53-libdevel-overloadinfo-perl_0.007-1_all.deb ...
Unpacking libdevel-overloadinfo-perl (0.007-1) ...
Selecting previously unselected package libdevel-stacktrace-perl.
Preparing to unpack .../54-libdevel-stacktrace-perl_2.0500-1_all.deb ...
Unpacking libdevel-stacktrace-perl (2.0500-1) ...
Selecting previously unselected package libdist-checkconflicts-perl.
Preparing to unpack .../55-libdist-checkconflicts-perl_0.11-2_all.deb ...
Unpacking libdist-checkconflicts-perl (0.11-2) ...
Selecting previously unselected package libsub-exporter-perl.
Preparing to unpack .../56-libsub-exporter-perl_0.990-1_all.deb ...
Unpacking libsub-exporter-perl (0.990-1) ...
Selecting previously unselected package libeval-closure-perl.
Preparing to unpack .../57-libeval-closure-perl_0.14-3_all.deb ...
Unpacking libeval-closure-perl (0.14-3) ...
Selecting previously unselected package libimport-into-perl.
Preparing to unpack .../58-libimport-into-perl_1.002005-2_all.deb ...
Unpacking libimport-into-perl (1.002005-2) ...
Selecting previously unselected package libmodule-runtime-conflicts-perl.
Preparing to unpack .../59-libmodule-runtime-conflicts-perl_0.003-2_all.deb ...
Unpacking libmodule-runtime-conflicts-perl (0.003-2) ...
Selecting previously unselected package librole-tiny-perl.
Preparing to unpack .../60-librole-tiny-perl_2.002004-1_all.deb ...
Unpacking librole-tiny-perl (2.002004-1) ...
Selecting previously unselected package libsub-quote-perl.
Preparing to unpack .../61-libsub-quote-perl_2.006008-1_all.deb ...
Unpacking libsub-quote-perl (2.006008-1) ...
Selecting previously unselected package libmoo-perl.
Preparing to unpack .../62-libmoo-perl_2.005005-1_all.deb ...
Unpacking libmoo-perl (2.005005-1) ...
Selecting previously unselected package libpackage-deprecationmanager-perl.
Preparing to unpack .../63-libpackage-deprecationmanager-perl_0.18-1_all.deb ...
Unpacking libpackage-deprecationmanager-perl (0.18-1) ...
Selecting previously unselected package libpackage-stash-xs-perl:arm64.
Preparing to unpack .../64-libpackage-stash-xs-perl_0.30-1+b4_arm64.deb ...
Unpacking libpackage-stash-xs-perl:arm64 (0.30-1+b4) ...
Selecting previously unselected package libmoose-perl:arm64.
Preparing to unpack .../65-libmoose-perl_2.2207-1+b3_arm64.deb ...
Unpacking libmoose-perl:arm64 (2.2207-1+b3) ...
Selecting previously unselected package libmouse-perl:arm64.
Preparing to unpack .../66-libmouse-perl_2.5.11-1+b1_arm64.deb ...
Unpacking libmouse-perl:arm64 (2.5.11-1+b1) ...
Selecting previously unselected package libsub-identify-perl.
Preparing to unpack .../67-libsub-identify-perl_0.14-3+b3_arm64.deb ...
Unpacking libsub-identify-perl (0.14-3+b3) ...
Selecting previously unselected package libsub-name-perl:arm64.
Preparing to unpack .../68-libsub-name-perl_0.28-1_arm64.deb ...
Unpacking libsub-name-perl:arm64 (0.28-1) ...
Selecting previously unselected package libnamespace-clean-perl.
Preparing to unpack .../69-libnamespace-clean-perl_0.27-2_all.deb ...
Unpacking libnamespace-clean-perl (0.27-2) ...
Selecting previously unselected package libnamespace-autoclean-perl.
Preparing to unpack .../70-libnamespace-autoclean-perl_0.31-1_all.deb ...
Unpacking libnamespace-autoclean-perl (0.31-1) ...
Selecting previously unselected package libref-util-perl.
Preparing to unpack .../71-libref-util-perl_0.204-2_all.deb ...
Unpacking libref-util-perl (0.204-2) ...
Selecting previously unselected package libtest-fatal-perl.
Preparing to unpack .../72-libtest-fatal-perl_0.017-1_all.deb ...
Unpacking libtest-fatal-perl (0.017-1) ...
Selecting previously unselected package libtest-needs-perl.
Preparing to unpack .../73-libtest-needs-perl_0.002010-1_all.deb ...
Unpacking libtest-needs-perl (0.002010-1) ...
Selecting previously unselected package libxstring-perl:arm64.
Preparing to unpack .../74-libxstring-perl_0.005-2+b4_arm64.deb ...
Unpacking libxstring-perl:arm64 (0.005-2+b4) ...
Setting up libpipeline1:arm64 (1.5.8-1) ...
Setting up libicu72:arm64 (72.1-6) ...
Setting up libmouse-perl:arm64 (2.5.11-1+b1) ...
Setting up bsdextrautils (2.40.3-1) ...
Setting up libdynaloader-functions-perl (0.004-1) ...
Setting up libclass-method-modifiers-perl (2.15-1) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up libclone-perl:arm64 (0.47-1+b1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libsub-identify-perl (0.14-3+b3) ...
Setting up libdebhelper-perl (13.23) ...
Setting up libmagic1t64:arm64 (1:5.45-3+b1) ...
Setting up libtry-tiny-perl (0.32-1) ...
Setting up libtest-fatal-perl (0.017-1) ...
Setting up gettext-base (0.22.5-4) ...
Setting up m4 (1.4.19-5) ...
Setting up file (1:5.45-3+b1) ...
Setting up libxstring-perl:arm64 (0.005-2+b4) ...
Setting up libsub-install-perl (0.929-1) ...
Setting up libelf1t64:arm64 (0.192-4) ...
Setting up libtest-needs-perl (0.002010-1) ...
Setting up libpackage-stash-xs-perl:arm64 (0.30-1+b4) ...
Setting up autotools-dev (20220109.1) ...
Setting up libalgorithm-c3-perl (0.11-2) ...
Setting up libref-util-perl (0.204-2) ...
Setting up libunistring5:arm64 (1.3-1) ...
Setting up libvariable-magic-perl (0.64-1+b1) ...
Setting up autopoint (0.22.5-4) ...
Setting up libb-hooks-op-check-perl:arm64 (0.22-3+b2) ...
Setting up libparams-util-perl (1.102-3+b1) ...
Setting up autoconf (2.72-3) ...
Setting up libsub-exporter-progressive-perl (0.001013-3) ...
Setting up libsub-name-perl:arm64 (0.28-1) ...
Setting up dwz (0.15-1+b1) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:arm64 (0.0.8-1+b2) ...
Setting up librole-tiny-perl (2.002004-1) ...
Setting up libdevel-globaldestruction-perl (0.14-4) ...
Setting up libsub-quote-perl (2.006008-1) ...
Setting up libdevel-stacktrace-perl (2.0500-1) ...
Setting up libclass-xsaccessor-perl (1.19-4+b4) ...
Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.14.0-1) ...
Setting up gettext (0.22.5-4) ...
Setting up libtool (2.5.4-2) ...
Setting up libclass-c3-perl (0.35-2) ...
Setting up libdevel-callchecker-perl:arm64 (0.009-1+b1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up libdata-optlist-perl (0.114-1) ...
Setting up dh-strip-nondeterminism (1.14.0-1) ...
Setting up groff-base (1.23.0-7) ...
Setting up libmro-compat-perl (0.15-2) ...
Setting up libsub-exporter-perl (0.990-1) ...
Setting up libeval-closure-perl (0.14-3) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libparams-classify-perl:arm64 (0.015-2+b4) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libmodule-runtime-perl (0.016-2) ...
Setting up libdist-checkconflicts-perl (0.11-2) ...
Setting up libmodule-implementation-perl (0.09-2) ...
Setting up libpackage-stash-perl (0.40-1) ...
Setting up libimport-into-perl (1.002005-2) ...
Setting up libmoo-perl (2.005005-1) ...
Setting up debhelper (13.23) ...
Setting up libmodule-runtime-conflicts-perl (0.003-2) ...
Setting up libclass-load-perl (0.25-2) ...
Setting up libpackage-deprecationmanager-perl (0.18-1) ...
Setting up libdevel-overloadinfo-perl (0.007-1) ...
Setting up libclass-load-xs-perl (0.10-2+b4) ...
Setting up libb-hooks-endofscope-perl (0.28-1) ...
Setting up libmoose-perl:arm64 (2.2207-1+b3) ...
Setting up libnamespace-clean-perl (0.27-2) ...
Setting up libnamespace-autoclean-perl (0.31-1) ...
Processing triggers for libc-bin (2.40-5) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
I: Building the package
I: Running cd /build/reproducible-path/libspecio-perl-0.49/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../libspecio-perl_0.49-1_source.changes
dpkg-buildpackage: info: source package libspecio-perl
dpkg-buildpackage: info: source version 0.49-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by gregor herrmann <gregoa@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
	/usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libspecio-perl-0.49=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2" "LD=aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libspecio-perl-0.49=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wl,-z,relro"
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Specio
Writing MYMETA.yml and MYMETA.json
   dh_auto_build
	make -j12
make[1]: Entering directory '/build/reproducible-path/libspecio-perl-0.49'
cp lib/Specio/Library/Structured.pm blib/lib/Specio/Library/Structured.pm
cp lib/Specio/Library/String.pm blib/lib/Specio/Library/String.pm
cp lib/Specio/Coercion.pm blib/lib/Specio/Coercion.pm
cp lib/Specio/Declare.pm blib/lib/Specio/Declare.pm
cp lib/Specio/DeclaredAt.pm blib/lib/Specio/DeclaredAt.pm
cp lib/Specio/Constraint/Union.pm blib/lib/Specio/Constraint/Union.pm
cp lib/Specio/Constraint/ObjectIsa.pm blib/lib/Specio/Constraint/ObjectIsa.pm
cp lib/Specio/Constraint/AnyDoes.pm blib/lib/Specio/Constraint/AnyDoes.pm
cp lib/Specio/Constraint/AnyIsa.pm blib/lib/Specio/Constraint/AnyIsa.pm
cp lib/Specio/Library/Structured/Tuple.pm blib/lib/Specio/Library/Structured/Tuple.pm
cp lib/Specio/Constraint/Simple.pm blib/lib/Specio/Constraint/Simple.pm
cp lib/Specio/Constraint/Parameterized.pm blib/lib/Specio/Constraint/Parameterized.pm
cp lib/Specio/Constraint/AnyCan.pm blib/lib/Specio/Constraint/AnyCan.pm
cp lib/Specio/Helpers.pm blib/lib/Specio/Helpers.pm
cp lib/Specio/OO.pm blib/lib/Specio/OO.pm
cp lib/Specio/Constraint/Enum.pm blib/lib/Specio/Constraint/Enum.pm
cp lib/Specio/Constraint/Intersection.pm blib/lib/Specio/Constraint/Intersection.pm
cp lib/Specio/Constraint/Structured.pm blib/lib/Specio/Constraint/Structured.pm
cp lib/Specio/Constraint/Parameterizable.pm blib/lib/Specio/Constraint/Parameterizable.pm
cp lib/Specio/PartialDump.pm blib/lib/Specio/PartialDump.pm
cp lib/Specio/Library/Numeric.pm blib/lib/Specio/Library/Numeric.pm
cp lib/Specio/Constraint/Role/DoesType.pm blib/lib/Specio/Constraint/Role/DoesType.pm
cp lib/Specio/Library/Structured/Dict.pm blib/lib/Specio/Library/Structured/Dict.pm
cp lib/Specio/Constraint/ObjectCan.pm blib/lib/Specio/Constraint/ObjectCan.pm
cp lib/Specio/Library/Perl.pm blib/lib/Specio/Library/Perl.pm
cp lib/Specio/Library/Structured/Map.pm blib/lib/Specio/Library/Structured/Map.pm
cp lib/Specio/Constraint/Role/Interface.pm blib/lib/Specio/Constraint/Role/Interface.pm
cp lib/Specio.pm blib/lib/Specio.pm
cp lib/Specio/Constraint/Role/IsaType.pm blib/lib/Specio/Constraint/Role/IsaType.pm
cp lib/Specio/Exception.pm blib/lib/Specio/Exception.pm
cp lib/Specio/Registry.pm blib/lib/Specio/Registry.pm
cp lib/Specio/Constraint/Structurable.pm blib/lib/Specio/Constraint/Structurable.pm
cp lib/Specio/Constraint/Role/CanType.pm blib/lib/Specio/Constraint/Role/CanType.pm
cp lib/Specio/Constraint/ObjectDoes.pm blib/lib/Specio/Constraint/ObjectDoes.pm
cp lib/Specio/Library/Builtins.pm blib/lib/Specio/Library/Builtins.pm
cp lib/Specio/Exporter.pm blib/lib/Specio/Exporter.pm
cp lib/Specio/Role/Inlinable.pm blib/lib/Specio/Role/Inlinable.pm
cp lib/Specio/TypeChecks.pm blib/lib/Specio/TypeChecks.pm
cp lib/Specio/Subs.pm blib/lib/Specio/Subs.pm
cp lib/Test/Specio.pm blib/lib/Test/Specio.pm
Manifying 31 pod documents
Manifying 9 pod documents
make[1]: Leaving directory '/build/reproducible-path/libspecio-perl-0.49'
   dh_auto_test
	make -j12 test TEST_VERBOSE=1
make[1]: Entering directory '/build/reproducible-path/libspecio-perl-0.49'
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
# 
# 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
#     ------------------- ---- --------
#     ExtUtils::MakeMaker  any     7.70
#     File::Spec           any     3.90
#     FindBin              any     1.54
#     Test::More          0.96 1.302199
#     Test::Needs          any 0.002010
#     lib                  any     0.65
#     open                 any     1.13
#     utf8                 any     1.25
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
# 
# === Runtime Requires ===
# 
#     Module                Want     Have
#     ----------------- -------- --------
#     B                      any     1.89
#     Carp                   any     1.54
#     Clone                  any     0.47
#     Devel::StackTrace      any     2.05
#     Eval::Closure          any     0.14
#     Exporter               any     5.78
#     IO::File               any     1.55
#     List::Util            1.33     1.63
#     MRO::Compat            any     0.15
#     Module::Runtime        any    0.016
#     Role::Tiny        1.003003 2.002004
#     Role::Tiny::With       any 2.002004
#     Scalar::Util           any     1.63
#     Sub::Quote             any 2.006008
#     Test::Fatal            any    0.017
#     Test::More            0.96 1.302199
#     Try::Tiny              any     0.32
#     XString                any    0.005
#     overload               any     1.37
#     parent                 any    0.241
#     perl                 5.008 5.040000
#     re                     any     0.47
#     strict                 any     1.13
#     version               0.83   0.9930
#     warnings               any     1.70
# 
# === Runtime Recommends ===
# 
#     Module     Want  Have
#     --------- ----- -----
#     Ref::Util 0.112 0.204
#     Sub::Util  1.40  1.63
# 
t/00-report-prereqs.t ...... 
1..1
ok 1 - Reported prereqs
ok
t/additional-exports.t ..... 
ok 1 - FooType type was exported by Foo package
ok 2 - built-in types were exported by Foo package
ok 3 - foo sub was exported by Foo package
ok 4 - Bar->foo returns expected value
1..4
ok
t/anon.t ................... 
ok 1 - 'return value from anon' isa 'Specio::Constraint::Simple'
ok 2 - anon type allows "x"
ok 3 - anon type reject empty string
ok 4 - 'return value from anon' isa 'Specio::Constraint::Simple'
ok 5 - inlinable anon type allows "x"
ok 6 - inlinable anon type reject empty string
1..6
ok
t/any-does-isa.t ........... 
# Subtest: object_can_type
    ok 1 - exception for undef
    ok 2 - exception for empty string
    ok 3 - exception for non-empty string
    ok 4 - exception for number
    ok 5 - exception for arrayref
    ok 6 - exception for object without wanted methods
    1..6
ok 1 - object_can_type
# Subtest: any_can_type
    ok 1 - exception for undef
    ok 2 - exception for empty string
    ok 3 - exception for non-empty string
    ok 4 - exception for arrayref
    ok 5 - exception for non-empty string
    1..5
ok 2 - any_can_type
# Subtest: object_isa_type
    ok 1 - exception for undef
    ok 2 - exception for empty string
    ok 3 - exception for non-empty string
    ok 4 - exception for number
    ok 5 - exception for arrayref
    ok 6 - exception for object of the wrong class
    1..6
ok 3 - object_isa_type
# Subtest: any_isa_type
    ok 1 - exception for undef
    ok 2 - exception for empty string
    ok 3 - exception for plain scalar
    ok 4 - exception for arrayref
    ok 5 - exception for object of the wrong class
    1..5
ok 4 - any_isa_type
# Subtest: object_does_type
    ok 1 - exception for undef
    ok 2 - exception for empty string
    ok 3 - exception for non-empty string
    ok 4 - exception for number
    ok 5 - exception for arrayref
    ok 6 - exception for object that does not consume the wanted role
    1..6
ok 5 - object_does_type
# Subtest: any_does_type
    ok 1 - exception for undef
    ok 2 - exception for empty string
    ok 3 - exception for plain scalar
    ok 4 - exception for arrayref
    ok 5 - exception for object that does not consume the wanted role
    1..5
ok 6 - any_does_type
1..6
ok
t/builtins-sanity.t ........ 
# Subtest: ArrayRef
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts ARRAY reference
    # Subtest: accepts _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::ArrayOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ScalarOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 1 - ArrayRef
# Subtest: Bool
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::BoolOverload object (true)
    # Subtest: accepts _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::BoolOverload object (false)
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts ''
    # Subtest: accepts undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts undef
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects FakeObject object
    1..41
ok 2 - Bool
# Subtest: ClassName
    # Subtest: accepts "_T::Thing"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "_T::Thing"
    # Subtest: accepts _T::StrOverload object ("_T::StrOverload")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::StrOverload object ("_T::StrOverload")
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects undef
    1..43
ok 3 - ClassName
# Subtest: CodeRef
    # Subtest: accepts CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts CODE reference
    # Subtest: accepts _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::CodeOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::HashOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 4 - CodeRef
# Subtest: Defined
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::BoolOverload object (true)
    # Subtest: accepts _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::BoolOverload object (false)
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts -42.42
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::NumOverload object (-42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 20 - accepts "\n1"
    # Subtest: accepts SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 21 - accepts SCALAR reference
    # Subtest: accepts REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 22 - accepts REF reference
    # Subtest: accepts _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 23 - accepts _T::ScalarOverload object
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 24 - accepts ARRAY reference
    # Subtest: accepts _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 25 - accepts _T::ArrayOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 26 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 27 - accepts _T::HashOverload object
    # Subtest: accepts CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 28 - accepts CODE reference
    # Subtest: accepts _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 29 - accepts _T::CodeOverload object
    # Subtest: accepts "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 30 - accepts "*main::SOME_GLOB"
    # Subtest: accepts GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 31 - accepts GLOB reference
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 32 - accepts _T::GlobOverload object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 33 - accepts _T::GlobOverload object
    # Subtest: accepts open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 34 - accepts open filehandle
    # Subtest: accepts IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 35 - accepts IO::File object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 36 - accepts Regexp object
    # Subtest: accepts BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 37 - accepts BlessedQR object
    # Subtest: accepts _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 38 - accepts _T::RegexOverload object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 39 - accepts Regexp object
    # Subtest: accepts FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 40 - accepts FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 5 - Defined
# Subtest: FileHandle
    # Subtest: accepts open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts open filehandle
    # Subtest: accepts IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts IO::File object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::GlobOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::GlobOverload object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects FakeObject object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 6 - FileHandle
# Subtest: GlobRef
    # Subtest: accepts GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts GLOB reference
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::GlobOverload object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::GlobOverload object
    # Subtest: accepts open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts open filehandle
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects "*main::SOME_GLOB"
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects FakeObject object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 7 - GlobRef
# Subtest: HashRef
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::HashOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 8 - HashRef
# Subtest: Int
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts _T::NumOverload object (-42)
    # Subtest: accepts 1e20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts 1e20
    # Subtest: accepts 1e100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts 1e100
    # Subtest: accepts -1e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts -1e10
    # Subtest: accepts -1e+10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts -1e+10
    # Subtest: accepts 1E20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts 1E20
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects undef
    # Subtest: rejects 1e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects 1e-10
    # Subtest: rejects -1e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects -1e-10
    # Subtest: rejects 1.23456e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 49 - rejects 1.23456e10
    # Subtest: rejects 1.23456e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 50 - rejects 1.23456e-10
    # Subtest: rejects -1.23456e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 51 - rejects -1.23456e10
    # Subtest: rejects -1.23456e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 52 - rejects -1.23456e-10
    # Subtest: rejects -1.23456e+10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 53 - rejects -1.23456e+10
    1..53
ok 9 - Int
# Subtest: Item
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::BoolOverload object (true)
    # Subtest: accepts _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::BoolOverload object (false)
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts -42.42
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::NumOverload object (-42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 20 - accepts "\n1"
    # Subtest: accepts SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 21 - accepts SCALAR reference
    # Subtest: accepts REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 22 - accepts REF reference
    # Subtest: accepts _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 23 - accepts _T::ScalarOverload object
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 24 - accepts ARRAY reference
    # Subtest: accepts _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 25 - accepts _T::ArrayOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 26 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 27 - accepts _T::HashOverload object
    # Subtest: accepts CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 28 - accepts CODE reference
    # Subtest: accepts _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 29 - accepts _T::CodeOverload object
    # Subtest: accepts "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 30 - accepts "*main::SOME_GLOB"
    # Subtest: accepts GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 31 - accepts GLOB reference
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 32 - accepts _T::GlobOverload object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 33 - accepts _T::GlobOverload object
    # Subtest: accepts open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 34 - accepts open filehandle
    # Subtest: accepts IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 35 - accepts IO::File object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 36 - accepts Regexp object
    # Subtest: accepts BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 37 - accepts BlessedQR object
    # Subtest: accepts _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 38 - accepts _T::RegexOverload object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 39 - accepts Regexp object
    # Subtest: accepts FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 40 - accepts FakeObject object
    # Subtest: accepts undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 41 - accepts undef
    1..41
ok 10 - Item
# Subtest: Maybe
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::BoolOverload object (true)
    # Subtest: accepts _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::BoolOverload object (false)
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts -42.42
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::NumOverload object (-42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 20 - accepts "\n1"
    # Subtest: accepts SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 21 - accepts SCALAR reference
    # Subtest: accepts REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 22 - accepts REF reference
    # Subtest: accepts _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 23 - accepts _T::ScalarOverload object
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 24 - accepts ARRAY reference
    # Subtest: accepts _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 25 - accepts _T::ArrayOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 26 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 27 - accepts _T::HashOverload object
    # Subtest: accepts CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 28 - accepts CODE reference
    # Subtest: accepts _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 29 - accepts _T::CodeOverload object
    # Subtest: accepts "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 30 - accepts "*main::SOME_GLOB"
    # Subtest: accepts GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 31 - accepts GLOB reference
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 32 - accepts _T::GlobOverload object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 33 - accepts _T::GlobOverload object
    # Subtest: accepts open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 34 - accepts open filehandle
    # Subtest: accepts IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 35 - accepts IO::File object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 36 - accepts Regexp object
    # Subtest: accepts BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 37 - accepts BlessedQR object
    # Subtest: accepts _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 38 - accepts _T::RegexOverload object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 39 - accepts Regexp object
    # Subtest: accepts FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 40 - accepts FakeObject object
    # Subtest: accepts undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 41 - accepts undef
    1..41
ok 11 - Maybe
# Subtest: Num
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -42.42
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::NumOverload object (-42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts 1e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts 1e10
    # Subtest: accepts 1e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts 1e-10
    # Subtest: accepts 1.23456e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts 1.23456e10
    # Subtest: accepts 1.23456e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts 1.23456e-10
    # Subtest: accepts 1e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts 1e10
    # Subtest: accepts 1e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts 1e-10
    # Subtest: accepts 1.23456e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts 1.23456e10
    # Subtest: accepts 1.23456e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts 1.23456e-10
    # Subtest: accepts -1e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 20 - accepts -1e10
    # Subtest: accepts -1e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 21 - accepts -1e-10
    # Subtest: accepts -1.23456e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 22 - accepts -1.23456e10
    # Subtest: accepts -1.23456e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 23 - accepts -1.23456e-10
    # Subtest: accepts -1e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 24 - accepts -1e10
    # Subtest: accepts -1e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 25 - accepts -1e-10
    # Subtest: accepts -1.23456e10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 26 - accepts -1.23456e10
    # Subtest: accepts -1.23456e-10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 27 - accepts -1.23456e-10
    # Subtest: accepts -1e+10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 28 - accepts -1e+10
    # Subtest: accepts 1E10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 29 - accepts 1E10
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::BoolOverload object (false)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::StrOverload object ("full")
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 49 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 50 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 51 - rejects IO::File object
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 52 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 53 - rejects "\n1"
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 54 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 55 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 56 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 57 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 58 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 59 - rejects undef
    1..59
ok 12 - Num
# Subtest: Object
    # Subtest: accepts _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts _T::BoolOverload object (true)
    # Subtest: accepts _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::BoolOverload object (false)
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::StrOverload object ("full")
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts _T::NumOverload object (-42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::CodeOverload object
    # Subtest: accepts IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts IO::File object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts Regexp object
    # Subtest: accepts BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts BlessedQR object
    # Subtest: accepts _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts _T::RegexOverload object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts Regexp object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts _T::GlobOverload object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts _T::GlobOverload object
    # Subtest: accepts _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts _T::ScalarOverload object
    # Subtest: accepts _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts _T::ArrayOverload object
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 20 - accepts _T::HashOverload object
    # Subtest: accepts FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 21 - accepts FakeObject object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects 1
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects -42.42
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "has 42 in it"
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects REF reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects ARRAY reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects HASH reference
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects CODE reference
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects GLOB reference
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects open filehandle
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 13 - Object
# Subtest: Ref
    # Subtest: accepts _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts _T::BoolOverload object (true)
    # Subtest: accepts _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::BoolOverload object (false)
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::StrOverload object ("full")
    # Subtest: accepts _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts _T::NumOverload object (0)
    # Subtest: accepts _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts _T::NumOverload object (1)
    # Subtest: accepts _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts _T::NumOverload object (-42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::NumOverload object (42.42)
    # Subtest: accepts SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts SCALAR reference
    # Subtest: accepts REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts REF reference
    # Subtest: accepts _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts _T::ScalarOverload object
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts ARRAY reference
    # Subtest: accepts _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts _T::ArrayOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts _T::HashOverload object
    # Subtest: accepts CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts CODE reference
    # Subtest: accepts _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts _T::CodeOverload object
    # Subtest: accepts GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts GLOB reference
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 20 - accepts _T::GlobOverload object
    # Subtest: accepts _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 21 - accepts _T::GlobOverload object
    # Subtest: accepts open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 22 - accepts open filehandle
    # Subtest: accepts IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 23 - accepts IO::File object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 24 - accepts Regexp object
    # Subtest: accepts BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 25 - accepts BlessedQR object
    # Subtest: accepts _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 26 - accepts _T::RegexOverload object
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 27 - accepts Regexp object
    # Subtest: accepts FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 28 - accepts FakeObject object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects 1
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects -42.42
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects "has 42 in it"
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects "\n1"
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects "*main::SOME_GLOB"
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 14 - Ref
# Subtest: RegexpRef
    # Subtest: accepts Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts Regexp object
    # Subtest: accepts BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts BlessedQR object
    # Subtest: accepts _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::RegexOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects IO::File object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects undef
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects Regexp object
    1..41
ok 15 - RegexpRef
# Subtest: ScalarRef
    # Subtest: accepts SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts SCALAR reference
    # Subtest: accepts REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts REF reference
    # Subtest: accepts _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts _T::ScalarOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "\n1"
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 16 - ScalarRef
# Subtest: Str
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -42.42
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts "\n1"
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::BoolOverload object (false)
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 17 - Str
# Subtest: Undef
    # Subtest: accepts undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts undef
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 2 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects FakeObject object
    1..41
ok 18 - Undef
# Subtest: Value
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -42.42
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "has 42 in it"
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts "\n1"
    # Subtest: accepts "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "*main::SOME_GLOB"
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (false)
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::StrOverload object ("full")
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::CodeOverload object
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects undef
    1..41
ok 19 - Value
# Subtest: Maybe[Value]
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -42.42
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "has 42 in it"
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts "\n1"
    # Subtest: accepts "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "*main::SOME_GLOB"
    # Subtest: accepts undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts undef
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::BoolOverload object (false)
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::StrOverload object ("full")
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::CodeOverload object
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects FakeObject object
    1..41
ok 20 - Maybe[Value]
# Subtest: ScalarRef[Value]
    # Subtest: accepts scalar ref to 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts scalar ref to 0
    # Subtest: accepts scalar ref to 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts scalar ref to 1
    # Subtest: accepts scalar ref to 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts scalar ref to 100
    # Subtest: accepts scalar ref to -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts scalar ref to -100
    # Subtest: accepts scalar ref to 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts scalar ref to 42.42
    # Subtest: accepts scalar ref to -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts scalar ref to -42.42
    # Subtest: accepts scalar ref to ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts scalar ref to ''
    # Subtest: accepts scalar ref to "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts scalar ref to "foo"
    # Subtest: accepts scalar ref to "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts scalar ref to "has 42 in it"
    # Subtest: accepts scalar ref to "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts scalar ref to "1\n"
    # Subtest: accepts scalar ref to "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts scalar ref to "\n1"
    # Subtest: rejects scalar ref to _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects scalar ref to _T::BoolOverload object (true)
    # Subtest: rejects scalar ref to _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects scalar ref to _T::BoolOverload object (false)
    # Subtest: rejects scalar ref to _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects scalar ref to _T::StrOverload object ('')
    # Subtest: rejects scalar ref to _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects scalar ref to _T::StrOverload object ("full")
    # Subtest: rejects scalar ref to _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects scalar ref to _T::NumOverload object (0)
    # Subtest: rejects scalar ref to _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects scalar ref to _T::NumOverload object (1)
    # Subtest: rejects scalar ref to _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects scalar ref to _T::NumOverload object (-42)
    # Subtest: rejects scalar ref to _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects scalar ref to _T::NumOverload object (42.42)
    # Subtest: rejects scalar ref to _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects scalar ref to _T::NumOverload object (42.42)
    # Subtest: rejects scalar ref to SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects scalar ref to SCALAR reference
    # Subtest: rejects scalar ref to REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects scalar ref to REF reference
    # Subtest: rejects scalar ref to _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects scalar ref to _T::ScalarOverload object
    # Subtest: rejects scalar ref to ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects scalar ref to ARRAY reference
    # Subtest: rejects scalar ref to _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects scalar ref to _T::ArrayOverload object
    # Subtest: rejects scalar ref to HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects scalar ref to HASH reference
    # Subtest: rejects scalar ref to _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects scalar ref to _T::HashOverload object
    # Subtest: rejects scalar ref to CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects scalar ref to CODE reference
    # Subtest: rejects scalar ref to _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects scalar ref to _T::CodeOverload object
    # Subtest: rejects scalar ref to "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects scalar ref to "*main::SOME_GLOB"
    # Subtest: rejects scalar ref to GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects scalar ref to GLOB reference
    # Subtest: rejects scalar ref to _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects scalar ref to _T::GlobOverload object
    # Subtest: rejects scalar ref to _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects scalar ref to _T::GlobOverload object
    # Subtest: rejects scalar ref to open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects scalar ref to open filehandle
    # Subtest: rejects scalar ref to IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects scalar ref to IO::File object
    # Subtest: rejects scalar ref to Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects scalar ref to Regexp object
    # Subtest: rejects scalar ref to BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects scalar ref to BlessedQR object
    # Subtest: rejects scalar ref to _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects scalar ref to _T::RegexOverload object
    # Subtest: rejects scalar ref to Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects scalar ref to Regexp object
    # Subtest: rejects scalar ref to FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects scalar ref to FakeObject object
    # Subtest: rejects scalar ref to undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects scalar ref to undef
    1..41
ok 21 - ScalarRef[Value]
# Subtest: ScalarRef[Value]
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 1 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 2 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "\n1"
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects undef
    1..38
ok 22 - ScalarRef[Value]
# Subtest: ArrayRef[Value]
    # Subtest: accepts array ref to undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts array ref to undef
    # Subtest: accepts array ref to 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts array ref to 0
    # Subtest: accepts array ref to 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts array ref to 1
    # Subtest: accepts array ref to 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts array ref to 100
    # Subtest: accepts array ref to -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts array ref to -100
    # Subtest: accepts array ref to 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts array ref to 42.42
    # Subtest: accepts array ref to -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts array ref to -42.42
    # Subtest: accepts array ref to ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts array ref to ''
    # Subtest: accepts array ref to "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts array ref to "foo"
    # Subtest: accepts array ref to "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts array ref to "has 42 in it"
    # Subtest: accepts array ref to "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts array ref to "1\n"
    # Subtest: accepts array ref to "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts array ref to "\n1"
    # Subtest: accepts array ref to "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts array ref to "*main::SOME_GLOB"
    # Subtest: rejects array ref to _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects array ref to _T::BoolOverload object (true)
    # Subtest: rejects array ref to _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects array ref to _T::BoolOverload object (false)
    # Subtest: rejects array ref to _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects array ref to _T::StrOverload object ('')
    # Subtest: rejects array ref to _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects array ref to _T::StrOverload object ("full")
    # Subtest: rejects array ref to _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects array ref to _T::NumOverload object (0)
    # Subtest: rejects array ref to _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects array ref to _T::NumOverload object (1)
    # Subtest: rejects array ref to _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects array ref to _T::NumOverload object (-42)
    # Subtest: rejects array ref to _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects array ref to _T::NumOverload object (42.42)
    # Subtest: rejects array ref to _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects array ref to _T::NumOverload object (42.42)
    # Subtest: rejects array ref to SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects array ref to SCALAR reference
    # Subtest: rejects array ref to REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects array ref to REF reference
    # Subtest: rejects array ref to _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects array ref to _T::ScalarOverload object
    # Subtest: rejects array ref to ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects array ref to ARRAY reference
    # Subtest: rejects array ref to _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects array ref to _T::ArrayOverload object
    # Subtest: rejects array ref to HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects array ref to HASH reference
    # Subtest: rejects array ref to _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects array ref to _T::HashOverload object
    # Subtest: rejects array ref to CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects array ref to CODE reference
    # Subtest: rejects array ref to _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects array ref to _T::CodeOverload object
    # Subtest: rejects array ref to GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects array ref to GLOB reference
    # Subtest: rejects array ref to _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects array ref to _T::GlobOverload object
    # Subtest: rejects array ref to _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects array ref to _T::GlobOverload object
    # Subtest: rejects array ref to open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects array ref to open filehandle
    # Subtest: rejects array ref to IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects array ref to IO::File object
    # Subtest: rejects array ref to Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects array ref to Regexp object
    # Subtest: rejects array ref to BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects array ref to BlessedQR object
    # Subtest: rejects array ref to _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects array ref to _T::RegexOverload object
    # Subtest: rejects array ref to Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects array ref to Regexp object
    # Subtest: rejects array ref to FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects array ref to FakeObject object
    # Subtest: rejects array ref to undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects array ref to undef
    1..42
ok 23 - ArrayRef[Value]
# Subtest: ArrayRef[Value]
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 1 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 2 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::ScalarOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects undef
    1..39
ok 24 - ArrayRef[Value]
# Subtest: HashRef[Value]
    # Subtest: accepts hash ref to undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts hash ref to undef
    # Subtest: accepts hash ref to 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts hash ref to 0
    # Subtest: accepts hash ref to 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts hash ref to 1
    # Subtest: accepts hash ref to 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts hash ref to 100
    # Subtest: accepts hash ref to -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts hash ref to -100
    # Subtest: accepts hash ref to 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts hash ref to 42.42
    # Subtest: accepts hash ref to -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts hash ref to -42.42
    # Subtest: accepts hash ref to ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts hash ref to ''
    # Subtest: accepts hash ref to "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts hash ref to "foo"
    # Subtest: accepts hash ref to "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts hash ref to "has 42 in it"
    # Subtest: accepts hash ref to "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts hash ref to "1\n"
    # Subtest: accepts hash ref to "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts hash ref to "\n1"
    # Subtest: accepts hash ref to "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts hash ref to "*main::SOME_GLOB"
    # Subtest: rejects hash ref to _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects hash ref to _T::BoolOverload object (true)
    # Subtest: rejects hash ref to _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects hash ref to _T::BoolOverload object (false)
    # Subtest: rejects hash ref to _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects hash ref to _T::StrOverload object ('')
    # Subtest: rejects hash ref to _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects hash ref to _T::StrOverload object ("full")
    # Subtest: rejects hash ref to _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects hash ref to _T::NumOverload object (0)
    # Subtest: rejects hash ref to _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects hash ref to _T::NumOverload object (1)
    # Subtest: rejects hash ref to _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects hash ref to _T::NumOverload object (-42)
    # Subtest: rejects hash ref to _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects hash ref to _T::NumOverload object (42.42)
    # Subtest: rejects hash ref to _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects hash ref to _T::NumOverload object (42.42)
    # Subtest: rejects hash ref to SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects hash ref to SCALAR reference
    # Subtest: rejects hash ref to REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects hash ref to REF reference
    # Subtest: rejects hash ref to _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects hash ref to _T::ScalarOverload object
    # Subtest: rejects hash ref to ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects hash ref to ARRAY reference
    # Subtest: rejects hash ref to _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects hash ref to _T::ArrayOverload object
    # Subtest: rejects hash ref to HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects hash ref to HASH reference
    # Subtest: rejects hash ref to _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects hash ref to _T::HashOverload object
    # Subtest: rejects hash ref to CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects hash ref to CODE reference
    # Subtest: rejects hash ref to _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects hash ref to _T::CodeOverload object
    # Subtest: rejects hash ref to GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects hash ref to GLOB reference
    # Subtest: rejects hash ref to _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects hash ref to _T::GlobOverload object
    # Subtest: rejects hash ref to _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects hash ref to _T::GlobOverload object
    # Subtest: rejects hash ref to open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects hash ref to open filehandle
    # Subtest: rejects hash ref to IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects hash ref to IO::File object
    # Subtest: rejects hash ref to Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects hash ref to Regexp object
    # Subtest: rejects hash ref to BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects hash ref to BlessedQR object
    # Subtest: rejects hash ref to _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects hash ref to _T::RegexOverload object
    # Subtest: rejects hash ref to Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects hash ref to Regexp object
    # Subtest: rejects hash ref to FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects hash ref to FakeObject object
    # Subtest: rejects hash ref to undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects hash ref to undef
    1..42
ok 25 - HashRef[Value]
# Subtest: HashRef[Value]
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 1 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 2 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects undef
    1..39
ok 26 - HashRef[Value]
ok 27 - Str accepts return val from substr using ->value_is_valid
ok 28 - Str accepts return val from substr using unoptimized constraint
ok 29 - Str accepts return val from substr using inlined constraint
ok 30 - Str accepts empty return val from substr using ->value_is_valid
ok 31 - Str accepts empty return val from substr using unoptimized constraint
ok 32 - Str accepts empty return val from substr using inlined constraint
ok 33 - Num accepts return val from substr using ->value_is_valid
ok 34 - Num accepts return val from substr using unoptimized constraint
ok 35 - Num accepts return val from substr using inlined constraint
ok 36 - Int accepts return val from substr using ->value_is_valid
ok 37 - Int accepts return val from substr using unoptimized constraint
ok 38 - Int accepts return val from substr using inlined constraint
ok 39 - ClassName accepts return val from substr using ->value_is_valid
ok 40 - ClassName accepts return val from substr using unoptimized constraint
ok 41 - ClassName accepts return val from substr using inlined constraint
1..41
ok
t/builtins.t ............... 
ok 1 - An object of class 'Specio::Constraint::Simple' isa 'Specio::Constraint::Simple'
ok 2 - declared_at has the right filename
ok 3 - "" is a valid Str value
ok 4 - "foo" is a valid Str value
ok 5 - "bar::baz" is a valid Str value
ok 6 - "㑖" is a valid Str value
ok 7 - 0 is a valid Str value
ok 8 - 42 is a valid Str value
ok 9 - undef is not a valid Str value
ok 10 - \42 is not a valid Str value
ok 11 - \"foo" is not a valid Str value
ok 12 - [  ] is not a valid Str value
ok 13 - {  } is not a valid Str value
ok 14 - CODE(0xaaab0b70b970) is not a valid Str value
ok 15 - "*main::glob" is not a valid Str value
ok 16 - GLOB(0xaaab0b70b9b8) is not a valid Str value
ok 17 - parent of Str is Value
ok 18 - Str is_a_type_of(Str)
ok 19 - Str is_a_type_of(Value)
ok 20 - Str clone is_a_type_of(Value)
ok 21 - Str is_a_type_of(Defined)
ok 22 - Str clone is_a_type_of(Defined)
ok 23 - Str is_a_type_of(Item)
ok 24 - Str clone is_a_type_of(Item)
ok 25 - Str ! is_a_type_of(Maybe)
ok 26 - Str clone ! is_a_type_of(Maybe)
ok 27 - Str ! is_a_type_of(ArrayRef)
ok 28 - Str clone ! is_a_type_of(ArrayRef)
ok 29 - Str ! is_a_type_of(Object)
ok 30 - Str clone ! is_a_type_of(Object)
ok 31 - Str is_same_type_as Str
ok 32 - Str is_same_type_as Str
ok 33 - child of builtin with no additional constraint can be inlined
1..33
ok
t/coercion.t ............... 
ok 1 - ArrayRef type object does not have coercions
ok 2 - ArrayRef type in Specio::Library::Builtins package does not have coercions
ok 3 - can clone constraint with coercions without an exception
# Subtest: ArrayRef
    ok 1 - ArrayRef type object has coercions
    ok 2 - ArrayRef type in Specio::Library::Builtins package does not have coercions (coercions only apply to local copy of type)
    ok 3 - has a coercion for the Int type
    ok 4 - does not have a coercion for the Str type
    ok 5 - coerced int to arrayref
    ok 6 - cannot coerce num to arrayref - returns original value
    ok 7 - cannot inline coercion and check for arrayref
    1..7
ok 4 - ArrayRef
# Subtest: clone of Arrayref
    ok 1 - ArrayRef type object has coercions
    ok 2 - ArrayRef type in Specio::Library::Builtins package does not have coercions (coercions only apply to local copy of type)
    ok 3 - has a coercion for the Int type
    ok 4 - does not have a coercion for the Str type
    ok 5 - coerced int to arrayref
    ok 6 - cannot coerce num to arrayref - returns original value
    ok 7 - cannot inline coercion and check for arrayref
    1..7
ok 5 - clone of Arrayref
ok 6 - can inline coercion for hashref
ok 7 - can inline coercion and check for hashref
ok 8 - can inline coercion and check for hashref with two coercions
ok 9 - can inline coercion for hashref
# Subtest: inline_coercion_and_check
    ok 1 - no error evaling closure for coercion and check
    ok 2 - hashref is passed through coerce and check unchanged
    ok 3 - arrayref is coerced to hashref
    ok 4 - integer is coerced to hashref
    ok 5 - string throws exception
    1..5
ok 10 - inline_coercion_and_check
# Subtest: inline_coercion
    ok 1 - no error evaling closure for coercion and check
    ok 2 - hashref is passed through coerce and check unchanged
    ok 3 - arrayref is coerced to hashref
    ok 4 - integer is coerced to hashref
    1..4
ok 11 - inline_coercion
ok 12 - arrayref is coerced to hashref
ok 13 - integer is coerced to hashref
ok 14 - cannot coerce num to arrayref - returns original value
ok 15 - a coercion must have a coercion sub or an inline generator
ok 16 - inlined coercion only fires one coercion
1..16
ok
t/combines.t ............... 
ok 1 - type named X is available
ok 2 - no exception retrieving X type - exported by combining library
ok 3 - type named Y is available
ok 4 - no exception retrieving Y type - exported by combining library
ok 5 - type named Str is available
ok 6 - no exception retrieving Str type - exported by combining library
ok 7 - type named Undef is available
ok 8 - no exception retrieving Undef type - exported by combining library
1..8
ok
t/conflicts.t .............. 
ok 1 - Got an exception when a library import conflicts with already declared types
1..1
ok
t/declare-helpers.t ........ 
ok 1 - constraint has the expected name
# Subtest: Need2Obj
    # Subtest: accepts Baz object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts Baz object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 2 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects undef
    1..42
ok 2 - Need2Obj
# Subtest: any_can_type which needs 2 methods
    ok 1 - constraint has the expected name
    # Subtest: Need2Any
        # Subtest: accepts "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts "Baz"
        # Subtest: accepts Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects undef
        1..43
    ok 2 - Need2Any
    1..2
ok 3 - any_can_type which needs 2 methods
# Subtest: any_can_type which needs 3 methods
    # Subtest: Need3Obj
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 1 - rejects "Baz"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects undef
        1..43
    ok 1 - Need3Obj
    1..1
ok 4 - any_can_type which needs 3 methods
# Subtest: object_can_type which needs 2 methods
    # Subtest: <anon>
        # Subtest: accepts Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts Baz object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects "Baz"
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects undef
        1..43
    ok 1 - <anon>
    1..1
ok 5 - object_can_type which needs 2 methods
# Subtest: object_can_type which needs 3 methods
    # Subtest: <anon>
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 1 - rejects "Baz"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects undef
        1..43
    ok 1 - <anon>
    ok 2 - Baz object is not valid for anon ObjectCan type
    1..2
ok 6 - object_can_type which needs 3 methods
# Subtest: object_isa_type (Foo class)
    ok 1 - name defaults to class name
    # Subtest: Foo
        # Subtest: accepts Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts Foo object
        # Subtest: accepts Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts Baz object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects "Baz"
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects undef
        1..44
    ok 2 - Foo
    ok 3 - object_isa_type returns the same type for the same class each time
    ok 4 - no exception calling object_isa_type repeatedly with the same class name
    1..4
ok 7 - object_isa_type (Foo class)
# Subtest: any_isa_type (isa Foo)
    ok 1 - can provide an explicit name
    # Subtest: FooAny
        # Subtest: accepts "Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts "Foo"
        # Subtest: accepts Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts Foo object
        # Subtest: accepts "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 3 - accepts "Baz"
        # Subtest: accepts Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 4 - accepts Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects undef
        1..45
    ok 2 - FooAny
    ok 3 - any_isa_type returns the same type for the same class each time
    ok 4 - no exception calling any_isa_type repeatedly with the same class name
    1..4
ok 8 - any_isa_type (isa Foo)
# Subtest: object_isa_type (isa Quux)
    # Subtest: Quux
        # Subtest: rejects "Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 1 - rejects "Foo"
        # Subtest: rejects Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects Foo object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects "Baz"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects undef
        1..45
    ok 1 - Quux
    1..1
ok 9 - object_isa_type (isa Quux)
# Subtest: any_isa_type (isa Quux)
    # Subtest: QuuxAny
        # Subtest: rejects "Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 1 - rejects "Foo"
        # Subtest: rejects Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects Foo object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects "Baz"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects undef
        1..45
    ok 1 - QuuxAny
    1..1
ok 10 - any_isa_type (isa Quux)
# Subtest: object_does_type (Role::Foo class)
    ok 1 - name defaults to role name
    # Subtest: Role::Foo
        # Subtest: accepts Does::Role::Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts Does::Role::Foo object
        # Subtest: rejects "Does::Role::Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects "Does::Role::Foo"
        # Subtest: rejects Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects Foo object
        # Subtest: rejects "Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects "Foo"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects Baz object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects "Baz"
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects undef
        1..47
    ok 2 - Role::Foo
    ok 3 - object_does_type returns the same type for the same class each time
    ok 4 - no exception calling object_does_type repeatedly with the same class name
    1..4
ok 11 - object_does_type (Role::Foo class)
# Subtest: any_does_type (does Role::Foo)
    # Subtest: Role::FooAny
        # Subtest: accepts "Does::Role::Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts "Does::Role::Foo"
        # Subtest: accepts Does::Role::Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts Does::Role::Foo object
        # Subtest: rejects "Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects "Foo"
        # Subtest: rejects Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects Foo object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects "Baz"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects undef
        1..47
    ok 1 - Role::FooAny
    ok 2 - any_does_type returns the same type for the same class each time
    ok 3 - no exception calling any_does_type repeatedly with the same class name
    1..3
ok 12 - any_does_type (does Role::Foo)
# Subtest: enum
    # Subtest: Enum1
        # Subtest: accepts "a"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts "a"
        # Subtest: accepts "b"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts "b"
        # Subtest: accepts "c"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 3 - accepts "c"
        # Subtest: rejects "d"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects "d"
        # Subtest: rejects 42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects 42
        # Subtest: rejects "Foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects "Foo"
        # Subtest: rejects Foo object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects Foo object
        # Subtest: rejects "Baz"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects "Baz"
        # Subtest: rejects Baz object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects Baz object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects 1
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects -100
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::NumOverload object (-42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects _T::ScalarOverload object
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::ArrayOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 48 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 49 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 50 - rejects undef
        1..50
    ok 1 - Enum1
    1..1
ok 13 - enum
1..13
ok
t/dict.t ................... 
# Subtest: Dict{ bar => Int, foo => UCStr }
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::HashOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects HASH reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects undef
    1..46
ok 1 - Dict{ bar => Int, foo => UCStr }
# Subtest: Dict{ bar => Int, baz => Num?, foo => UCStr }
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::HashOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::HashOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects HASH reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 49 - rejects undef
    1..49
ok 2 - Dict{ bar => Int, baz => Num?, foo => UCStr }
# Subtest: Dict{ bar => Int, baz => Num?, foo => UCStr, HashRef... }
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::HashOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::HashOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects HASH reference
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects HASH reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 49 - rejects undef
    1..49
ok 3 - Dict{ bar => Int, baz => Num?, foo => UCStr, HashRef... }
ok 4 - got expected name for simple Dict
ok 5 - got expected name for Dict with optional key
ok 6 - got expected name for slurpy Dict with optional key
ok 7 - No exception thrown when importing a Map type
1..7
ok
t/does-type.t .............. 
ok 1 - Class::MooseStyle class name is valid for AnyDoesMoose
ok 2 - Class::MooseStyle object is valid for AnyDoesMoose
ok 3 - Class::DoesNoRoles class name is not valid for AnyDoesMoose
ok 4 - Class::DoesNoRoles object is not valid for AnyDoesMoose
ok 5 - Class::MooseStyle class name is not valid for ObjectDoesMoose
ok 6 - Class::MooseStyle object is valid for ObjectDoesMoose
ok 7 - Class::DoesNoRoles class name is not valid for ObjectDoesMoose
ok 8 - Class::DoesNoRoles object is not valid for ObjectDoesMoose
ok 9 - object_does_type returns the same type for the same role each time
ok 10 - no exception calling object_does_type repeatedly with the same role name
ok 11 - any_does_type returns the same type for the same role each time
ok 12 - no exception calling any_does_type repeatedly with the same role name
ok 13 - Class::MouseStyle class name is valid for AnyDoesMouse
ok 14 - Class::MouseStyle object is valid for AnyDoesMouse
ok 15 - Class::DoesNoRoles class name is not valid for AnyDoesMouse
ok 16 - Class::DoesNoRoles object is not valid for AnyDoesMouse
ok 17 - Class::MouseStyle class name is not valid for ObjectDoesMouse
ok 18 - Class::MouseStyle object is valid for ObjectDoesMouse
ok 19 - Class::DoesNoRoles class name is not valid for ObjectDoesMouse
ok 20 - Class::DoesNoRoles object is not valid for ObjectDoesMouse
ok 21 - Class::MooStyle class name is valid for AnyDoesMoo
ok 22 - Class::MooStyle object is valid for AnyDoesMoo
ok 23 - Class::DoesNoRoles class name is not valid for AnyDoesMoo
ok 24 - Class::DoesNoRoles object is not valid for AnyDoesMoo
ok 25 - Class::MooStyle class name is not valid for ObjectDoesMoo
ok 26 - Class::MooStyle object is valid for ObjectDoesMoo
ok 27 - Class::DoesNoRoles class name is not valid for ObjectDoesMoo
ok 28 - Class::DoesNoRoles object is not valid for ObjectDoesMoo
1..28
ok
t/exception.t .............. 
ok 1 - validate_or_die throws something when given a bad value
ok 2 - An object of class 'Specio::Exception' isa 'Specio::Exception'
ok 3 - exception contains expected error
ok 4 - exception contains expected error
1..4
ok
t/import-twice.t ........... 
ok 1 - no exception importing the same library twice
ok 2 - An object of class 'Specio::Constraint::Simple' isa 'Specio::Constraint::Simple'
1..2
ok
t/inheritance.t ............ 
ok 1 - Child class has a t() sub
1..1
ok
t/inline-environment.t ..... 
ok 1 - inline_coercion_and_check merges all inline environment hashes together - $scalar
ok 2 - inline_coercion_and_check merges all inline environment hashes together - $scalar_from
ok 3 - inline_coercion_and_check merges all inline environment hashes together - %hash
ok 4 - inline_coercion_and_check merges all inline environment hashes together - @array
1..4
ok
t/inline.t ................. 
ok 1 - no exception evaling a closure for str and int inlining in one sub
ok 2 - both types pass check and are returned
ok 3 - got exception passing arrayref for Str value
ok 4 - got exception passing arrayref for Int value
ok 5 - no exception evaling a closure for inlining two enums in one sub
ok 6 - both types pass check and are returned
ok 7 - got exception passing arrayref for Enum1 value
ok 8 - got exception passing arrayref for Enum2 value
ok 9 - building an inline sub for an empty subtype of an any_isa_type does not die
ok 10 - generated constraint rejects values as expected
ok 11 - generated constraint accepts values as expected
ok 12 - building inline code for an empty subtype of an any_isa_type does not die
ok 13 - generated code contains expected check
1..13
ok
t/intersection.t ........... 
# Subtest: unnamed intersection made of two builtins
    ok 1 - intersection of two types with inline generator has a generator
    ok 2 - name is generated from constituent types
    ok 3 - unnamed intersection is not anonymous because name is generated
    ok 4 - parent method returns undef
    ok 5 - intersection has no parent
    # Subtest: HashRef & ArrayRef
        # Subtest: accepts HashArray object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts HashArray object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects 1
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects -100
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects _T::NumOverload object (-42)
        # Subtest: rejects 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 1e20
        # Subtest: rejects 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects 1e100
        # Subtest: rejects -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects -1e10
        # Subtest: rejects -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -1e+10
        # Subtest: rejects 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects 1E20
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 48 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 49 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 50 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 51 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 52 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 53 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 54 - rejects -1.23456e+10
        1..54
    ok 6 - HashRef & ArrayRef
    1..6
ok 1 - unnamed intersection made of two builtins
# Subtest: explicitly named intersection made of two builtins
    ok 1 - name passed to intersection() is used
    # Subtest: MyIntersection
        # Subtest: accepts HashArray object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts HashArray object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 2 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 3 - rejects 1
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 4 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 5 - rejects -100
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 6 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 7 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 8 - rejects _T::NumOverload object (-42)
        # Subtest: rejects 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 9 - rejects 1e20
        # Subtest: rejects 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 10 - rejects 1e100
        # Subtest: rejects -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 11 - rejects -1e10
        # Subtest: rejects -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 12 - rejects -1e+10
        # Subtest: rejects 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 13 - rejects 1E20
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 14 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 48 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 49 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 50 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 51 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 52 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 53 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 54 - rejects -1.23456e+10
        1..54
    ok 2 - MyIntersection
    1..2
ok 2 - explicitly named intersection made of two builtins
# Subtest: intersection made of two types without inline generators
    ok 1 - no name if intersection includes anonymous types
    ok 2 - intersection is anonymous if any of its constituents are anonymous
    # Subtest: <anon>
        # Subtest: accepts HashArray object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 1 - accepts HashArray object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 2 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 3 - rejects 1
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 4 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 5 - rejects -100
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 6 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 7 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 8 - rejects _T::NumOverload object (-42)
        # Subtest: rejects 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 9 - rejects 1e20
        # Subtest: rejects 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 10 - rejects 1e100
        # Subtest: rejects -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 11 - rejects -1e10
        # Subtest: rejects -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 12 - rejects -1e+10
        # Subtest: rejects 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 13 - rejects 1E20
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 14 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 15 - rejects _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 16 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 17 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 18 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 19 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 21 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 22 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 23 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 24 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 25 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 26 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 27 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 28 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 29 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 30 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 31 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 32 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 33 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 34 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 35 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 36 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 37 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 39 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 40 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 41 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 42 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 43 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 44 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 45 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 46 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 47 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 48 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 49 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 50 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 51 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 52 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 53 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 54 - rejects -1.23456e+10
        1..54
    ok 3 - <anon>
    1..3
ok 3 - intersection made of two types without inline generators
# Subtest: intersection made of builtin and type without inline generator
    ok 1 - no name if intersection includes anonymous types
    ok 2 - intersection is anonymous if any of its constituents are anonymous
    # Subtest: <anon>
        # Subtest: accepts HashArray object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 1 - accepts HashArray object
        # Subtest: rejects 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 2 - rejects 0
        # Subtest: rejects 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 3 - rejects 1
        # Subtest: rejects 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 4 - rejects 100
        # Subtest: rejects -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 5 - rejects -100
        # Subtest: rejects _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 6 - rejects _T::NumOverload object (0)
        # Subtest: rejects _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 7 - rejects _T::NumOverload object (1)
        # Subtest: rejects _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 8 - rejects _T::NumOverload object (-42)
        # Subtest: rejects 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 9 - rejects 1e20
        # Subtest: rejects 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 10 - rejects 1e100
        # Subtest: rejects -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 11 - rejects -1e10
        # Subtest: rejects -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 12 - rejects -1e+10
        # Subtest: rejects 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 13 - rejects 1E20
        # Subtest: rejects ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 14 - rejects ARRAY reference
        # Subtest: rejects _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 15 - rejects _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 16 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 17 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 18 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 19 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 21 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 22 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 23 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 24 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 25 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 26 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 27 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 28 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 29 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 30 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 31 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 32 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 33 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 34 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 35 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 36 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 37 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 39 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 40 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 41 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 42 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 43 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 44 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 45 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 46 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 47 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 48 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 49 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 50 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 51 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 52 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 53 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 54 - rejects -1.23456e+10
        1..54
    ok 3 - <anon>
    1..3
ok 4 - intersection made of builtin and type without inline generator
1..4
ok
t/library-with-subs.t ...... 
ok 1 - Int type is available
ok 2 - PositiveInt type is available
ok 3 - is_Int() was exported from library
ok 4 - is_PositiveInt() was exported from library
1..4
ok
t/map.t .................... 
# Subtest: UCStrToIntMap
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::HashOverload object
    # Subtest: accepts HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts HASH reference
    # Subtest: accepts _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts _T::HashOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects _T::HashOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects _T::HashOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::HashOverload object
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 49 - rejects undef
    1..49
ok 1 - UCStrToIntMap
ok 2 - Map type has expected generated name
ok 3 - No exception thrown when importing a Map type
1..3
ok
t/multiple-libraries.t ..... 
ok 1 - type named X is available
ok 2 - no exception retrieving X type
ok 3 - type named Y is available
ok 4 - no exception retrieving Y type
ok 5 - type named Str is available
ok 6 - no exception retrieving Str type
ok 7 - type named Undef is available
ok 8 - no exception retrieving Undef type
1..8
ok
t/numeric-sanity.t ......... 
# Subtest: NegativeInt
    # Subtest: accepts -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts -1
    # Subtest: accepts -2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts -2
    # Subtest: accepts -3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts -3
    # Subtest: accepts -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -4294967296
    # Subtest: accepts -1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts -1e+20
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 1
    # Subtest: rejects 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 4294967296
    # Subtest: rejects -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -1.2
    # Subtest: rejects -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -1e-15
    # Subtest: rejects 1.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 1.1
    # Subtest: rejects 11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 11000000000
    1..12
ok 1 - NegativeInt
# Subtest: NegativeNum
    # Subtest: accepts -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts -1
    # Subtest: accepts -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts -4294967296
    # Subtest: accepts -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts -1.2
    # Subtest: accepts -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -1e-15
    # Subtest: accepts -1e+19
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts -1e+19
    # Subtest: accepts -11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -11000000000
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 1
    # Subtest: rejects 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 2
    # Subtest: rejects 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects 3
    # Subtest: rejects 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 4294967296
    # Subtest: rejects 1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 1.2
    # Subtest: rejects 1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects 1e-15
    # Subtest: rejects 1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects 1e+20
    # Subtest: rejects 11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects 11000000000
    1..15
ok 2 - NegativeNum
# Subtest: NegativeOrZeroInt
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts -1
    # Subtest: accepts -2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts -2
    # Subtest: accepts -3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -3
    # Subtest: accepts -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts -4294967296
    # Subtest: accepts -1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -1e+20
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 1
    # Subtest: rejects 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 4294967296
    # Subtest: rejects -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -1.2
    # Subtest: rejects -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -1e-15
    # Subtest: rejects 1.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 1.1
    # Subtest: rejects 11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 11000000000
    1..12
ok 3 - NegativeOrZeroInt
# Subtest: NegativeOrZeroNum
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts -1
    # Subtest: accepts -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts -4294967296
    # Subtest: accepts -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -1.2
    # Subtest: accepts -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts -1e-15
    # Subtest: accepts -1e+19
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -1e+19
    # Subtest: accepts -11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts -11000000000
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 1
    # Subtest: rejects 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 2
    # Subtest: rejects 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects 3
    # Subtest: rejects 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 4294967296
    # Subtest: rejects 1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects 1.2
    # Subtest: rejects 1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects 1e-15
    # Subtest: rejects 1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects 1e+20
    # Subtest: rejects 11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects 11000000000
    1..15
ok 4 - NegativeOrZeroNum
# Subtest: PositiveInt
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 1
    # Subtest: accepts 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 2
    # Subtest: accepts 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 3
    # Subtest: accepts 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts 4294967296
    # Subtest: accepts 1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 1e+20
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 0
    # Subtest: rejects -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects -1
    # Subtest: rejects -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -4294967296
    # Subtest: rejects -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -1.2
    # Subtest: rejects -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -1e-15
    # Subtest: rejects 1.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 1.1
    1..11
ok 5 - PositiveInt
# Subtest: PositiveNum
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 1
    # Subtest: accepts 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 2
    # Subtest: accepts 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 3
    # Subtest: accepts 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts 4294967296
    # Subtest: accepts 1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 1.2
    # Subtest: accepts 1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts 1e-15
    # Subtest: accepts 1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts 1e+20
    # Subtest: accepts 11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts 11000000000
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 0
    # Subtest: rejects -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -1
    # Subtest: rejects -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects -4294967296
    # Subtest: rejects -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -1.2
    # Subtest: rejects -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects -1e-15
    # Subtest: rejects -1e+19
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects -1e+19
    # Subtest: rejects -11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects -11000000000
    1..15
ok 6 - PositiveNum
# Subtest: PositiveOrZeroInt
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 2
    # Subtest: accepts 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts 3
    # Subtest: accepts 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 4294967296
    # Subtest: accepts 1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts 1e+20
    # Subtest: rejects -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects -1
    # Subtest: rejects -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects -4294967296
    # Subtest: rejects -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects -1.2
    # Subtest: rejects -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -1e-15
    # Subtest: rejects 1.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 1.1
    1..11
ok 7 - PositiveOrZeroInt
# Subtest: PositiveOrZeroNum
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 2
    # Subtest: accepts 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts 3
    # Subtest: accepts 4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 4294967296
    # Subtest: accepts 1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts 1.2
    # Subtest: accepts 1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts 1e-15
    # Subtest: accepts 1e+20
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts 1e+20
    # Subtest: accepts 11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts 11000000000
    # Subtest: rejects -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -1
    # Subtest: rejects -4294967296
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects -4294967296
    # Subtest: rejects -1.2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -1.2
    # Subtest: rejects -1e-15
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects -1e-15
    # Subtest: rejects -1e+19
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects -1e+19
    # Subtest: rejects -11000000000
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects -11000000000
    1..15
ok 8 - PositiveOrZeroNum
# Subtest: SingleDigit
    # Subtest: accepts -9
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts -9
    # Subtest: accepts -8
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts -8
    # Subtest: accepts -7
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts -7
    # Subtest: accepts -6
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -6
    # Subtest: accepts -5
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts -5
    # Subtest: accepts -4
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -4
    # Subtest: accepts -3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts -3
    # Subtest: accepts -2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts -2
    # Subtest: accepts -1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts -1
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts 1
    # Subtest: accepts 2
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts 2
    # Subtest: accepts 3
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts 3
    # Subtest: accepts 4
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts 4
    # Subtest: accepts 5
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts 5
    # Subtest: accepts 6
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts 6
    # Subtest: accepts 7
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts 7
    # Subtest: accepts 8
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts 8
    # Subtest: accepts 9
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 19 - accepts 9
    # Subtest: rejects 10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects 10
    # Subtest: rejects -10
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects -10
    # Subtest: rejects 1.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects 1.1
    # Subtest: rejects -1.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects -1.1
    1..23
ok 9 - SingleDigit
1..9
ok
t/overloading-moose-bug.t .. 
ok 1 - no exception consuming RoleA and RoleB
1..1
ok
t/overloading.t ............ 
# Subtest: Specio::Constraint::Simple - Int
    ok 1 - stringifying a Specio::Constraint::Simple returns its name - Int
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 1 - Specio::Constraint::Simple - Int
# Subtest: Specio::Constraint::Parameterizable - HashRef
    ok 1 - stringifying a Specio::Constraint::Parameterizable returns its name - HashRef
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 2 - Specio::Constraint::Parameterizable - HashRef
# Subtest: Specio::Constraint::Parameterized - HashRef[Int]
    ok 1 - stringifying a Specio::Constraint::Parameterized returns its name - HashRef[Int]
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 3 - Specio::Constraint::Parameterized - HashRef[Int]
# Subtest: Specio::Constraint::Simple - Tuple[ Int, Str ]
    ok 1 - stringifying a Specio::Constraint::Simple returns its name - Tuple[ Int, Str ]
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 4 - Specio::Constraint::Simple - Tuple[ Int, Str ]
# Subtest: Specio::Constraint::Simple - Dict{ bar => Int, foo => Str }
    ok 1 - stringifying a Specio::Constraint::Simple returns its name - Dict{ bar => Int, foo => Str }
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 5 - Specio::Constraint::Simple - Dict{ bar => Int, foo => Str }
# Subtest: Specio::Constraint::Union - IntOrStr
    ok 1 - stringifying a Specio::Constraint::Union returns its name - IntOrStr
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 6 - Specio::Constraint::Union - IntOrStr
# Subtest: Specio::Constraint::Intersection - IntAndStr
    ok 1 - stringifying a Specio::Constraint::Intersection returns its name - IntAndStr
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 7 - Specio::Constraint::Intersection - IntAndStr
# Subtest: Specio::Constraint::Enum - Colors
    ok 1 - stringifying a Specio::Constraint::Enum returns its name - Colors
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 8 - Specio::Constraint::Enum - Colors
# Subtest: Specio::Constraint::ObjectDoes - Foo
    ok 1 - stringifying a Specio::Constraint::ObjectDoes returns its name - Foo
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 9 - Specio::Constraint::ObjectDoes - Foo
# Subtest: Specio::Constraint::ObjectDoes - Foo
    ok 1 - stringifying a Specio::Constraint::ObjectDoes returns its name - Foo
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 10 - Specio::Constraint::ObjectDoes - Foo
# Subtest: Specio::Constraint::ObjectIsa - Specio::Constraint::Simple
    ok 1 - stringifying a Specio::Constraint::ObjectIsa returns its name - Specio::Constraint::Simple
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 11 - Specio::Constraint::ObjectIsa - Specio::Constraint::Simple
# Subtest: Specio::Constraint::ObjectIsa - Specio::Constraint::Simple
    ok 1 - stringifying a Specio::Constraint::ObjectIsa returns its name - Specio::Constraint::Simple
    ok 2 - type overloads eq so it is equal to itself
    1..2
ok 12 - Specio::Constraint::ObjectIsa - Specio::Constraint::Simple
# Subtest: Specio::Constraint::Simple - __ANON__(HashRef[Str])
    ok 1 - type overloads eq so it is equal to itself
    1..1
ok 13 - Specio::Constraint::Simple - __ANON__(HashRef[Str])
ok 14 - anonymous type stringification of __ANON__(HashRef[Str])
ok 15 - anonymous type stringification of __ANON__(__ANON__(HashRef[Str]))
ok 16 - anonymous type stringification of __ANON__(__ANON__(Str))
1..16
ok
t/parameterized.t .......... 
ok 1 - ArrayRef does not care about member types
ok 2 - declared_at filename is the expected value for parameterized type made from ->parameterize
ok 3 - declared_at line is the expected value for parameterized type made from ->parameterize
ok 4 - declared_at package is the expected value for parameterized type made from ->parameterize
ok 5 - declared_at subroutine is the expected value for parameterized type made from ->parameterize
ok 6 - declared_at filename is the expected value for parameterized type made from calling t
ok 7 - declared_at line is the expected value for parameterized type made from calling t
ok 8 - declared_at package is the expected value for parameterized type made from calling t
ok 9 - declared_at subroutine is the expected value for parameterized type made from calling t
ok 10 - there is an ArrayRefOfInt type declared
ok 11 - ArrayRef of Int [->parameterize] does care about member types
ok 12 - ArrayRef of Int [->parameterize] accepts array ref of all integers
ok 13 - ArrayRef of Int [->parameterize] rejects integer
ok 14 - ArrayRef of Int [->parameterize] rejects hashref
ok 15 - ArrayRef of Int [t(...)] does care about member types
ok 16 - ArrayRef of Int [t(...)] accepts array ref of all integers
ok 17 - ArrayRef of Int [t(...)] rejects integer
ok 18 - ArrayRef of Int [t(...)] rejects hashref
ok 19 - ArrayRef of Int [named type] does care about member types
ok 20 - ArrayRef of Int [named type] accepts array ref of all integers
ok 21 - ArrayRef of Int [named type] rejects integer
ok 22 - ArrayRef of Int [named type] rejects hashref
ok 23 - ArrayRef of Int [anon type] does care about member types
ok 24 - ArrayRef of Int [anon type] accepts array ref of all integers
ok 25 - ArrayRef of Int [anon type] rejects integer
ok 26 - ArrayRef of Int [anon type] rejects hashref
ok 27 - A parameterizable type with an inline generator cannot be parameterized with a type that cannot be inlined
1..27
ok
t/perl-sanity.t ............ 
# Subtest: DistName
    # Subtest: accepts "Specio"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "Specio"
    # Subtest: accepts "Spec-Library-Builtins"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts "Spec-Library-Builtins"
    # Subtest: accepts "strict"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "strict"
    # Subtest: accepts "_Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "_Foo"
    # Subtest: accepts "A123-456"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "A123-456"
    # Subtest: accepts "Has-Chinese-\x{3403}-In-It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "Has-Chinese-\x{3403}-In-It"
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects ''
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects _T::StrOverload object ('')
    # Subtest: rejects "0Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects "0Foo"
    # Subtest: rejects "Foo:Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects "Foo:Bar"
    # Subtest: rejects "Foo-:Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects "Foo-:Bar"
    # Subtest: rejects "Foo:"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects "Foo:"
    # Subtest: rejects "Foo-"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "Foo-"
    # Subtest: rejects "Foo-Bar-"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects "Foo-Bar-"
    # Subtest: rejects "-Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "-Foo"
    # Subtest: rejects "My::Package"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "My::Package"
    # Subtest: rejects "Has-Spaces In It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "Has-Spaces In It"
    1..17
ok 1 - DistName
# Subtest: Identifier
    # Subtest: accepts "_"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "_"
    # Subtest: accepts "a"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts "a"
    # Subtest: accepts "b"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "b"
    # Subtest: accepts "c"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "c"
    # Subtest: accepts "d"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "d"
    # Subtest: accepts "A"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "A"
    # Subtest: accepts "B"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "B"
    # Subtest: accepts "C"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "C"
    # Subtest: accepts "D"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "D"
    # Subtest: accepts "Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts "Foo"
    # Subtest: accepts "Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts "Bar"
    # Subtest: accepts "_what_"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "_what_"
    # Subtest: accepts "foo_bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts "foo_bar"
    # Subtest: accepts "f1234"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts "f1234"
    # Subtest: accepts "f1j2_o1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts "f1j2_o1"
    # Subtest: accepts "\x{3403}"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts "\x{3403}"
    # Subtest: accepts "has_\x{3403}"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts "has_\x{3403}"
    # Subtest: accepts "has_\x{3403}_in_it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts "has_\x{3403}_in_it"
    # Subtest: rejects " "
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects " "
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects ''
    # Subtest: rejects "a b"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "a b"
    # Subtest: rejects "4foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "4foo"
    1..22
ok 2 - Identifier
# Subtest: LaxVersionStr
    # Subtest: accepts "v1.2.3.4"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "v1.2.3.4"
    # Subtest: accepts "v1.2"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts "v1.2"
    # Subtest: accepts "1.2.3"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "1.2.3"
    # Subtest: accepts "1.2345.6"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "1.2345.6"
    # Subtest: accepts "v1.23_4"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "v1.23_4"
    # Subtest: accepts 1.2345
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts 1.2345
    # Subtest: accepts "1.2345_01"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "1.2345_01"
    # Subtest: accepts 0.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts 0.1
    # Subtest: accepts "v0.1.2"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "v0.1.2"
    # Subtest: rejects "1.2_3_4"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects "1.2_3_4"
    # Subtest: rejects "42.a"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects "42.a"
    # Subtest: rejects "a.b"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects "a.b"
    # Subtest: rejects "vA.b"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "vA.b"
    1..13
ok 3 - LaxVersionStr
# Subtest: ModuleName
    # Subtest: accepts "_T::Thing"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "_T::Thing"
    # Subtest: accepts _T::StrOverload object ("_T::StrOverload")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::StrOverload object ("_T::StrOverload")
    # Subtest: accepts "Specio"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "Specio"
    # Subtest: accepts "Spec::Library::Builtins"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "Spec::Library::Builtins"
    # Subtest: accepts "strict"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "strict"
    # Subtest: accepts "_Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "_Foo"
    # Subtest: accepts "A123::456"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "A123::456"
    # Subtest: accepts "Has::Chinese::\x{3403}::In::It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "Has::Chinese::\x{3403}::In::It"
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects ''
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::StrOverload object ('')
    # Subtest: rejects "0Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects "0Foo"
    # Subtest: rejects "Foo:Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects "Foo:Bar"
    # Subtest: rejects "Foo:::Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "Foo:::Bar"
    # Subtest: rejects "Foo:"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects "Foo:"
    # Subtest: rejects "Foo::"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "Foo::"
    # Subtest: rejects "Foo::Bar::"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "Foo::Bar::"
    # Subtest: rejects "::Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "::Foo"
    # Subtest: rejects "My-Distro"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "My-Distro"
    # Subtest: rejects "Has::Spaces In It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "Has::Spaces In It"
    1..19
ok 4 - ModuleName
# Subtest: PackageName
    # Subtest: accepts "_T::Thing"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "_T::Thing"
    # Subtest: accepts _T::StrOverload object ("_T::StrOverload")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::StrOverload object ("_T::StrOverload")
    # Subtest: accepts "Specio"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "Specio"
    # Subtest: accepts "Spec::Library::Builtins"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "Spec::Library::Builtins"
    # Subtest: accepts "strict"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "strict"
    # Subtest: accepts "_Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "_Foo"
    # Subtest: accepts "A123::456"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "A123::456"
    # Subtest: accepts "Has::Chinese::\x{3403}::In::It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "Has::Chinese::\x{3403}::In::It"
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects ''
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::StrOverload object ('')
    # Subtest: rejects "0Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects "0Foo"
    # Subtest: rejects "Foo:Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects "Foo:Bar"
    # Subtest: rejects "Foo:::Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "Foo:::Bar"
    # Subtest: rejects "Foo:"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects "Foo:"
    # Subtest: rejects "Foo::"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "Foo::"
    # Subtest: rejects "Foo::Bar::"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "Foo::Bar::"
    # Subtest: rejects "::Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "::Foo"
    # Subtest: rejects "My-Distro"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "My-Distro"
    # Subtest: rejects "Has::Spaces In It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "Has::Spaces In It"
    1..19
ok 5 - PackageName
# Subtest: SafeIdentifier
    # Subtest: accepts "c"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "c"
    # Subtest: accepts "d"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts "d"
    # Subtest: accepts "A"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "A"
    # Subtest: accepts "B"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "B"
    # Subtest: accepts "C"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "C"
    # Subtest: accepts "D"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "D"
    # Subtest: accepts "Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "Foo"
    # Subtest: accepts "Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "Bar"
    # Subtest: accepts "_what_"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "_what_"
    # Subtest: accepts "foo_bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts "foo_bar"
    # Subtest: accepts "f1234"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts "f1234"
    # Subtest: accepts "f1j2_o1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "f1j2_o1"
    # Subtest: accepts "\x{3403}"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts "\x{3403}"
    # Subtest: accepts "has_\x{3403}"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts "has_\x{3403}"
    # Subtest: accepts "has_\x{3403}_in_it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts "has_\x{3403}_in_it"
    # Subtest: rejects "_"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "_"
    # Subtest: rejects "a"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "a"
    # Subtest: rejects "b"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "b"
    # Subtest: rejects " "
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects " "
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects ''
    # Subtest: rejects "a b"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "a b"
    # Subtest: rejects "4foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "4foo"
    1..22
ok 6 - SafeIdentifier
# Subtest: StrictVersionStr
    # Subtest: accepts "v1.2.3.4"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "v1.2.3.4"
    # Subtest: accepts "v1.234.5"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts "v1.234.5"
    # Subtest: accepts 2.3456
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 2.3456
    # Subtest: accepts 0.1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts 0.1
    # Subtest: accepts "v0.1.2"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "v0.1.2"
    # Subtest: rejects "v1.2"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects "v1.2"
    # Subtest: rejects "1.2345.6"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects "1.2345.6"
    # Subtest: rejects "v1.23_4"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects "v1.23_4"
    # Subtest: rejects "1.2345_01"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects "1.2345_01"
    1..9
ok 7 - StrictVersionStr
1..7
ok
t/string-sanity.t .......... 
# Subtest: NonEmptySimpleStr
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -42.42
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects ''
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "\n1"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::BoolOverload object (false)
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects undef
    # Subtest: rejects "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    # Subtest: rejects "foo\nbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects "foo\nbar"
    # Subtest: rejects "foo\rbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects "foo\rbar"
    # Subtest: rejects "foo\r\nbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects "foo\r\nbar"
    # Subtest: rejects "foo\x{2028}bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects "foo\x{2028}bar"
    # Subtest: rejects "foo\x{2029}bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects "foo\x{2029}bar"
    1..48
ok 1 - NonEmptySimpleStr
# Subtest: NonEmptyStr
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "1\n"
    # Subtest: accepts "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "\n1"
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts -42.42
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    # Subtest: accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 13 - accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    # Subtest: accepts "foo\nbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 14 - accepts "foo\nbar"
    # Subtest: accepts "foo\rbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 15 - accepts "foo\rbar"
    # Subtest: accepts "foo\r\nbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 16 - accepts "foo\r\nbar"
    # Subtest: accepts "foo\x{2028}bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 17 - accepts "foo\x{2028}bar"
    # Subtest: accepts "foo\x{2029}bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 18 - accepts "foo\x{2029}bar"
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects ''
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::BoolOverload object (false)
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects undef
    1..48
ok 2 - NonEmptyStr
# Subtest: PackageName
    # Subtest: accepts "_T::Thing"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts "_T::Thing"
    # Subtest: accepts _T::StrOverload object ("_T::StrOverload")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts _T::StrOverload object ("_T::StrOverload")
    # Subtest: accepts "Specio"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts "Specio"
    # Subtest: accepts "Spec::Library::Builtins"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts "Spec::Library::Builtins"
    # Subtest: accepts "strict"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts "strict"
    # Subtest: accepts "_Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts "_Foo"
    # Subtest: accepts "A123::456"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts "A123::456"
    # Subtest: accepts "Has::Chinese::\x{3403}::In::It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "Has::Chinese::\x{3403}::In::It"
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects ''
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::StrOverload object ('')
    # Subtest: rejects "0Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects "0Foo"
    # Subtest: rejects "Foo:Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects "Foo:Bar"
    # Subtest: rejects "Foo:::Bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "Foo:::Bar"
    # Subtest: rejects "Foo:"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects "Foo:"
    # Subtest: rejects "Foo::"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects "Foo::"
    # Subtest: rejects "Foo::Bar::"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects "Foo::Bar::"
    # Subtest: rejects "::Foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects "::Foo"
    # Subtest: rejects "Has::Spaces In It"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects "Has::Spaces In It"
    1..18
ok 3 - PackageName
# Subtest: SimpleStr
    # Subtest: accepts 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts 0
    # Subtest: accepts 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts 1
    # Subtest: accepts 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts 100
    # Subtest: accepts -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 4 - accepts -100
    # Subtest: accepts 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 5 - accepts 42.42
    # Subtest: accepts -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 6 - accepts -42.42
    # Subtest: accepts ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 7 - accepts ''
    # Subtest: accepts "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 8 - accepts "foo"
    # Subtest: accepts "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 9 - accepts "has 42 in it"
    # Subtest: accepts _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 10 - accepts _T::StrOverload object ('')
    # Subtest: accepts _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 11 - accepts _T::StrOverload object ("full")
    # Subtest: accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 12 - accepts "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects "\n1"
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::BoolOverload object (false)
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects _T::ArrayOverload object
    # Subtest: rejects HASH reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects HASH reference
    # Subtest: rejects _T::HashOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects _T::HashOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects undef
    # Subtest: rejects "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    # Subtest: rejects "foo\nbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects "foo\nbar"
    # Subtest: rejects "foo\rbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects "foo\rbar"
    # Subtest: rejects "foo\r\nbar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 46 - rejects "foo\r\nbar"
    # Subtest: rejects "foo\x{2028}bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 47 - rejects "foo\x{2028}bar"
    # Subtest: rejects "foo\x{2029}bar"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 48 - rejects "foo\x{2029}bar"
    1..48
ok 4 - SimpleStr
1..4
ok
t/subs.t ................... 
# Subtest: ArrayRef
    ok 1 - is: ARRAY reference
    ok 2 - assert: ARRAY reference
    ok 3 - is: _T::ArrayOverload object
    ok 4 - assert: _T::ArrayOverload object
    ok 5 - !is: 0
    ok 6 - !assert: 0
    ok 7 - !is: 1
    ok 8 - !assert: 1
    ok 9 - !is: _T::BoolOverload object (true)
    ok 10 - !assert: _T::BoolOverload object (true)
    ok 11 - !is: _T::BoolOverload object (false)
    ok 12 - !assert: _T::BoolOverload object (false)
    ok 13 - !is: 100
    ok 14 - !assert: 100
    ok 15 - !is: -100
    ok 16 - !assert: -100
    ok 17 - !is: 42.42
    ok 18 - !assert: 42.42
    ok 19 - !is: -42.42
    ok 20 - !assert: -42.42
    ok 21 - !is: _T::NumOverload object (0)
    ok 22 - !assert: _T::NumOverload object (0)
    ok 23 - !is: _T::NumOverload object (1)
    ok 24 - !assert: _T::NumOverload object (1)
    ok 25 - !is: _T::NumOverload object (-42)
    ok 26 - !assert: _T::NumOverload object (-42)
    ok 27 - !is: _T::NumOverload object (42.42)
    ok 28 - !assert: _T::NumOverload object (42.42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: ''
    ok 32 - !assert: ''
    ok 33 - !is: "foo"
    ok 34 - !assert: "foo"
    ok 35 - !is: "has 42 in it"
    ok 36 - !assert: "has 42 in it"
    ok 37 - !is: _T::StrOverload object ('')
    ok 38 - !assert: _T::StrOverload object ('')
    ok 39 - !is: _T::StrOverload object ("full")
    ok 40 - !assert: _T::StrOverload object ("full")
    ok 41 - !is: "1\n"
    ok 42 - !assert: "1\n"
    ok 43 - !is: "\n1"
    ok 44 - !assert: "\n1"
    ok 45 - !is: SCALAR reference
    ok 46 - !assert: SCALAR reference
    ok 47 - !is: REF reference
    ok 48 - !assert: REF reference
    ok 49 - !is: _T::ScalarOverload object
    ok 50 - !assert: _T::ScalarOverload object
    ok 51 - !is: HASH reference
    ok 52 - !assert: HASH reference
    ok 53 - !is: _T::HashOverload object
    ok 54 - !assert: _T::HashOverload object
    ok 55 - !is: CODE reference
    ok 56 - !assert: CODE reference
    ok 57 - !is: _T::CodeOverload object
    ok 58 - !assert: _T::CodeOverload object
    ok 59 - !is: "*main::SOME_GLOB"
    ok 60 - !assert: "*main::SOME_GLOB"
    ok 61 - !is: GLOB reference
    ok 62 - !assert: GLOB reference
    ok 63 - !is: _T::GlobOverload object
    ok 64 - !assert: _T::GlobOverload object
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: open filehandle
    ok 68 - !assert: open filehandle
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: Regexp object
    ok 72 - !assert: Regexp object
    ok 73 - !is: BlessedQR object
    ok 74 - !assert: BlessedQR object
    ok 75 - !is: _T::RegexOverload object
    ok 76 - !assert: _T::RegexOverload object
    ok 77 - !is: Regexp object
    ok 78 - !assert: Regexp object
    ok 79 - !is: FakeObject object
    ok 80 - !assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 1 - ArrayRef
# Subtest: Bool
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: _T::BoolOverload object (true)
    ok 6 - assert: _T::BoolOverload object (true)
    ok 7 - is: _T::BoolOverload object (false)
    ok 8 - assert: _T::BoolOverload object (false)
    ok 9 - is: ''
    ok 10 - assert: ''
    ok 11 - is: undef
    ok 12 - assert: undef
    ok 13 - !is: 100
    ok 14 - !assert: 100
    ok 15 - !is: -100
    ok 16 - !assert: -100
    ok 17 - !is: 42.42
    ok 18 - !assert: 42.42
    ok 19 - !is: -42.42
    ok 20 - !assert: -42.42
    ok 21 - !is: _T::NumOverload object (0)
    ok 22 - !assert: _T::NumOverload object (0)
    ok 23 - !is: _T::NumOverload object (1)
    ok 24 - !assert: _T::NumOverload object (1)
    ok 25 - !is: _T::NumOverload object (-42)
    ok 26 - !assert: _T::NumOverload object (-42)
    ok 27 - !is: _T::NumOverload object (42.42)
    ok 28 - !assert: _T::NumOverload object (42.42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: "foo"
    ok 32 - !assert: "foo"
    ok 33 - !is: "has 42 in it"
    ok 34 - !assert: "has 42 in it"
    ok 35 - !is: _T::StrOverload object ('')
    ok 36 - !assert: _T::StrOverload object ('')
    ok 37 - !is: _T::StrOverload object ("full")
    ok 38 - !assert: _T::StrOverload object ("full")
    ok 39 - !is: "1\n"
    ok 40 - !assert: "1\n"
    ok 41 - !is: "\n1"
    ok 42 - !assert: "\n1"
    ok 43 - !is: SCALAR reference
    ok 44 - !assert: SCALAR reference
    ok 45 - !is: REF reference
    ok 46 - !assert: REF reference
    ok 47 - !is: _T::ScalarOverload object
    ok 48 - !assert: _T::ScalarOverload object
    ok 49 - !is: ARRAY reference
    ok 50 - !assert: ARRAY reference
    ok 51 - !is: _T::ArrayOverload object
    ok 52 - !assert: _T::ArrayOverload object
    ok 53 - !is: HASH reference
    ok 54 - !assert: HASH reference
    ok 55 - !is: _T::HashOverload object
    ok 56 - !assert: _T::HashOverload object
    ok 57 - !is: CODE reference
    ok 58 - !assert: CODE reference
    ok 59 - !is: _T::CodeOverload object
    ok 60 - !assert: _T::CodeOverload object
    ok 61 - !is: "*main::SOME_GLOB"
    ok 62 - !assert: "*main::SOME_GLOB"
    ok 63 - !is: GLOB reference
    ok 64 - !assert: GLOB reference
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: _T::GlobOverload object
    ok 68 - !assert: _T::GlobOverload object
    ok 69 - !is: open filehandle
    ok 70 - !assert: open filehandle
    ok 71 - !is: IO::File object
    ok 72 - !assert: IO::File object
    ok 73 - !is: Regexp object
    ok 74 - !assert: Regexp object
    ok 75 - !is: BlessedQR object
    ok 76 - !assert: BlessedQR object
    ok 77 - !is: _T::RegexOverload object
    ok 78 - !assert: _T::RegexOverload object
    ok 79 - !is: Regexp object
    ok 80 - !assert: Regexp object
    ok 81 - !is: FakeObject object
    ok 82 - !assert: FakeObject object
    1..82
ok 2 - Bool
# Subtest: ClassName
    ok 1 - is: "_T::Thing"
    ok 2 - assert: "_T::Thing"
    ok 3 - is: _T::StrOverload object ("_T::StrOverload")
    ok 4 - assert: _T::StrOverload object ("_T::StrOverload")
    ok 5 - !is: 0
    ok 6 - !assert: 0
    ok 7 - !is: 1
    ok 8 - !assert: 1
    ok 9 - !is: _T::BoolOverload object (true)
    ok 10 - !assert: _T::BoolOverload object (true)
    ok 11 - !is: _T::BoolOverload object (false)
    ok 12 - !assert: _T::BoolOverload object (false)
    ok 13 - !is: 100
    ok 14 - !assert: 100
    ok 15 - !is: -100
    ok 16 - !assert: -100
    ok 17 - !is: 42.42
    ok 18 - !assert: 42.42
    ok 19 - !is: -42.42
    ok 20 - !assert: -42.42
    ok 21 - !is: _T::NumOverload object (0)
    ok 22 - !assert: _T::NumOverload object (0)
    ok 23 - !is: _T::NumOverload object (1)
    ok 24 - !assert: _T::NumOverload object (1)
    ok 25 - !is: _T::NumOverload object (-42)
    ok 26 - !assert: _T::NumOverload object (-42)
    ok 27 - !is: _T::NumOverload object (42.42)
    ok 28 - !assert: _T::NumOverload object (42.42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: ''
    ok 32 - !assert: ''
    ok 33 - !is: "foo"
    ok 34 - !assert: "foo"
    ok 35 - !is: "has 42 in it"
    ok 36 - !assert: "has 42 in it"
    ok 37 - !is: _T::StrOverload object ('')
    ok 38 - !assert: _T::StrOverload object ('')
    ok 39 - !is: _T::StrOverload object ("full")
    ok 40 - !assert: _T::StrOverload object ("full")
    ok 41 - !is: "1\n"
    ok 42 - !assert: "1\n"
    ok 43 - !is: "\n1"
    ok 44 - !assert: "\n1"
    ok 45 - !is: SCALAR reference
    ok 46 - !assert: SCALAR reference
    ok 47 - !is: REF reference
    ok 48 - !assert: REF reference
    ok 49 - !is: _T::ScalarOverload object
    ok 50 - !assert: _T::ScalarOverload object
    ok 51 - !is: ARRAY reference
    ok 52 - !assert: ARRAY reference
    ok 53 - !is: _T::ArrayOverload object
    ok 54 - !assert: _T::ArrayOverload object
    ok 55 - !is: HASH reference
    ok 56 - !assert: HASH reference
    ok 57 - !is: _T::HashOverload object
    ok 58 - !assert: _T::HashOverload object
    ok 59 - !is: CODE reference
    ok 60 - !assert: CODE reference
    ok 61 - !is: _T::CodeOverload object
    ok 62 - !assert: _T::CodeOverload object
    ok 63 - !is: "*main::SOME_GLOB"
    ok 64 - !assert: "*main::SOME_GLOB"
    ok 65 - !is: GLOB reference
    ok 66 - !assert: GLOB reference
    ok 67 - !is: _T::GlobOverload object
    ok 68 - !assert: _T::GlobOverload object
    ok 69 - !is: _T::GlobOverload object
    ok 70 - !assert: _T::GlobOverload object
    ok 71 - !is: open filehandle
    ok 72 - !assert: open filehandle
    ok 73 - !is: IO::File object
    ok 74 - !assert: IO::File object
    ok 75 - !is: Regexp object
    ok 76 - !assert: Regexp object
    ok 77 - !is: BlessedQR object
    ok 78 - !assert: BlessedQR object
    ok 79 - !is: _T::RegexOverload object
    ok 80 - !assert: _T::RegexOverload object
    ok 81 - !is: Regexp object
    ok 82 - !assert: Regexp object
    ok 83 - !is: FakeObject object
    ok 84 - !assert: FakeObject object
    ok 85 - !is: undef
    ok 86 - !assert: undef
    1..86
ok 3 - ClassName
# Subtest: CodeRef
    ok 1 - is: CODE reference
    ok 2 - assert: CODE reference
    ok 3 - is: _T::CodeOverload object
    ok 4 - assert: _T::CodeOverload object
    ok 5 - !is: 0
    ok 6 - !assert: 0
    ok 7 - !is: 1
    ok 8 - !assert: 1
    ok 9 - !is: _T::BoolOverload object (true)
    ok 10 - !assert: _T::BoolOverload object (true)
    ok 11 - !is: _T::BoolOverload object (false)
    ok 12 - !assert: _T::BoolOverload object (false)
    ok 13 - !is: 100
    ok 14 - !assert: 100
    ok 15 - !is: -100
    ok 16 - !assert: -100
    ok 17 - !is: 42.42
    ok 18 - !assert: 42.42
    ok 19 - !is: -42.42
    ok 20 - !assert: -42.42
    ok 21 - !is: _T::NumOverload object (0)
    ok 22 - !assert: _T::NumOverload object (0)
    ok 23 - !is: _T::NumOverload object (1)
    ok 24 - !assert: _T::NumOverload object (1)
    ok 25 - !is: _T::NumOverload object (-42)
    ok 26 - !assert: _T::NumOverload object (-42)
    ok 27 - !is: _T::NumOverload object (42.42)
    ok 28 - !assert: _T::NumOverload object (42.42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: ''
    ok 32 - !assert: ''
    ok 33 - !is: "foo"
    ok 34 - !assert: "foo"
    ok 35 - !is: "has 42 in it"
    ok 36 - !assert: "has 42 in it"
    ok 37 - !is: _T::StrOverload object ('')
    ok 38 - !assert: _T::StrOverload object ('')
    ok 39 - !is: _T::StrOverload object ("full")
    ok 40 - !assert: _T::StrOverload object ("full")
    ok 41 - !is: "1\n"
    ok 42 - !assert: "1\n"
    ok 43 - !is: "\n1"
    ok 44 - !assert: "\n1"
    ok 45 - !is: SCALAR reference
    ok 46 - !assert: SCALAR reference
    ok 47 - !is: REF reference
    ok 48 - !assert: REF reference
    ok 49 - !is: _T::ScalarOverload object
    ok 50 - !assert: _T::ScalarOverload object
    ok 51 - !is: ARRAY reference
    ok 52 - !assert: ARRAY reference
    ok 53 - !is: _T::ArrayOverload object
    ok 54 - !assert: _T::ArrayOverload object
    ok 55 - !is: HASH reference
    ok 56 - !assert: HASH reference
    ok 57 - !is: _T::HashOverload object
    ok 58 - !assert: _T::HashOverload object
    ok 59 - !is: "*main::SOME_GLOB"
    ok 60 - !assert: "*main::SOME_GLOB"
    ok 61 - !is: GLOB reference
    ok 62 - !assert: GLOB reference
    ok 63 - !is: _T::GlobOverload object
    ok 64 - !assert: _T::GlobOverload object
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: open filehandle
    ok 68 - !assert: open filehandle
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: Regexp object
    ok 72 - !assert: Regexp object
    ok 73 - !is: BlessedQR object
    ok 74 - !assert: BlessedQR object
    ok 75 - !is: _T::RegexOverload object
    ok 76 - !assert: _T::RegexOverload object
    ok 77 - !is: Regexp object
    ok 78 - !assert: Regexp object
    ok 79 - !is: FakeObject object
    ok 80 - !assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 4 - CodeRef
# Subtest: Defined
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: _T::BoolOverload object (true)
    ok 6 - assert: _T::BoolOverload object (true)
    ok 7 - is: _T::BoolOverload object (false)
    ok 8 - assert: _T::BoolOverload object (false)
    ok 9 - is: 100
    ok 10 - assert: 100
    ok 11 - is: -100
    ok 12 - assert: -100
    ok 13 - is: 42.42
    ok 14 - assert: 42.42
    ok 15 - is: -42.42
    ok 16 - assert: -42.42
    ok 17 - is: _T::NumOverload object (0)
    ok 18 - assert: _T::NumOverload object (0)
    ok 19 - is: _T::NumOverload object (1)
    ok 20 - assert: _T::NumOverload object (1)
    ok 21 - is: _T::NumOverload object (-42)
    ok 22 - assert: _T::NumOverload object (-42)
    ok 23 - is: _T::NumOverload object (42.42)
    ok 24 - assert: _T::NumOverload object (42.42)
    ok 25 - is: _T::NumOverload object (42.42)
    ok 26 - assert: _T::NumOverload object (42.42)
    ok 27 - is: ''
    ok 28 - assert: ''
    ok 29 - is: "foo"
    ok 30 - assert: "foo"
    ok 31 - is: "has 42 in it"
    ok 32 - assert: "has 42 in it"
    ok 33 - is: _T::StrOverload object ('')
    ok 34 - assert: _T::StrOverload object ('')
    ok 35 - is: _T::StrOverload object ("full")
    ok 36 - assert: _T::StrOverload object ("full")
    ok 37 - is: "1\n"
    ok 38 - assert: "1\n"
    ok 39 - is: "\n1"
    ok 40 - assert: "\n1"
    ok 41 - is: SCALAR reference
    ok 42 - assert: SCALAR reference
    ok 43 - is: REF reference
    ok 44 - assert: REF reference
    ok 45 - is: _T::ScalarOverload object
    ok 46 - assert: _T::ScalarOverload object
    ok 47 - is: ARRAY reference
    ok 48 - assert: ARRAY reference
    ok 49 - is: _T::ArrayOverload object
    ok 50 - assert: _T::ArrayOverload object
    ok 51 - is: HASH reference
    ok 52 - assert: HASH reference
    ok 53 - is: _T::HashOverload object
    ok 54 - assert: _T::HashOverload object
    ok 55 - is: CODE reference
    ok 56 - assert: CODE reference
    ok 57 - is: _T::CodeOverload object
    ok 58 - assert: _T::CodeOverload object
    ok 59 - is: "*main::SOME_GLOB"
    ok 60 - assert: "*main::SOME_GLOB"
    ok 61 - is: GLOB reference
    ok 62 - assert: GLOB reference
    ok 63 - is: _T::GlobOverload object
    ok 64 - assert: _T::GlobOverload object
    ok 65 - is: _T::GlobOverload object
    ok 66 - assert: _T::GlobOverload object
    ok 67 - is: open filehandle
    ok 68 - assert: open filehandle
    ok 69 - is: IO::File object
    ok 70 - assert: IO::File object
    ok 71 - is: Regexp object
    ok 72 - assert: Regexp object
    ok 73 - is: BlessedQR object
    ok 74 - assert: BlessedQR object
    ok 75 - is: _T::RegexOverload object
    ok 76 - assert: _T::RegexOverload object
    ok 77 - is: Regexp object
    ok 78 - assert: Regexp object
    ok 79 - is: FakeObject object
    ok 80 - assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 5 - Defined
# Subtest: FileHandle
    ok 1 - is: open filehandle
    ok 2 - assert: open filehandle
    ok 3 - is: IO::File object
    ok 4 - assert: IO::File object
    ok 5 - is: _T::GlobOverload object
    ok 6 - assert: _T::GlobOverload object
    ok 7 - !is: 0
    ok 8 - !assert: 0
    ok 9 - !is: 1
    ok 10 - !assert: 1
    ok 11 - !is: _T::BoolOverload object (true)
    ok 12 - !assert: _T::BoolOverload object (true)
    ok 13 - !is: _T::BoolOverload object (false)
    ok 14 - !assert: _T::BoolOverload object (false)
    ok 15 - !is: 100
    ok 16 - !assert: 100
    ok 17 - !is: -100
    ok 18 - !assert: -100
    ok 19 - !is: 42.42
    ok 20 - !assert: 42.42
    ok 21 - !is: -42.42
    ok 22 - !assert: -42.42
    ok 23 - !is: _T::NumOverload object (0)
    ok 24 - !assert: _T::NumOverload object (0)
    ok 25 - !is: _T::NumOverload object (1)
    ok 26 - !assert: _T::NumOverload object (1)
    ok 27 - !is: _T::NumOverload object (-42)
    ok 28 - !assert: _T::NumOverload object (-42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: _T::NumOverload object (42.42)
    ok 32 - !assert: _T::NumOverload object (42.42)
    ok 33 - !is: ''
    ok 34 - !assert: ''
    ok 35 - !is: "foo"
    ok 36 - !assert: "foo"
    ok 37 - !is: "has 42 in it"
    ok 38 - !assert: "has 42 in it"
    ok 39 - !is: _T::StrOverload object ('')
    ok 40 - !assert: _T::StrOverload object ('')
    ok 41 - !is: _T::StrOverload object ("full")
    ok 42 - !assert: _T::StrOverload object ("full")
    ok 43 - !is: "1\n"
    ok 44 - !assert: "1\n"
    ok 45 - !is: "\n1"
    ok 46 - !assert: "\n1"
    ok 47 - !is: SCALAR reference
    ok 48 - !assert: SCALAR reference
    ok 49 - !is: REF reference
    ok 50 - !assert: REF reference
    ok 51 - !is: _T::ScalarOverload object
    ok 52 - !assert: _T::ScalarOverload object
    ok 53 - !is: ARRAY reference
    ok 54 - !assert: ARRAY reference
    ok 55 - !is: _T::ArrayOverload object
    ok 56 - !assert: _T::ArrayOverload object
    ok 57 - !is: HASH reference
    ok 58 - !assert: HASH reference
    ok 59 - !is: _T::HashOverload object
    ok 60 - !assert: _T::HashOverload object
    ok 61 - !is: CODE reference
    ok 62 - !assert: CODE reference
    ok 63 - !is: _T::CodeOverload object
    ok 64 - !assert: _T::CodeOverload object
    ok 65 - !is: "*main::SOME_GLOB"
    ok 66 - !assert: "*main::SOME_GLOB"
    ok 67 - !is: GLOB reference
    ok 68 - !assert: GLOB reference
    ok 69 - !is: _T::GlobOverload object
    ok 70 - !assert: _T::GlobOverload object
    ok 71 - !is: FakeObject object
    ok 72 - !assert: FakeObject object
    ok 73 - !is: Regexp object
    ok 74 - !assert: Regexp object
    ok 75 - !is: BlessedQR object
    ok 76 - !assert: BlessedQR object
    ok 77 - !is: _T::RegexOverload object
    ok 78 - !assert: _T::RegexOverload object
    ok 79 - !is: Regexp object
    ok 80 - !assert: Regexp object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 6 - FileHandle
# Subtest: GlobRef
    ok 1 - is: GLOB reference
    ok 2 - assert: GLOB reference
    ok 3 - is: _T::GlobOverload object
    ok 4 - assert: _T::GlobOverload object
    ok 5 - is: _T::GlobOverload object
    ok 6 - assert: _T::GlobOverload object
    ok 7 - is: open filehandle
    ok 8 - assert: open filehandle
    ok 9 - !is: 0
    ok 10 - !assert: 0
    ok 11 - !is: 1
    ok 12 - !assert: 1
    ok 13 - !is: _T::BoolOverload object (true)
    ok 14 - !assert: _T::BoolOverload object (true)
    ok 15 - !is: _T::BoolOverload object (false)
    ok 16 - !assert: _T::BoolOverload object (false)
    ok 17 - !is: 100
    ok 18 - !assert: 100
    ok 19 - !is: -100
    ok 20 - !assert: -100
    ok 21 - !is: 42.42
    ok 22 - !assert: 42.42
    ok 23 - !is: -42.42
    ok 24 - !assert: -42.42
    ok 25 - !is: _T::NumOverload object (0)
    ok 26 - !assert: _T::NumOverload object (0)
    ok 27 - !is: _T::NumOverload object (1)
    ok 28 - !assert: _T::NumOverload object (1)
    ok 29 - !is: _T::NumOverload object (-42)
    ok 30 - !assert: _T::NumOverload object (-42)
    ok 31 - !is: _T::NumOverload object (42.42)
    ok 32 - !assert: _T::NumOverload object (42.42)
    ok 33 - !is: _T::NumOverload object (42.42)
    ok 34 - !assert: _T::NumOverload object (42.42)
    ok 35 - !is: ''
    ok 36 - !assert: ''
    ok 37 - !is: "foo"
    ok 38 - !assert: "foo"
    ok 39 - !is: "has 42 in it"
    ok 40 - !assert: "has 42 in it"
    ok 41 - !is: _T::StrOverload object ('')
    ok 42 - !assert: _T::StrOverload object ('')
    ok 43 - !is: _T::StrOverload object ("full")
    ok 44 - !assert: _T::StrOverload object ("full")
    ok 45 - !is: "1\n"
    ok 46 - !assert: "1\n"
    ok 47 - !is: "\n1"
    ok 48 - !assert: "\n1"
    ok 49 - !is: SCALAR reference
    ok 50 - !assert: SCALAR reference
    ok 51 - !is: REF reference
    ok 52 - !assert: REF reference
    ok 53 - !is: _T::ScalarOverload object
    ok 54 - !assert: _T::ScalarOverload object
    ok 55 - !is: ARRAY reference
    ok 56 - !assert: ARRAY reference
    ok 57 - !is: _T::ArrayOverload object
    ok 58 - !assert: _T::ArrayOverload object
    ok 59 - !is: HASH reference
    ok 60 - !assert: HASH reference
    ok 61 - !is: _T::HashOverload object
    ok 62 - !assert: _T::HashOverload object
    ok 63 - !is: CODE reference
    ok 64 - !assert: CODE reference
    ok 65 - !is: _T::CodeOverload object
    ok 66 - !assert: _T::CodeOverload object
    ok 67 - !is: "*main::SOME_GLOB"
    ok 68 - !assert: "*main::SOME_GLOB"
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: FakeObject object
    ok 72 - !assert: FakeObject object
    ok 73 - !is: Regexp object
    ok 74 - !assert: Regexp object
    ok 75 - !is: BlessedQR object
    ok 76 - !assert: BlessedQR object
    ok 77 - !is: _T::RegexOverload object
    ok 78 - !assert: _T::RegexOverload object
    ok 79 - !is: Regexp object
    ok 80 - !assert: Regexp object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 7 - GlobRef
# Subtest: HashRef
    ok 1 - is: HASH reference
    ok 2 - assert: HASH reference
    ok 3 - is: _T::HashOverload object
    ok 4 - assert: _T::HashOverload object
    ok 5 - !is: 0
    ok 6 - !assert: 0
    ok 7 - !is: 1
    ok 8 - !assert: 1
    ok 9 - !is: _T::BoolOverload object (true)
    ok 10 - !assert: _T::BoolOverload object (true)
    ok 11 - !is: _T::BoolOverload object (false)
    ok 12 - !assert: _T::BoolOverload object (false)
    ok 13 - !is: 100
    ok 14 - !assert: 100
    ok 15 - !is: -100
    ok 16 - !assert: -100
    ok 17 - !is: 42.42
    ok 18 - !assert: 42.42
    ok 19 - !is: -42.42
    ok 20 - !assert: -42.42
    ok 21 - !is: _T::NumOverload object (0)
    ok 22 - !assert: _T::NumOverload object (0)
    ok 23 - !is: _T::NumOverload object (1)
    ok 24 - !assert: _T::NumOverload object (1)
    ok 25 - !is: _T::NumOverload object (-42)
    ok 26 - !assert: _T::NumOverload object (-42)
    ok 27 - !is: _T::NumOverload object (42.42)
    ok 28 - !assert: _T::NumOverload object (42.42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: ''
    ok 32 - !assert: ''
    ok 33 - !is: "foo"
    ok 34 - !assert: "foo"
    ok 35 - !is: "has 42 in it"
    ok 36 - !assert: "has 42 in it"
    ok 37 - !is: _T::StrOverload object ('')
    ok 38 - !assert: _T::StrOverload object ('')
    ok 39 - !is: _T::StrOverload object ("full")
    ok 40 - !assert: _T::StrOverload object ("full")
    ok 41 - !is: "1\n"
    ok 42 - !assert: "1\n"
    ok 43 - !is: "\n1"
    ok 44 - !assert: "\n1"
    ok 45 - !is: SCALAR reference
    ok 46 - !assert: SCALAR reference
    ok 47 - !is: REF reference
    ok 48 - !assert: REF reference
    ok 49 - !is: _T::ScalarOverload object
    ok 50 - !assert: _T::ScalarOverload object
    ok 51 - !is: ARRAY reference
    ok 52 - !assert: ARRAY reference
    ok 53 - !is: _T::ArrayOverload object
    ok 54 - !assert: _T::ArrayOverload object
    ok 55 - !is: CODE reference
    ok 56 - !assert: CODE reference
    ok 57 - !is: _T::CodeOverload object
    ok 58 - !assert: _T::CodeOverload object
    ok 59 - !is: "*main::SOME_GLOB"
    ok 60 - !assert: "*main::SOME_GLOB"
    ok 61 - !is: GLOB reference
    ok 62 - !assert: GLOB reference
    ok 63 - !is: _T::GlobOverload object
    ok 64 - !assert: _T::GlobOverload object
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: open filehandle
    ok 68 - !assert: open filehandle
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: Regexp object
    ok 72 - !assert: Regexp object
    ok 73 - !is: BlessedQR object
    ok 74 - !assert: BlessedQR object
    ok 75 - !is: _T::RegexOverload object
    ok 76 - !assert: _T::RegexOverload object
    ok 77 - !is: Regexp object
    ok 78 - !assert: Regexp object
    ok 79 - !is: FakeObject object
    ok 80 - !assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 8 - HashRef
# Subtest: Int
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: 100
    ok 6 - assert: 100
    ok 7 - is: -100
    ok 8 - assert: -100
    ok 9 - is: _T::NumOverload object (0)
    ok 10 - assert: _T::NumOverload object (0)
    ok 11 - is: _T::NumOverload object (1)
    ok 12 - assert: _T::NumOverload object (1)
    ok 13 - is: _T::NumOverload object (-42)
    ok 14 - assert: _T::NumOverload object (-42)
    ok 15 - is: 1e20
    ok 16 - assert: 1e20
    ok 17 - is: 1e100
    ok 18 - assert: 1e100
    ok 19 - is: -1e10
    ok 20 - assert: -1e10
    ok 21 - is: -1e+10
    ok 22 - assert: -1e+10
    ok 23 - is: 1E20
    ok 24 - assert: 1E20
    ok 25 - !is: _T::BoolOverload object (true)
    ok 26 - !assert: _T::BoolOverload object (true)
    ok 27 - !is: _T::BoolOverload object (false)
    ok 28 - !assert: _T::BoolOverload object (false)
    ok 29 - !is: 42.42
    ok 30 - !assert: 42.42
    ok 31 - !is: -42.42
    ok 32 - !assert: -42.42
    ok 33 - !is: _T::NumOverload object (42.42)
    ok 34 - !assert: _T::NumOverload object (42.42)
    ok 35 - !is: _T::NumOverload object (42.42)
    ok 36 - !assert: _T::NumOverload object (42.42)
    ok 37 - !is: ''
    ok 38 - !assert: ''
    ok 39 - !is: "foo"
    ok 40 - !assert: "foo"
    ok 41 - !is: "has 42 in it"
    ok 42 - !assert: "has 42 in it"
    ok 43 - !is: _T::StrOverload object ('')
    ok 44 - !assert: _T::StrOverload object ('')
    ok 45 - !is: _T::StrOverload object ("full")
    ok 46 - !assert: _T::StrOverload object ("full")
    ok 47 - !is: "1\n"
    ok 48 - !assert: "1\n"
    ok 49 - !is: "\n1"
    ok 50 - !assert: "\n1"
    ok 51 - !is: SCALAR reference
    ok 52 - !assert: SCALAR reference
    ok 53 - !is: REF reference
    ok 54 - !assert: REF reference
    ok 55 - !is: _T::ScalarOverload object
    ok 56 - !assert: _T::ScalarOverload object
    ok 57 - !is: ARRAY reference
    ok 58 - !assert: ARRAY reference
    ok 59 - !is: _T::ArrayOverload object
    ok 60 - !assert: _T::ArrayOverload object
    ok 61 - !is: HASH reference
    ok 62 - !assert: HASH reference
    ok 63 - !is: _T::HashOverload object
    ok 64 - !assert: _T::HashOverload object
    ok 65 - !is: CODE reference
    ok 66 - !assert: CODE reference
    ok 67 - !is: _T::CodeOverload object
    ok 68 - !assert: _T::CodeOverload object
    ok 69 - !is: "*main::SOME_GLOB"
    ok 70 - !assert: "*main::SOME_GLOB"
    ok 71 - !is: GLOB reference
    ok 72 - !assert: GLOB reference
    ok 73 - !is: _T::GlobOverload object
    ok 74 - !assert: _T::GlobOverload object
    ok 75 - !is: _T::GlobOverload object
    ok 76 - !assert: _T::GlobOverload object
    ok 77 - !is: open filehandle
    ok 78 - !assert: open filehandle
    ok 79 - !is: IO::File object
    ok 80 - !assert: IO::File object
    ok 81 - !is: Regexp object
    ok 82 - !assert: Regexp object
    ok 83 - !is: BlessedQR object
    ok 84 - !assert: BlessedQR object
    ok 85 - !is: _T::RegexOverload object
    ok 86 - !assert: _T::RegexOverload object
    ok 87 - !is: Regexp object
    ok 88 - !assert: Regexp object
    ok 89 - !is: FakeObject object
    ok 90 - !assert: FakeObject object
    ok 91 - !is: undef
    ok 92 - !assert: undef
    ok 93 - !is: 1e-10
    ok 94 - !assert: 1e-10
    ok 95 - !is: -1e-10
    ok 96 - !assert: -1e-10
    ok 97 - !is: 1.23456e10
    ok 98 - !assert: 1.23456e10
    ok 99 - !is: 1.23456e-10
    ok 100 - !assert: 1.23456e-10
    ok 101 - !is: -1.23456e10
    ok 102 - !assert: -1.23456e10
    ok 103 - !is: -1.23456e-10
    ok 104 - !assert: -1.23456e-10
    ok 105 - !is: -1.23456e+10
    ok 106 - !assert: -1.23456e+10
    1..106
ok 9 - Int
# Subtest: Item
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: _T::BoolOverload object (true)
    ok 6 - assert: _T::BoolOverload object (true)
    ok 7 - is: _T::BoolOverload object (false)
    ok 8 - assert: _T::BoolOverload object (false)
    ok 9 - is: 100
    ok 10 - assert: 100
    ok 11 - is: -100
    ok 12 - assert: -100
    ok 13 - is: 42.42
    ok 14 - assert: 42.42
    ok 15 - is: -42.42
    ok 16 - assert: -42.42
    ok 17 - is: _T::NumOverload object (0)
    ok 18 - assert: _T::NumOverload object (0)
    ok 19 - is: _T::NumOverload object (1)
    ok 20 - assert: _T::NumOverload object (1)
    ok 21 - is: _T::NumOverload object (-42)
    ok 22 - assert: _T::NumOverload object (-42)
    ok 23 - is: _T::NumOverload object (42.42)
    ok 24 - assert: _T::NumOverload object (42.42)
    ok 25 - is: _T::NumOverload object (42.42)
    ok 26 - assert: _T::NumOverload object (42.42)
    ok 27 - is: ''
    ok 28 - assert: ''
    ok 29 - is: "foo"
    ok 30 - assert: "foo"
    ok 31 - is: "has 42 in it"
    ok 32 - assert: "has 42 in it"
    ok 33 - is: _T::StrOverload object ('')
    ok 34 - assert: _T::StrOverload object ('')
    ok 35 - is: _T::StrOverload object ("full")
    ok 36 - assert: _T::StrOverload object ("full")
    ok 37 - is: "1\n"
    ok 38 - assert: "1\n"
    ok 39 - is: "\n1"
    ok 40 - assert: "\n1"
    ok 41 - is: SCALAR reference
    ok 42 - assert: SCALAR reference
    ok 43 - is: REF reference
    ok 44 - assert: REF reference
    ok 45 - is: _T::ScalarOverload object
    ok 46 - assert: _T::ScalarOverload object
    ok 47 - is: ARRAY reference
    ok 48 - assert: ARRAY reference
    ok 49 - is: _T::ArrayOverload object
    ok 50 - assert: _T::ArrayOverload object
    ok 51 - is: HASH reference
    ok 52 - assert: HASH reference
    ok 53 - is: _T::HashOverload object
    ok 54 - assert: _T::HashOverload object
    ok 55 - is: CODE reference
    ok 56 - assert: CODE reference
    ok 57 - is: _T::CodeOverload object
    ok 58 - assert: _T::CodeOverload object
    ok 59 - is: "*main::SOME_GLOB"
    ok 60 - assert: "*main::SOME_GLOB"
    ok 61 - is: GLOB reference
    ok 62 - assert: GLOB reference
    ok 63 - is: _T::GlobOverload object
    ok 64 - assert: _T::GlobOverload object
    ok 65 - is: _T::GlobOverload object
    ok 66 - assert: _T::GlobOverload object
    ok 67 - is: open filehandle
    ok 68 - assert: open filehandle
    ok 69 - is: IO::File object
    ok 70 - assert: IO::File object
    ok 71 - is: Regexp object
    ok 72 - assert: Regexp object
    ok 73 - is: BlessedQR object
    ok 74 - assert: BlessedQR object
    ok 75 - is: _T::RegexOverload object
    ok 76 - assert: _T::RegexOverload object
    ok 77 - is: Regexp object
    ok 78 - assert: Regexp object
    ok 79 - is: FakeObject object
    ok 80 - assert: FakeObject object
    ok 81 - is: undef
    ok 82 - assert: undef
    1..82
ok 10 - Item
# Subtest: Maybe
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: _T::BoolOverload object (true)
    ok 6 - assert: _T::BoolOverload object (true)
    ok 7 - is: _T::BoolOverload object (false)
    ok 8 - assert: _T::BoolOverload object (false)
    ok 9 - is: 100
    ok 10 - assert: 100
    ok 11 - is: -100
    ok 12 - assert: -100
    ok 13 - is: 42.42
    ok 14 - assert: 42.42
    ok 15 - is: -42.42
    ok 16 - assert: -42.42
    ok 17 - is: _T::NumOverload object (0)
    ok 18 - assert: _T::NumOverload object (0)
    ok 19 - is: _T::NumOverload object (1)
    ok 20 - assert: _T::NumOverload object (1)
    ok 21 - is: _T::NumOverload object (-42)
    ok 22 - assert: _T::NumOverload object (-42)
    ok 23 - is: _T::NumOverload object (42.42)
    ok 24 - assert: _T::NumOverload object (42.42)
    ok 25 - is: _T::NumOverload object (42.42)
    ok 26 - assert: _T::NumOverload object (42.42)
    ok 27 - is: ''
    ok 28 - assert: ''
    ok 29 - is: "foo"
    ok 30 - assert: "foo"
    ok 31 - is: "has 42 in it"
    ok 32 - assert: "has 42 in it"
    ok 33 - is: _T::StrOverload object ('')
    ok 34 - assert: _T::StrOverload object ('')
    ok 35 - is: _T::StrOverload object ("full")
    ok 36 - assert: _T::StrOverload object ("full")
    ok 37 - is: "1\n"
    ok 38 - assert: "1\n"
    ok 39 - is: "\n1"
    ok 40 - assert: "\n1"
    ok 41 - is: SCALAR reference
    ok 42 - assert: SCALAR reference
    ok 43 - is: REF reference
    ok 44 - assert: REF reference
    ok 45 - is: _T::ScalarOverload object
    ok 46 - assert: _T::ScalarOverload object
    ok 47 - is: ARRAY reference
    ok 48 - assert: ARRAY reference
    ok 49 - is: _T::ArrayOverload object
    ok 50 - assert: _T::ArrayOverload object
    ok 51 - is: HASH reference
    ok 52 - assert: HASH reference
    ok 53 - is: _T::HashOverload object
    ok 54 - assert: _T::HashOverload object
    ok 55 - is: CODE reference
    ok 56 - assert: CODE reference
    ok 57 - is: _T::CodeOverload object
    ok 58 - assert: _T::CodeOverload object
    ok 59 - is: "*main::SOME_GLOB"
    ok 60 - assert: "*main::SOME_GLOB"
    ok 61 - is: GLOB reference
    ok 62 - assert: GLOB reference
    ok 63 - is: _T::GlobOverload object
    ok 64 - assert: _T::GlobOverload object
    ok 65 - is: _T::GlobOverload object
    ok 66 - assert: _T::GlobOverload object
    ok 67 - is: open filehandle
    ok 68 - assert: open filehandle
    ok 69 - is: IO::File object
    ok 70 - assert: IO::File object
    ok 71 - is: Regexp object
    ok 72 - assert: Regexp object
    ok 73 - is: BlessedQR object
    ok 74 - assert: BlessedQR object
    ok 75 - is: _T::RegexOverload object
    ok 76 - assert: _T::RegexOverload object
    ok 77 - is: Regexp object
    ok 78 - assert: Regexp object
    ok 79 - is: FakeObject object
    ok 80 - assert: FakeObject object
    ok 81 - is: undef
    ok 82 - assert: undef
    1..82
ok 11 - Maybe
# Subtest: Num
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: 100
    ok 6 - assert: 100
    ok 7 - is: -100
    ok 8 - assert: -100
    ok 9 - is: 42.42
    ok 10 - assert: 42.42
    ok 11 - is: -42.42
    ok 12 - assert: -42.42
    ok 13 - is: _T::NumOverload object (0)
    ok 14 - assert: _T::NumOverload object (0)
    ok 15 - is: _T::NumOverload object (1)
    ok 16 - assert: _T::NumOverload object (1)
    ok 17 - is: _T::NumOverload object (-42)
    ok 18 - assert: _T::NumOverload object (-42)
    ok 19 - is: _T::NumOverload object (42.42)
    ok 20 - assert: _T::NumOverload object (42.42)
    ok 21 - is: _T::NumOverload object (42.42)
    ok 22 - assert: _T::NumOverload object (42.42)
    ok 23 - is: 1e10
    ok 24 - assert: 1e10
    ok 25 - is: 1e-10
    ok 26 - assert: 1e-10
    ok 27 - is: 1.23456e10
    ok 28 - assert: 1.23456e10
    ok 29 - is: 1.23456e-10
    ok 30 - assert: 1.23456e-10
    ok 31 - is: 1e10
    ok 32 - assert: 1e10
    ok 33 - is: 1e-10
    ok 34 - assert: 1e-10
    ok 35 - is: 1.23456e10
    ok 36 - assert: 1.23456e10
    ok 37 - is: 1.23456e-10
    ok 38 - assert: 1.23456e-10
    ok 39 - is: -1e10
    ok 40 - assert: -1e10
    ok 41 - is: -1e-10
    ok 42 - assert: -1e-10
    ok 43 - is: -1.23456e10
    ok 44 - assert: -1.23456e10
    ok 45 - is: -1.23456e-10
    ok 46 - assert: -1.23456e-10
    ok 47 - is: -1e10
    ok 48 - assert: -1e10
    ok 49 - is: -1e-10
    ok 50 - assert: -1e-10
    ok 51 - is: -1.23456e10
    ok 52 - assert: -1.23456e10
    ok 53 - is: -1.23456e-10
    ok 54 - assert: -1.23456e-10
    ok 55 - is: -1e+10
    ok 56 - assert: -1e+10
    ok 57 - is: 1E10
    ok 58 - assert: 1E10
    ok 59 - !is: _T::BoolOverload object (true)
    ok 60 - !assert: _T::BoolOverload object (true)
    ok 61 - !is: _T::BoolOverload object (false)
    ok 62 - !assert: _T::BoolOverload object (false)
    ok 63 - !is: ''
    ok 64 - !assert: ''
    ok 65 - !is: "foo"
    ok 66 - !assert: "foo"
    ok 67 - !is: "has 42 in it"
    ok 68 - !assert: "has 42 in it"
    ok 69 - !is: _T::StrOverload object ('')
    ok 70 - !assert: _T::StrOverload object ('')
    ok 71 - !is: _T::StrOverload object ("full")
    ok 72 - !assert: _T::StrOverload object ("full")
    ok 73 - !is: SCALAR reference
    ok 74 - !assert: SCALAR reference
    ok 75 - !is: REF reference
    ok 76 - !assert: REF reference
    ok 77 - !is: _T::ScalarOverload object
    ok 78 - !assert: _T::ScalarOverload object
    ok 79 - !is: ARRAY reference
    ok 80 - !assert: ARRAY reference
    ok 81 - !is: _T::ArrayOverload object
    ok 82 - !assert: _T::ArrayOverload object
    ok 83 - !is: HASH reference
    ok 84 - !assert: HASH reference
    ok 85 - !is: _T::HashOverload object
    ok 86 - !assert: _T::HashOverload object
    ok 87 - !is: CODE reference
    ok 88 - !assert: CODE reference
    ok 89 - !is: _T::CodeOverload object
    ok 90 - !assert: _T::CodeOverload object
    ok 91 - !is: "*main::SOME_GLOB"
    ok 92 - !assert: "*main::SOME_GLOB"
    ok 93 - !is: GLOB reference
    ok 94 - !assert: GLOB reference
    ok 95 - !is: _T::GlobOverload object
    ok 96 - !assert: _T::GlobOverload object
    ok 97 - !is: _T::GlobOverload object
    ok 98 - !assert: _T::GlobOverload object
    ok 99 - !is: open filehandle
    ok 100 - !assert: open filehandle
    ok 101 - !is: IO::File object
    ok 102 - !assert: IO::File object
    ok 103 - !is: "1\n"
    ok 104 - !assert: "1\n"
    ok 105 - !is: "\n1"
    ok 106 - !assert: "\n1"
    ok 107 - !is: Regexp object
    ok 108 - !assert: Regexp object
    ok 109 - !is: BlessedQR object
    ok 110 - !assert: BlessedQR object
    ok 111 - !is: _T::RegexOverload object
    ok 112 - !assert: _T::RegexOverload object
    ok 113 - !is: Regexp object
    ok 114 - !assert: Regexp object
    ok 115 - !is: FakeObject object
    ok 116 - !assert: FakeObject object
    ok 117 - !is: undef
    ok 118 - !assert: undef
    1..118
ok 12 - Num
# Subtest: Object
    ok 1 - is: _T::BoolOverload object (true)
    ok 2 - assert: _T::BoolOverload object (true)
    ok 3 - is: _T::BoolOverload object (false)
    ok 4 - assert: _T::BoolOverload object (false)
    ok 5 - is: _T::StrOverload object ('')
    ok 6 - assert: _T::StrOverload object ('')
    ok 7 - is: _T::StrOverload object ("full")
    ok 8 - assert: _T::StrOverload object ("full")
    ok 9 - is: _T::NumOverload object (0)
    ok 10 - assert: _T::NumOverload object (0)
    ok 11 - is: _T::NumOverload object (1)
    ok 12 - assert: _T::NumOverload object (1)
    ok 13 - is: _T::NumOverload object (-42)
    ok 14 - assert: _T::NumOverload object (-42)
    ok 15 - is: _T::NumOverload object (42.42)
    ok 16 - assert: _T::NumOverload object (42.42)
    ok 17 - is: _T::NumOverload object (42.42)
    ok 18 - assert: _T::NumOverload object (42.42)
    ok 19 - is: _T::CodeOverload object
    ok 20 - assert: _T::CodeOverload object
    ok 21 - is: IO::File object
    ok 22 - assert: IO::File object
    ok 23 - is: Regexp object
    ok 24 - assert: Regexp object
    ok 25 - is: BlessedQR object
    ok 26 - assert: BlessedQR object
    ok 27 - is: _T::RegexOverload object
    ok 28 - assert: _T::RegexOverload object
    ok 29 - is: Regexp object
    ok 30 - assert: Regexp object
    ok 31 - is: _T::GlobOverload object
    ok 32 - assert: _T::GlobOverload object
    ok 33 - is: _T::GlobOverload object
    ok 34 - assert: _T::GlobOverload object
    ok 35 - is: _T::ScalarOverload object
    ok 36 - assert: _T::ScalarOverload object
    ok 37 - is: _T::ArrayOverload object
    ok 38 - assert: _T::ArrayOverload object
    ok 39 - is: _T::HashOverload object
    ok 40 - assert: _T::HashOverload object
    ok 41 - is: FakeObject object
    ok 42 - assert: FakeObject object
    ok 43 - !is: 0
    ok 44 - !assert: 0
    ok 45 - !is: 1
    ok 46 - !assert: 1
    ok 47 - !is: 100
    ok 48 - !assert: 100
    ok 49 - !is: -100
    ok 50 - !assert: -100
    ok 51 - !is: 42.42
    ok 52 - !assert: 42.42
    ok 53 - !is: -42.42
    ok 54 - !assert: -42.42
    ok 55 - !is: ''
    ok 56 - !assert: ''
    ok 57 - !is: "foo"
    ok 58 - !assert: "foo"
    ok 59 - !is: "has 42 in it"
    ok 60 - !assert: "has 42 in it"
    ok 61 - !is: "1\n"
    ok 62 - !assert: "1\n"
    ok 63 - !is: "\n1"
    ok 64 - !assert: "\n1"
    ok 65 - !is: SCALAR reference
    ok 66 - !assert: SCALAR reference
    ok 67 - !is: REF reference
    ok 68 - !assert: REF reference
    ok 69 - !is: ARRAY reference
    ok 70 - !assert: ARRAY reference
    ok 71 - !is: HASH reference
    ok 72 - !assert: HASH reference
    ok 73 - !is: CODE reference
    ok 74 - !assert: CODE reference
    ok 75 - !is: "*main::SOME_GLOB"
    ok 76 - !assert: "*main::SOME_GLOB"
    ok 77 - !is: GLOB reference
    ok 78 - !assert: GLOB reference
    ok 79 - !is: open filehandle
    ok 80 - !assert: open filehandle
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 13 - Object
# Subtest: Ref
    ok 1 - is: _T::BoolOverload object (true)
    ok 2 - assert: _T::BoolOverload object (true)
    ok 3 - is: _T::BoolOverload object (false)
    ok 4 - assert: _T::BoolOverload object (false)
    ok 5 - is: _T::StrOverload object ('')
    ok 6 - assert: _T::StrOverload object ('')
    ok 7 - is: _T::StrOverload object ("full")
    ok 8 - assert: _T::StrOverload object ("full")
    ok 9 - is: _T::NumOverload object (0)
    ok 10 - assert: _T::NumOverload object (0)
    ok 11 - is: _T::NumOverload object (1)
    ok 12 - assert: _T::NumOverload object (1)
    ok 13 - is: _T::NumOverload object (-42)
    ok 14 - assert: _T::NumOverload object (-42)
    ok 15 - is: _T::NumOverload object (42.42)
    ok 16 - assert: _T::NumOverload object (42.42)
    ok 17 - is: _T::NumOverload object (42.42)
    ok 18 - assert: _T::NumOverload object (42.42)
    ok 19 - is: SCALAR reference
    ok 20 - assert: SCALAR reference
    ok 21 - is: REF reference
    ok 22 - assert: REF reference
    ok 23 - is: _T::ScalarOverload object
    ok 24 - assert: _T::ScalarOverload object
    ok 25 - is: ARRAY reference
    ok 26 - assert: ARRAY reference
    ok 27 - is: _T::ArrayOverload object
    ok 28 - assert: _T::ArrayOverload object
    ok 29 - is: HASH reference
    ok 30 - assert: HASH reference
    ok 31 - is: _T::HashOverload object
    ok 32 - assert: _T::HashOverload object
    ok 33 - is: CODE reference
    ok 34 - assert: CODE reference
    ok 35 - is: _T::CodeOverload object
    ok 36 - assert: _T::CodeOverload object
    ok 37 - is: GLOB reference
    ok 38 - assert: GLOB reference
    ok 39 - is: _T::GlobOverload object
    ok 40 - assert: _T::GlobOverload object
    ok 41 - is: _T::GlobOverload object
    ok 42 - assert: _T::GlobOverload object
    ok 43 - is: open filehandle
    ok 44 - assert: open filehandle
    ok 45 - is: IO::File object
    ok 46 - assert: IO::File object
    ok 47 - is: Regexp object
    ok 48 - assert: Regexp object
    ok 49 - is: BlessedQR object
    ok 50 - assert: BlessedQR object
    ok 51 - is: _T::RegexOverload object
    ok 52 - assert: _T::RegexOverload object
    ok 53 - is: Regexp object
    ok 54 - assert: Regexp object
    ok 55 - is: FakeObject object
    ok 56 - assert: FakeObject object
    ok 57 - !is: 0
    ok 58 - !assert: 0
    ok 59 - !is: 1
    ok 60 - !assert: 1
    ok 61 - !is: 100
    ok 62 - !assert: 100
    ok 63 - !is: -100
    ok 64 - !assert: -100
    ok 65 - !is: 42.42
    ok 66 - !assert: 42.42
    ok 67 - !is: -42.42
    ok 68 - !assert: -42.42
    ok 69 - !is: ''
    ok 70 - !assert: ''
    ok 71 - !is: "foo"
    ok 72 - !assert: "foo"
    ok 73 - !is: "has 42 in it"
    ok 74 - !assert: "has 42 in it"
    ok 75 - !is: "1\n"
    ok 76 - !assert: "1\n"
    ok 77 - !is: "\n1"
    ok 78 - !assert: "\n1"
    ok 79 - !is: "*main::SOME_GLOB"
    ok 80 - !assert: "*main::SOME_GLOB"
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 14 - Ref
# Subtest: RegexpRef
    ok 1 - is: Regexp object
    ok 2 - assert: Regexp object
    ok 3 - is: BlessedQR object
    ok 4 - assert: BlessedQR object
    ok 5 - is: _T::RegexOverload object
    ok 6 - assert: _T::RegexOverload object
    ok 7 - !is: 0
    ok 8 - !assert: 0
    ok 9 - !is: 1
    ok 10 - !assert: 1
    ok 11 - !is: _T::BoolOverload object (true)
    ok 12 - !assert: _T::BoolOverload object (true)
    ok 13 - !is: _T::BoolOverload object (false)
    ok 14 - !assert: _T::BoolOverload object (false)
    ok 15 - !is: 100
    ok 16 - !assert: 100
    ok 17 - !is: -100
    ok 18 - !assert: -100
    ok 19 - !is: 42.42
    ok 20 - !assert: 42.42
    ok 21 - !is: -42.42
    ok 22 - !assert: -42.42
    ok 23 - !is: _T::NumOverload object (0)
    ok 24 - !assert: _T::NumOverload object (0)
    ok 25 - !is: _T::NumOverload object (1)
    ok 26 - !assert: _T::NumOverload object (1)
    ok 27 - !is: _T::NumOverload object (-42)
    ok 28 - !assert: _T::NumOverload object (-42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: _T::NumOverload object (42.42)
    ok 32 - !assert: _T::NumOverload object (42.42)
    ok 33 - !is: ''
    ok 34 - !assert: ''
    ok 35 - !is: "foo"
    ok 36 - !assert: "foo"
    ok 37 - !is: "has 42 in it"
    ok 38 - !assert: "has 42 in it"
    ok 39 - !is: _T::StrOverload object ('')
    ok 40 - !assert: _T::StrOverload object ('')
    ok 41 - !is: _T::StrOverload object ("full")
    ok 42 - !assert: _T::StrOverload object ("full")
    ok 43 - !is: "1\n"
    ok 44 - !assert: "1\n"
    ok 45 - !is: "\n1"
    ok 46 - !assert: "\n1"
    ok 47 - !is: SCALAR reference
    ok 48 - !assert: SCALAR reference
    ok 49 - !is: REF reference
    ok 50 - !assert: REF reference
    ok 51 - !is: _T::ScalarOverload object
    ok 52 - !assert: _T::ScalarOverload object
    ok 53 - !is: ARRAY reference
    ok 54 - !assert: ARRAY reference
    ok 55 - !is: _T::ArrayOverload object
    ok 56 - !assert: _T::ArrayOverload object
    ok 57 - !is: HASH reference
    ok 58 - !assert: HASH reference
    ok 59 - !is: _T::HashOverload object
    ok 60 - !assert: _T::HashOverload object
    ok 61 - !is: CODE reference
    ok 62 - !assert: CODE reference
    ok 63 - !is: _T::CodeOverload object
    ok 64 - !assert: _T::CodeOverload object
    ok 65 - !is: "*main::SOME_GLOB"
    ok 66 - !assert: "*main::SOME_GLOB"
    ok 67 - !is: GLOB reference
    ok 68 - !assert: GLOB reference
    ok 69 - !is: _T::GlobOverload object
    ok 70 - !assert: _T::GlobOverload object
    ok 71 - !is: _T::GlobOverload object
    ok 72 - !assert: _T::GlobOverload object
    ok 73 - !is: open filehandle
    ok 74 - !assert: open filehandle
    ok 75 - !is: IO::File object
    ok 76 - !assert: IO::File object
    ok 77 - !is: FakeObject object
    ok 78 - !assert: FakeObject object
    ok 79 - !is: undef
    ok 80 - !assert: undef
    ok 81 - !is: Regexp object
    ok 82 - !assert: Regexp object
    1..82
ok 15 - RegexpRef
# Subtest: ScalarRef
    ok 1 - is: SCALAR reference
    ok 2 - assert: SCALAR reference
    ok 3 - is: REF reference
    ok 4 - assert: REF reference
    ok 5 - is: _T::ScalarOverload object
    ok 6 - assert: _T::ScalarOverload object
    ok 7 - !is: 0
    ok 8 - !assert: 0
    ok 9 - !is: 1
    ok 10 - !assert: 1
    ok 11 - !is: _T::BoolOverload object (true)
    ok 12 - !assert: _T::BoolOverload object (true)
    ok 13 - !is: _T::BoolOverload object (false)
    ok 14 - !assert: _T::BoolOverload object (false)
    ok 15 - !is: 100
    ok 16 - !assert: 100
    ok 17 - !is: -100
    ok 18 - !assert: -100
    ok 19 - !is: 42.42
    ok 20 - !assert: 42.42
    ok 21 - !is: -42.42
    ok 22 - !assert: -42.42
    ok 23 - !is: _T::NumOverload object (0)
    ok 24 - !assert: _T::NumOverload object (0)
    ok 25 - !is: _T::NumOverload object (1)
    ok 26 - !assert: _T::NumOverload object (1)
    ok 27 - !is: _T::NumOverload object (-42)
    ok 28 - !assert: _T::NumOverload object (-42)
    ok 29 - !is: _T::NumOverload object (42.42)
    ok 30 - !assert: _T::NumOverload object (42.42)
    ok 31 - !is: _T::NumOverload object (42.42)
    ok 32 - !assert: _T::NumOverload object (42.42)
    ok 33 - !is: ''
    ok 34 - !assert: ''
    ok 35 - !is: "foo"
    ok 36 - !assert: "foo"
    ok 37 - !is: "has 42 in it"
    ok 38 - !assert: "has 42 in it"
    ok 39 - !is: _T::StrOverload object ('')
    ok 40 - !assert: _T::StrOverload object ('')
    ok 41 - !is: _T::StrOverload object ("full")
    ok 42 - !assert: _T::StrOverload object ("full")
    ok 43 - !is: "1\n"
    ok 44 - !assert: "1\n"
    ok 45 - !is: "\n1"
    ok 46 - !assert: "\n1"
    ok 47 - !is: ARRAY reference
    ok 48 - !assert: ARRAY reference
    ok 49 - !is: _T::ArrayOverload object
    ok 50 - !assert: _T::ArrayOverload object
    ok 51 - !is: HASH reference
    ok 52 - !assert: HASH reference
    ok 53 - !is: _T::HashOverload object
    ok 54 - !assert: _T::HashOverload object
    ok 55 - !is: CODE reference
    ok 56 - !assert: CODE reference
    ok 57 - !is: _T::CodeOverload object
    ok 58 - !assert: _T::CodeOverload object
    ok 59 - !is: "*main::SOME_GLOB"
    ok 60 - !assert: "*main::SOME_GLOB"
    ok 61 - !is: GLOB reference
    ok 62 - !assert: GLOB reference
    ok 63 - !is: _T::GlobOverload object
    ok 64 - !assert: _T::GlobOverload object
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: open filehandle
    ok 68 - !assert: open filehandle
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: Regexp object
    ok 72 - !assert: Regexp object
    ok 73 - !is: BlessedQR object
    ok 74 - !assert: BlessedQR object
    ok 75 - !is: _T::RegexOverload object
    ok 76 - !assert: _T::RegexOverload object
    ok 77 - !is: Regexp object
    ok 78 - !assert: Regexp object
    ok 79 - !is: FakeObject object
    ok 80 - !assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 16 - ScalarRef
# Subtest: Str
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: 100
    ok 6 - assert: 100
    ok 7 - is: -100
    ok 8 - assert: -100
    ok 9 - is: 42.42
    ok 10 - assert: 42.42
    ok 11 - is: -42.42
    ok 12 - assert: -42.42
    ok 13 - is: ''
    ok 14 - assert: ''
    ok 15 - is: "foo"
    ok 16 - assert: "foo"
    ok 17 - is: "has 42 in it"
    ok 18 - assert: "has 42 in it"
    ok 19 - is: _T::StrOverload object ('')
    ok 20 - assert: _T::StrOverload object ('')
    ok 21 - is: _T::StrOverload object ("full")
    ok 22 - assert: _T::StrOverload object ("full")
    ok 23 - is: "1\n"
    ok 24 - assert: "1\n"
    ok 25 - is: "\n1"
    ok 26 - assert: "\n1"
    ok 27 - !is: _T::BoolOverload object (true)
    ok 28 - !assert: _T::BoolOverload object (true)
    ok 29 - !is: _T::BoolOverload object (false)
    ok 30 - !assert: _T::BoolOverload object (false)
    ok 31 - !is: _T::NumOverload object (0)
    ok 32 - !assert: _T::NumOverload object (0)
    ok 33 - !is: _T::NumOverload object (1)
    ok 34 - !assert: _T::NumOverload object (1)
    ok 35 - !is: _T::NumOverload object (-42)
    ok 36 - !assert: _T::NumOverload object (-42)
    ok 37 - !is: _T::NumOverload object (42.42)
    ok 38 - !assert: _T::NumOverload object (42.42)
    ok 39 - !is: _T::NumOverload object (42.42)
    ok 40 - !assert: _T::NumOverload object (42.42)
    ok 41 - !is: SCALAR reference
    ok 42 - !assert: SCALAR reference
    ok 43 - !is: REF reference
    ok 44 - !assert: REF reference
    ok 45 - !is: _T::ScalarOverload object
    ok 46 - !assert: _T::ScalarOverload object
    ok 47 - !is: ARRAY reference
    ok 48 - !assert: ARRAY reference
    ok 49 - !is: _T::ArrayOverload object
    ok 50 - !assert: _T::ArrayOverload object
    ok 51 - !is: HASH reference
    ok 52 - !assert: HASH reference
    ok 53 - !is: _T::HashOverload object
    ok 54 - !assert: _T::HashOverload object
    ok 55 - !is: CODE reference
    ok 56 - !assert: CODE reference
    ok 57 - !is: _T::CodeOverload object
    ok 58 - !assert: _T::CodeOverload object
    ok 59 - !is: "*main::SOME_GLOB"
    ok 60 - !assert: "*main::SOME_GLOB"
    ok 61 - !is: GLOB reference
    ok 62 - !assert: GLOB reference
    ok 63 - !is: _T::GlobOverload object
    ok 64 - !assert: _T::GlobOverload object
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: open filehandle
    ok 68 - !assert: open filehandle
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: Regexp object
    ok 72 - !assert: Regexp object
    ok 73 - !is: BlessedQR object
    ok 74 - !assert: BlessedQR object
    ok 75 - !is: _T::RegexOverload object
    ok 76 - !assert: _T::RegexOverload object
    ok 77 - !is: Regexp object
    ok 78 - !assert: Regexp object
    ok 79 - !is: FakeObject object
    ok 80 - !assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 17 - Str
# Subtest: Undef
    ok 1 - is: undef
    ok 2 - assert: undef
    ok 3 - !is: 0
    ok 4 - !assert: 0
    ok 5 - !is: 1
    ok 6 - !assert: 1
    ok 7 - !is: _T::BoolOverload object (true)
    ok 8 - !assert: _T::BoolOverload object (true)
    ok 9 - !is: _T::BoolOverload object (false)
    ok 10 - !assert: _T::BoolOverload object (false)
    ok 11 - !is: 100
    ok 12 - !assert: 100
    ok 13 - !is: -100
    ok 14 - !assert: -100
    ok 15 - !is: 42.42
    ok 16 - !assert: 42.42
    ok 17 - !is: -42.42
    ok 18 - !assert: -42.42
    ok 19 - !is: _T::NumOverload object (0)
    ok 20 - !assert: _T::NumOverload object (0)
    ok 21 - !is: _T::NumOverload object (1)
    ok 22 - !assert: _T::NumOverload object (1)
    ok 23 - !is: _T::NumOverload object (-42)
    ok 24 - !assert: _T::NumOverload object (-42)
    ok 25 - !is: _T::NumOverload object (42.42)
    ok 26 - !assert: _T::NumOverload object (42.42)
    ok 27 - !is: _T::NumOverload object (42.42)
    ok 28 - !assert: _T::NumOverload object (42.42)
    ok 29 - !is: ''
    ok 30 - !assert: ''
    ok 31 - !is: "foo"
    ok 32 - !assert: "foo"
    ok 33 - !is: "has 42 in it"
    ok 34 - !assert: "has 42 in it"
    ok 35 - !is: _T::StrOverload object ('')
    ok 36 - !assert: _T::StrOverload object ('')
    ok 37 - !is: _T::StrOverload object ("full")
    ok 38 - !assert: _T::StrOverload object ("full")
    ok 39 - !is: "1\n"
    ok 40 - !assert: "1\n"
    ok 41 - !is: "\n1"
    ok 42 - !assert: "\n1"
    ok 43 - !is: SCALAR reference
    ok 44 - !assert: SCALAR reference
    ok 45 - !is: REF reference
    ok 46 - !assert: REF reference
    ok 47 - !is: _T::ScalarOverload object
    ok 48 - !assert: _T::ScalarOverload object
    ok 49 - !is: ARRAY reference
    ok 50 - !assert: ARRAY reference
    ok 51 - !is: _T::ArrayOverload object
    ok 52 - !assert: _T::ArrayOverload object
    ok 53 - !is: HASH reference
    ok 54 - !assert: HASH reference
    ok 55 - !is: _T::HashOverload object
    ok 56 - !assert: _T::HashOverload object
    ok 57 - !is: CODE reference
    ok 58 - !assert: CODE reference
    ok 59 - !is: _T::CodeOverload object
    ok 60 - !assert: _T::CodeOverload object
    ok 61 - !is: "*main::SOME_GLOB"
    ok 62 - !assert: "*main::SOME_GLOB"
    ok 63 - !is: GLOB reference
    ok 64 - !assert: GLOB reference
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: _T::GlobOverload object
    ok 68 - !assert: _T::GlobOverload object
    ok 69 - !is: open filehandle
    ok 70 - !assert: open filehandle
    ok 71 - !is: IO::File object
    ok 72 - !assert: IO::File object
    ok 73 - !is: Regexp object
    ok 74 - !assert: Regexp object
    ok 75 - !is: BlessedQR object
    ok 76 - !assert: BlessedQR object
    ok 77 - !is: _T::RegexOverload object
    ok 78 - !assert: _T::RegexOverload object
    ok 79 - !is: Regexp object
    ok 80 - !assert: Regexp object
    ok 81 - !is: FakeObject object
    ok 82 - !assert: FakeObject object
    1..82
ok 18 - Undef
# Subtest: Value
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: 100
    ok 6 - assert: 100
    ok 7 - is: -100
    ok 8 - assert: -100
    ok 9 - is: 42.42
    ok 10 - assert: 42.42
    ok 11 - is: -42.42
    ok 12 - assert: -42.42
    ok 13 - is: ''
    ok 14 - assert: ''
    ok 15 - is: "foo"
    ok 16 - assert: "foo"
    ok 17 - is: "has 42 in it"
    ok 18 - assert: "has 42 in it"
    ok 19 - is: "1\n"
    ok 20 - assert: "1\n"
    ok 21 - is: "\n1"
    ok 22 - assert: "\n1"
    ok 23 - is: "*main::SOME_GLOB"
    ok 24 - assert: "*main::SOME_GLOB"
    ok 25 - !is: _T::BoolOverload object (true)
    ok 26 - !assert: _T::BoolOverload object (true)
    ok 27 - !is: _T::BoolOverload object (false)
    ok 28 - !assert: _T::BoolOverload object (false)
    ok 29 - !is: _T::StrOverload object ('')
    ok 30 - !assert: _T::StrOverload object ('')
    ok 31 - !is: _T::StrOverload object ("full")
    ok 32 - !assert: _T::StrOverload object ("full")
    ok 33 - !is: _T::NumOverload object (0)
    ok 34 - !assert: _T::NumOverload object (0)
    ok 35 - !is: _T::NumOverload object (1)
    ok 36 - !assert: _T::NumOverload object (1)
    ok 37 - !is: _T::NumOverload object (-42)
    ok 38 - !assert: _T::NumOverload object (-42)
    ok 39 - !is: _T::NumOverload object (42.42)
    ok 40 - !assert: _T::NumOverload object (42.42)
    ok 41 - !is: _T::NumOverload object (42.42)
    ok 42 - !assert: _T::NumOverload object (42.42)
    ok 43 - !is: SCALAR reference
    ok 44 - !assert: SCALAR reference
    ok 45 - !is: REF reference
    ok 46 - !assert: REF reference
    ok 47 - !is: _T::ScalarOverload object
    ok 48 - !assert: _T::ScalarOverload object
    ok 49 - !is: ARRAY reference
    ok 50 - !assert: ARRAY reference
    ok 51 - !is: _T::ArrayOverload object
    ok 52 - !assert: _T::ArrayOverload object
    ok 53 - !is: HASH reference
    ok 54 - !assert: HASH reference
    ok 55 - !is: _T::HashOverload object
    ok 56 - !assert: _T::HashOverload object
    ok 57 - !is: CODE reference
    ok 58 - !assert: CODE reference
    ok 59 - !is: _T::CodeOverload object
    ok 60 - !assert: _T::CodeOverload object
    ok 61 - !is: GLOB reference
    ok 62 - !assert: GLOB reference
    ok 63 - !is: _T::GlobOverload object
    ok 64 - !assert: _T::GlobOverload object
    ok 65 - !is: _T::GlobOverload object
    ok 66 - !assert: _T::GlobOverload object
    ok 67 - !is: open filehandle
    ok 68 - !assert: open filehandle
    ok 69 - !is: IO::File object
    ok 70 - !assert: IO::File object
    ok 71 - !is: Regexp object
    ok 72 - !assert: Regexp object
    ok 73 - !is: BlessedQR object
    ok 74 - !assert: BlessedQR object
    ok 75 - !is: _T::RegexOverload object
    ok 76 - !assert: _T::RegexOverload object
    ok 77 - !is: Regexp object
    ok 78 - !assert: Regexp object
    ok 79 - !is: FakeObject object
    ok 80 - !assert: FakeObject object
    ok 81 - !is: undef
    ok 82 - !assert: undef
    1..82
ok 19 - Value
# Subtest: IntNI
    ok 1 - is: 0
    ok 2 - assert: 0
    ok 3 - is: 1
    ok 4 - assert: 1
    ok 5 - is: 100
    ok 6 - assert: 100
    ok 7 - is: -100
    ok 8 - assert: -100
    ok 9 - is: _T::NumOverload object (0)
    ok 10 - assert: _T::NumOverload object (0)
    ok 11 - is: _T::NumOverload object (1)
    ok 12 - assert: _T::NumOverload object (1)
    ok 13 - is: _T::NumOverload object (-42)
    ok 14 - assert: _T::NumOverload object (-42)
    ok 15 - is: 1e20
    ok 16 - assert: 1e20
    ok 17 - is: 1e100
    ok 18 - assert: 1e100
    ok 19 - is: -1e10
    ok 20 - assert: -1e10
    ok 21 - is: -1e+10
    ok 22 - assert: -1e+10
    ok 23 - is: 1E20
    ok 24 - assert: 1E20
    ok 25 - !is: _T::BoolOverload object (true)
    ok 26 - !assert: _T::BoolOverload object (true)
    ok 27 - !is: _T::BoolOverload object (false)
    ok 28 - !assert: _T::BoolOverload object (false)
    ok 29 - !is: 42.42
    ok 30 - !assert: 42.42
    ok 31 - !is: -42.42
    ok 32 - !assert: -42.42
    ok 33 - !is: _T::NumOverload object (42.42)
    ok 34 - !assert: _T::NumOverload object (42.42)
    ok 35 - !is: _T::NumOverload object (42.42)
    ok 36 - !assert: _T::NumOverload object (42.42)
    ok 37 - !is: ''
    ok 38 - !assert: ''
    ok 39 - !is: "foo"
    ok 40 - !assert: "foo"
    ok 41 - !is: "has 42 in it"
    ok 42 - !assert: "has 42 in it"
    ok 43 - !is: _T::StrOverload object ('')
    ok 44 - !assert: _T::StrOverload object ('')
    ok 45 - !is: _T::StrOverload object ("full")
    ok 46 - !assert: _T::StrOverload object ("full")
    ok 47 - !is: "1\n"
    ok 48 - !assert: "1\n"
    ok 49 - !is: "\n1"
    ok 50 - !assert: "\n1"
    ok 51 - !is: SCALAR reference
    ok 52 - !assert: SCALAR reference
    ok 53 - !is: REF reference
    ok 54 - !assert: REF reference
    ok 55 - !is: _T::ScalarOverload object
    ok 56 - !assert: _T::ScalarOverload object
    ok 57 - !is: ARRAY reference
    ok 58 - !assert: ARRAY reference
    ok 59 - !is: _T::ArrayOverload object
    ok 60 - !assert: _T::ArrayOverload object
    ok 61 - !is: HASH reference
    ok 62 - !assert: HASH reference
    ok 63 - !is: _T::HashOverload object
    ok 64 - !assert: _T::HashOverload object
    ok 65 - !is: CODE reference
    ok 66 - !assert: CODE reference
    ok 67 - !is: _T::CodeOverload object
    ok 68 - !assert: _T::CodeOverload object
    ok 69 - !is: "*main::SOME_GLOB"
    ok 70 - !assert: "*main::SOME_GLOB"
    ok 71 - !is: GLOB reference
    ok 72 - !assert: GLOB reference
    ok 73 - !is: _T::GlobOverload object
    ok 74 - !assert: _T::GlobOverload object
    ok 75 - !is: _T::GlobOverload object
    ok 76 - !assert: _T::GlobOverload object
    ok 77 - !is: open filehandle
    ok 78 - !assert: open filehandle
    ok 79 - !is: IO::File object
    ok 80 - !assert: IO::File object
    ok 81 - !is: Regexp object
    ok 82 - !assert: Regexp object
    ok 83 - !is: BlessedQR object
    ok 84 - !assert: BlessedQR object
    ok 85 - !is: _T::RegexOverload object
    ok 86 - !assert: _T::RegexOverload object
    ok 87 - !is: Regexp object
    ok 88 - !assert: Regexp object
    ok 89 - !is: FakeObject object
    ok 90 - !assert: FakeObject object
    ok 91 - !is: undef
    ok 92 - !assert: undef
    ok 93 - !is: 1e-10
    ok 94 - !assert: 1e-10
    ok 95 - !is: -1e-10
    ok 96 - !assert: -1e-10
    ok 97 - !is: 1.23456e10
    ok 98 - !assert: 1.23456e10
    ok 99 - !is: 1.23456e-10
    ok 100 - !assert: 1.23456e-10
    ok 101 - !is: -1.23456e10
    ok 102 - !assert: -1.23456e10
    ok 103 - !is: -1.23456e-10
    ok 104 - !assert: -1.23456e-10
    ok 105 - !is: -1.23456e+10
    ok 106 - !assert: -1.23456e+10
    1..106
ok 20 - IntNI
ok 21 - got exception trying to make subs from a library where the types are not valid sub names
# Subtest: coercions
    ok 1 - no exception making subs from library with coercions
    ok 2 - to_IntC(ARRAYREF) returns 3
    ok 3 - force_IntC(ARRAYREF) returns 3
    ok 4 - to_IntC(HASHREF) returns 2
    ok 5 - force_IntC(HASHREF) returns 2
    ok 6 - to_IntC(SCALARREF) returns original value
    ok 7 - force_IntC(SCALARREF) throws exception
    1..7
ok 22 - coercions
1..22
ok
t/t-clean.t ................ 
ok 1 - t sub is cleaned by namespace::autoclean
1..1
ok
t/tuple.t .................. 
# Subtest: Tuple[ UCStr, Int, Str ]
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 2 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects ARRAY reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects undef
    1..43
ok 1 - Tuple[ UCStr, Int, Str ]
# Subtest: Tuple[ UCStr, Int, Str? ]
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts ARRAY reference
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 3 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects ARRAY reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects undef
    1..43
ok 2 - Tuple[ UCStr, Int, Str? ]
# Subtest: Tuple[ UCStr, Int, Str?, Str? ]
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts ARRAY reference
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts ARRAY reference
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects ARRAY reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects undef
    1..45
ok 3 - Tuple[ UCStr, Int, Str?, Str? ]
# Subtest: Tuple[UCStr, Int, Str...]
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 1 - accepts ARRAY reference
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 2 - accepts ARRAY reference
    # Subtest: accepts ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using non-inlined constraint
        ok 4 - using inlined constraint
        1..4
    ok 3 - accepts ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 4 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 5 - rejects ARRAY reference
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 6 - rejects ARRAY reference
    # Subtest: rejects 0
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 7 - rejects 0
    # Subtest: rejects 1
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 8 - rejects 1
    # Subtest: rejects _T::BoolOverload object (true)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 9 - rejects _T::BoolOverload object (true)
    # Subtest: rejects _T::BoolOverload object (false)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 10 - rejects _T::BoolOverload object (false)
    # Subtest: rejects 100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 11 - rejects 100
    # Subtest: rejects -100
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 12 - rejects -100
    # Subtest: rejects 42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 13 - rejects 42.42
    # Subtest: rejects -42.42
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 14 - rejects -42.42
    # Subtest: rejects _T::NumOverload object (0)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 15 - rejects _T::NumOverload object (0)
    # Subtest: rejects _T::NumOverload object (1)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 16 - rejects _T::NumOverload object (1)
    # Subtest: rejects _T::NumOverload object (-42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 17 - rejects _T::NumOverload object (-42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 18 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects _T::NumOverload object (42.42)
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 19 - rejects _T::NumOverload object (42.42)
    # Subtest: rejects ''
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 20 - rejects ''
    # Subtest: rejects "foo"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 21 - rejects "foo"
    # Subtest: rejects "has 42 in it"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 22 - rejects "has 42 in it"
    # Subtest: rejects _T::StrOverload object ('')
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 23 - rejects _T::StrOverload object ('')
    # Subtest: rejects _T::StrOverload object ("full")
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 24 - rejects _T::StrOverload object ("full")
    # Subtest: rejects "1\n"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 25 - rejects "1\n"
    # Subtest: rejects "\n1"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 26 - rejects "\n1"
    # Subtest: rejects SCALAR reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 27 - rejects SCALAR reference
    # Subtest: rejects REF reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 28 - rejects REF reference
    # Subtest: rejects _T::ScalarOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 29 - rejects _T::ScalarOverload object
    # Subtest: rejects ARRAY reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 30 - rejects ARRAY reference
    # Subtest: rejects _T::ArrayOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 31 - rejects _T::ArrayOverload object
    # Subtest: rejects CODE reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 32 - rejects CODE reference
    # Subtest: rejects _T::CodeOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 33 - rejects _T::CodeOverload object
    # Subtest: rejects "*main::SOME_GLOB"
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 34 - rejects "*main::SOME_GLOB"
    # Subtest: rejects GLOB reference
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 35 - rejects GLOB reference
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 36 - rejects _T::GlobOverload object
    # Subtest: rejects _T::GlobOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 37 - rejects _T::GlobOverload object
    # Subtest: rejects open filehandle
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 38 - rejects open filehandle
    # Subtest: rejects IO::File object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 39 - rejects IO::File object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 40 - rejects Regexp object
    # Subtest: rejects BlessedQR object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 41 - rejects BlessedQR object
    # Subtest: rejects _T::RegexOverload object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 42 - rejects _T::RegexOverload object
    # Subtest: rejects Regexp object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 43 - rejects Regexp object
    # Subtest: rejects FakeObject object
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 44 - rejects FakeObject object
    # Subtest: rejects undef
        ok 1 - using ->value_is_valid
        ok 2 - using subref overloading
        ok 3 - using inlined constraint
        1..3
    ok 45 - rejects undef
    1..45
ok 4 - Tuple[UCStr, Int, Str...]
ok 5 - got expected generated name for simple Tuple
ok 6 - got expected generated name for Tuple with optional element
ok 7 - got expected generated name for Tuple with slurpy
ok 8 - No exception thrown when importing a Map type
1..8
ok
t/union-library.t .......... 
ok 1 - type named Union is available
ok 2 - no exception retrieving Union type
1..2
ok
t/union.t .................. 
# Subtest: unnamed union made of two builtins
    ok 1 - union of two types with inline generator has a generator
    ok 2 - name is generated from constituent types
    ok 3 - unnamed union is not anonymous because name is generated
    ok 4 - parent method returns undef
    ok 5 - union has no parent
    # Subtest: Int | ArrayRef
        # Subtest: accepts 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts 0
        # Subtest: accepts 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts 1
        # Subtest: accepts 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 3 - accepts 100
        # Subtest: accepts -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 4 - accepts -100
        # Subtest: accepts _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 5 - accepts _T::NumOverload object (0)
        # Subtest: accepts _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 6 - accepts _T::NumOverload object (1)
        # Subtest: accepts _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 7 - accepts _T::NumOverload object (-42)
        # Subtest: accepts 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 8 - accepts 1e20
        # Subtest: accepts 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 9 - accepts 1e100
        # Subtest: accepts -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 10 - accepts -1e10
        # Subtest: accepts -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 11 - accepts -1e+10
        # Subtest: accepts 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 12 - accepts 1E20
        # Subtest: accepts ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 13 - accepts ARRAY reference
        # Subtest: accepts _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 14 - accepts _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 48 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 49 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 50 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 51 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 52 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 53 - rejects -1.23456e+10
        1..53
    ok 6 - Int | ArrayRef
    1..6
ok 1 - unnamed union made of two builtins
# Subtest: explicitly named union made of two builtins
    ok 1 - name passed to union() is used
    # Subtest: MyUnion
        # Subtest: accepts 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 1 - accepts 0
        # Subtest: accepts 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 2 - accepts 1
        # Subtest: accepts 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 3 - accepts 100
        # Subtest: accepts -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 4 - accepts -100
        # Subtest: accepts _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 5 - accepts _T::NumOverload object (0)
        # Subtest: accepts _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 6 - accepts _T::NumOverload object (1)
        # Subtest: accepts _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 7 - accepts _T::NumOverload object (-42)
        # Subtest: accepts 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 8 - accepts 1e20
        # Subtest: accepts 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 9 - accepts 1e100
        # Subtest: accepts -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 10 - accepts -1e10
        # Subtest: accepts -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 11 - accepts -1e+10
        # Subtest: accepts 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 12 - accepts 1E20
        # Subtest: accepts ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 13 - accepts ARRAY reference
        # Subtest: accepts _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            ok 4 - using inlined constraint
            1..4
        ok 14 - accepts _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 15 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 16 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 17 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 18 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 19 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 21 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 22 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 23 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 24 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 25 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 26 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 27 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 28 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 29 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 30 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 31 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 32 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 33 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 34 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 35 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 36 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 39 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 40 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 41 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 42 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 43 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 44 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 45 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 46 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 47 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 48 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 49 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 50 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 51 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 52 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using inlined constraint
            1..3
        ok 53 - rejects -1.23456e+10
        1..53
    ok 2 - MyUnion
    1..2
ok 2 - explicitly named union made of two builtins
# Subtest: union made of two types without inline generators
    ok 1 - no name if union includes anonymous types
    ok 2 - union is anonymous if any of its constituents are anonymous
    # Subtest: <anon>
        # Subtest: accepts 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 1 - accepts 0
        # Subtest: accepts 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 2 - accepts 1
        # Subtest: accepts 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 3 - accepts 100
        # Subtest: accepts -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 4 - accepts -100
        # Subtest: accepts _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 5 - accepts _T::NumOverload object (0)
        # Subtest: accepts _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 6 - accepts _T::NumOverload object (1)
        # Subtest: accepts _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 7 - accepts _T::NumOverload object (-42)
        # Subtest: accepts 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 8 - accepts 1e20
        # Subtest: accepts 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 9 - accepts 1e100
        # Subtest: accepts -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 10 - accepts -1e10
        # Subtest: accepts -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 11 - accepts -1e+10
        # Subtest: accepts 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 12 - accepts 1E20
        # Subtest: accepts ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 13 - accepts ARRAY reference
        # Subtest: accepts _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 14 - accepts _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 15 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 16 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 17 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 18 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 19 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 21 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 22 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 23 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 24 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 25 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 26 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 27 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 28 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 29 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 30 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 31 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 32 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 33 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 34 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 35 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 36 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 39 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 40 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 41 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 42 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 43 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 44 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 45 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 46 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 47 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 48 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 49 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 50 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 51 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 52 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 53 - rejects -1.23456e+10
        1..53
    ok 3 - <anon>
    1..3
ok 3 - union made of two types without inline generators
# Subtest: union made of builtin and type without inline generator
    ok 1 - no name if union includes anonymous types
    ok 2 - union is anonymous if any of its constituents are anonymous
    # Subtest: <anon>
        # Subtest: accepts 0
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 1 - accepts 0
        # Subtest: accepts 1
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 2 - accepts 1
        # Subtest: accepts 100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 3 - accepts 100
        # Subtest: accepts -100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 4 - accepts -100
        # Subtest: accepts _T::NumOverload object (0)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 5 - accepts _T::NumOverload object (0)
        # Subtest: accepts _T::NumOverload object (1)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 6 - accepts _T::NumOverload object (1)
        # Subtest: accepts _T::NumOverload object (-42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 7 - accepts _T::NumOverload object (-42)
        # Subtest: accepts 1e20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 8 - accepts 1e20
        # Subtest: accepts 1e100
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 9 - accepts 1e100
        # Subtest: accepts -1e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 10 - accepts -1e10
        # Subtest: accepts -1e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 11 - accepts -1e+10
        # Subtest: accepts 1E20
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 12 - accepts 1E20
        # Subtest: accepts ARRAY reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 13 - accepts ARRAY reference
        # Subtest: accepts _T::ArrayOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            ok 3 - using non-inlined constraint
            1..3
        ok 14 - accepts _T::ArrayOverload object
        # Subtest: rejects _T::BoolOverload object (true)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 15 - rejects _T::BoolOverload object (true)
        # Subtest: rejects _T::BoolOverload object (false)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 16 - rejects _T::BoolOverload object (false)
        # Subtest: rejects 42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 17 - rejects 42.42
        # Subtest: rejects -42.42
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 18 - rejects -42.42
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 19 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects _T::NumOverload object (42.42)
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 20 - rejects _T::NumOverload object (42.42)
        # Subtest: rejects ''
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 21 - rejects ''
        # Subtest: rejects "foo"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 22 - rejects "foo"
        # Subtest: rejects "has 42 in it"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 23 - rejects "has 42 in it"
        # Subtest: rejects _T::StrOverload object ('')
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 24 - rejects _T::StrOverload object ('')
        # Subtest: rejects _T::StrOverload object ("full")
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 25 - rejects _T::StrOverload object ("full")
        # Subtest: rejects "1\n"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 26 - rejects "1\n"
        # Subtest: rejects "\n1"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 27 - rejects "\n1"
        # Subtest: rejects SCALAR reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 28 - rejects SCALAR reference
        # Subtest: rejects REF reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 29 - rejects REF reference
        # Subtest: rejects _T::ScalarOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 30 - rejects _T::ScalarOverload object
        # Subtest: rejects HASH reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 31 - rejects HASH reference
        # Subtest: rejects _T::HashOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 32 - rejects _T::HashOverload object
        # Subtest: rejects CODE reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 33 - rejects CODE reference
        # Subtest: rejects _T::CodeOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 34 - rejects _T::CodeOverload object
        # Subtest: rejects "*main::SOME_GLOB"
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 35 - rejects "*main::SOME_GLOB"
        # Subtest: rejects GLOB reference
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 36 - rejects GLOB reference
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 37 - rejects _T::GlobOverload object
        # Subtest: rejects _T::GlobOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 38 - rejects _T::GlobOverload object
        # Subtest: rejects open filehandle
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 39 - rejects open filehandle
        # Subtest: rejects IO::File object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 40 - rejects IO::File object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 41 - rejects Regexp object
        # Subtest: rejects BlessedQR object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 42 - rejects BlessedQR object
        # Subtest: rejects _T::RegexOverload object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 43 - rejects _T::RegexOverload object
        # Subtest: rejects Regexp object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 44 - rejects Regexp object
        # Subtest: rejects FakeObject object
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 45 - rejects FakeObject object
        # Subtest: rejects undef
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 46 - rejects undef
        # Subtest: rejects 1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 47 - rejects 1e-10
        # Subtest: rejects -1e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 48 - rejects -1e-10
        # Subtest: rejects 1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 49 - rejects 1.23456e10
        # Subtest: rejects 1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 50 - rejects 1.23456e-10
        # Subtest: rejects -1.23456e10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 51 - rejects -1.23456e10
        # Subtest: rejects -1.23456e-10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 52 - rejects -1.23456e-10
        # Subtest: rejects -1.23456e+10
            ok 1 - using ->value_is_valid
            ok 2 - using subref overloading
            1..2
        ok 53 - rejects -1.23456e+10
        1..53
    ok 3 - <anon>
    1..3
ok 4 - union made of builtin and type without inline generator
1..4
ok
t/with-moo.t ............... 
ok 1 - no exception passing a Specio object as the isa parameter for a Moo attr
ok 2 - no exception with new( size => $int )
ok 3 - got exception with new( size => $str )
ok 4 - no exception with new( numbers => [$int, $int, $int] )
ok 5 - no exception with new( ucstr => $ucstr )
ok 6 - no exception with new( ucstr => $lcstr )
ok 7 - ucstr attribute was coerced to upper case
ok 8 - no exception with new( ucstr2 => $lcstr )
ok 9 - ucstr2 attribute was coerced to upper case
ok 10 - no exception with new( ucstr3 => $lcstr )
ok 11 - ucstr3 attribute was coerced to upper case
ok 12 - no exception with new( ucstr4 => $lcstr )
ok 13 - ucstr4 attribute was coerced to upper case
ok 14 - no exception with Bar->new( bar => ['a'] )
ok 15 - no exception with Bar->new( bar => { a => 1 } )
1..15
ok
t/with-moose.t ............. 
ok 1 - no exception passing a Specio object as the isa parameter for a Moose attr
ok 2 - no exception with new( size => $int )
ok 3 - got exception with new( size => $str )
ok 4 - no exception with new( numbers => [$int, $int, $int] )
ok 5 - no exception with new( ucstr => $ucstr )
ok 6 - no exception with new( ucstr => $lcstr )
ok 7 - ucstr attribute was coerced to upper case
ok 8 - no exception with new( ucstr2 => $lcstr )
ok 9 - ucstr2 attribute was coerced to upper case
ok 10 - no exception with new( ucstr3 => $lcstr )
ok 11 - ucstr3 attribute was coerced to upper case
ok 12 - no exception with new( ucstr4 => $lcstr )
ok 13 - ucstr4 attribute was coerced to upper case
ok 14 - no exception creating native Array attr where isa => ArrayRef of Int
ok 15 - no exception creating native Array attr where isa => AofStr and coerce => 1
ok 16 - got exception creating native Array attr where isa => Str
ok 17 - no exception pushing int onto native trait
ok 18 - got exception pushing str onto native trait
ok 19 - no exception pushing hashref onto coerced attribute
ok 20 - pushed value was coerced as expected
ok 21 - got exception trying to push regex object onto coerced attribute
1..21
ok
All tests successful.
Files=34, Tests=344, 15 wallclock secs ( 0.47 usr  0.32 sys + 10.51 cusr  0.58 csys = 11.88 CPU)
Result: PASS
make[1]: Leaving directory '/build/reproducible-path/libspecio-perl-0.49'
   create-stamp debian/debhelper-build-stamp
   dh_prep
   dh_auto_install --destdir=debian/libspecio-perl/
	make -j12 install DESTDIR=/build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr
make[1]: Entering directory '/build/reproducible-path/libspecio-perl-0.49'
Manifying 31 pod documents
Manifying 9 pod documents
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Test/Specio.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Subs.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/TypeChecks.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Exporter.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Registry.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Exception.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/PartialDump.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/OO.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Helpers.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/DeclaredAt.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Declare.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Coercion.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Role/Inlinable.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/ObjectDoes.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Structurable.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/ObjectCan.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Parameterizable.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Structured.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Intersection.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Enum.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/AnyCan.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Parameterized.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Simple.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/AnyIsa.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/AnyDoes.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/ObjectIsa.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Union.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Role/CanType.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Role/IsaType.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Role/Interface.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Constraint/Role/DoesType.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Builtins.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Perl.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Numeric.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/String.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Structured.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Structured/Map.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Structured/Dict.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/perl5/Specio/Library/Structured/Tuple.pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Test::Specio.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::TypeChecks.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Subs.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Role::Inlinable.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Registry.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::PartialDump.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::OO.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Structured::Tuple.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Structured::Map.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Structured::Dict.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Structured.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::String.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Perl.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Numeric.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Library::Builtins.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Helpers.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Exporter.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Exception.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::DeclaredAt.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Declare.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Union.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Structured.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Structurable.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Simple.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Role::IsaType.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Role::Interface.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Role::DoesType.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Role::CanType.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Parameterized.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Parameterizable.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::ObjectIsa.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::ObjectDoes.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::ObjectCan.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Intersection.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::Enum.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::AnyIsa.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::AnyDoes.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Constraint::AnyCan.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio::Coercion.3pm
Installing /build/reproducible-path/libspecio-perl-0.49/debian/libspecio-perl/usr/share/man/man3/Specio.3pm
make[1]: Leaving directory '/build/reproducible-path/libspecio-perl-0.49'
   dh_installdocs
   dh_installchangelogs
   dh_installman
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'libspecio-perl' in '../libspecio-perl_0.49-1_all.deb'.
 dpkg-genbuildinfo --build=binary -O../libspecio-perl_0.49-1_arm64.buildinfo
 dpkg-genchanges --build=binary -O../libspecio-perl_0.49-1_arm64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
dpkg-genchanges: info: including full source code in upload
I: copying local configuration
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/2824933 and its subdirectories
I: Current time: Sat Feb 14 07:52:28 -12 2026
I: pbuilder-time-stamp: 1771098748
Sun Jan 12 13:29:30 UTC 2025  I: 1st build successful. Starting 2nd build on remote node codethink01-arm64.debian.net.
Sun Jan 12 13:29:30 UTC 2025  I: Preparing to do remote build '2' on codethink01-arm64.debian.net.
Sun Jan 12 13:31:09 UTC 2025  I: Deleting $TMPDIR on codethink01-arm64.debian.net.
Sun Jan 12 13:31:10 UTC 2025  I: libspecio-perl_0.49-1_arm64.changes:
Format: 1.8
Date: Sun, 12 Jan 2025 02:11:27 +0100
Source: libspecio-perl
Binary: libspecio-perl
Architecture: all
Version: 0.49-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Changed-By: gregor herrmann <gregoa@debian.org>
Description:
 libspecio-perl - Perl module providing type constraints and coercions
Changes:
 libspecio-perl (0.49-1) unstable; urgency=medium
 .
   * Team upload.
   * Import upstream version 0.49.
   * Update years of upstream copyright.
   * Add test and runtime dependency on libclone-perl.
   * Declare compliance with Debian Policy 4.7.0.
Checksums-Sha1:
 0a6d81d7d6fa841c78faa5d49b091c0434e440a1 131816 libspecio-perl_0.49-1_all.deb
 0cd248e156058cdcdd8775c065394c8296cdf6cc 6355 libspecio-perl_0.49-1_arm64.buildinfo
Checksums-Sha256:
 fc115a185f22bf98edad91f5c8ef6e757319269c05ccc427abb16b11ffee9420 131816 libspecio-perl_0.49-1_all.deb
 514ffe3b29e8ea2823389b302b767a9707d7868ba9f9477b8338bcec42901ac0 6355 libspecio-perl_0.49-1_arm64.buildinfo
Files:
 52f16d787675fea439841aee4177d767 131816 perl optional libspecio-perl_0.49-1_all.deb
 f1a4f23b9785682101d7c7e3eea9f98e 6355 perl optional libspecio-perl_0.49-1_arm64.buildinfo
Sun Jan 12 13:31:11 UTC 2025  I: diffoscope 284 will be used to compare the two builds:
Running as unit: rb-diffoscope-arm64_17-72508.service
# Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/libspecio-perl_0.49-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/libspecio-perl_0.49-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/libspecio-perl_0.49-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/b1/libspecio-perl_0.49-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.44lnmeZU/b2/libspecio-perl_0.49-1_arm64.changes

## command (total time: 0.000s)
       0.000s      1 call     cmp (internal)

## has_same_content_as (total time: 0.000s)
       0.000s      1 call     abc.DotChangesFile

## main (total time: 0.336s)
       0.336s      2 calls    outputs
       0.000s      1 call     cleanup

## recognizes (total time: 0.017s)
       0.017s     12 calls    diffoscope.comparators.binary.FilesystemFile

## specialize (total time: 0.000s)
       0.000s      1 call     specialize
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 653ms
CPU time consumed: 638ms
Sun Jan 12 13:31:12 UTC 2025  I: diffoscope 284 found no differences in the changes files, and a .buildinfo file also exists.
Sun Jan 12 13:31:12 UTC 2025  I: libspecio-perl from unstable built successfully and reproducibly on arm64.
Sun Jan 12 13:31:13 UTC 2025  I: Submitting .buildinfo files to external archives:
Sun Jan 12 13:31:13 UTC 2025  I: Submitting 8.0K	b1/libspecio-perl_0.49-1_arm64.buildinfo.asc
Sun Jan 12 13:31:14 UTC 2025  I: Submitting 8.0K	b2/libspecio-perl_0.49-1_arm64.buildinfo.asc
Sun Jan 12 13:31:15 UTC 2025  I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit.
Sun Jan 12 13:31:15 UTC 2025  I: Done submitting .buildinfo files.
Sun Jan 12 13:31:15 UTC 2025  I: Removing signed libspecio-perl_0.49-1_arm64.buildinfo.asc files:
removed './b1/libspecio-perl_0.49-1_arm64.buildinfo.asc'
removed './b2/libspecio-perl_0.49-1_arm64.buildinfo.asc'