$ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 1800s /nix/store/99b1z08awpxj8b6mzggn59gp1shljnff-nix-2.34.5/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://github.com/sellout/duoids?ref=renovate%2Flock-file-maintenance&rev=efcb599e94b311c8c6f8c2a5caf56f3137bbef9a#packages.x86_64-linux.default --print-build-logs warning: ignoring untrusted flake configuration setting 'allow-import-from-derivation'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-experimental-features'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-substituters'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'sandbox'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'use-registries'. Pass '--accept-flake-config' to trust it error (ignored): SQLite database '/var/cache/private/nix-ci-worker/eval-cache-v6/19f80154faf27ddfad5dcb3251253294aea6c838e143ff7a5a949b25d9d532ff.sqlite' is busy 'system' has been renamed to/replaced by 'stdenv.hostPlatform.system'  Building cabal2nix-algebraic-graph-duoids [post-build-hook] Uploading to cachix cache "sellout": /nix/store/f5pw8895liyw89qjx9a0jpa2nsbkkg5s-cabal2nix-algebraic-graph-duoids [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/f5pw8895liyw89qjx9a0jpa2nsbkkg5s-cabal2nix-algebraic-graph-duoids [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/f5pw8895liyw89qjx9a0jpa2nsbkkg5s-cabal2nix-algebraic-graph-duoids' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 2 built  Building cabal2nix-duoidal-transformers [post-build-hook] Uploading to cachix cache "sellout": /nix/store/1bbk5wy9cgafqk6l628446r4pai2ldpm-cabal2nix-duoidal-transformers [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/1bbk5wy9cgafqk6l628446r4pai2ldpm-cabal2nix-duoidal-transformers [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/1bbk5wy9cgafqk6l628446r4pai2ldpm-cabal2nix-duoidal-transformers' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 2 built  Building cabal2nix-duoids [post-build-hook] Uploading to cachix cache "sellout": /nix/store/8cvsa25gmfb4x0lc0fmq7qkk8mdx5ybw-cabal2nix-duoids [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/8cvsa25gmfb4x0lc0fmq7qkk8mdx5ybw-cabal2nix-duoids [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/8cvsa25gmfb4x0lc0fmq7qkk8mdx5ybw-cabal2nix-duoids' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 2 built  Building cabal2nix-duoids-hedgehog [post-build-hook] Uploading to cachix cache "sellout": /nix/store/xksxzim591rvs6p53cas0vg2wzzw3l6d-cabal2nix-duoids-hedgehog [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/xksxzim591rvs6p53cas0vg2wzzw3l6d-cabal2nix-duoids-hedgehog [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/xksxzim591rvs6p53cas0vg2wzzw3l6d-cabal2nix-duoids-hedgehog' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 2 built  Building cabal2nix-ghc-compat-plugin [post-build-hook] Uploading to cachix cache "sellout": /nix/store/xcc8s03jf1n5kcylzqvgvnib8l6ka1ly-cabal2nix-ghc-compat-plugin [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/xcc8s03jf1n5kcylzqvgvnib8l6ka1ly-cabal2nix-ghc-compat-plugin [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/xcc8s03jf1n5kcylzqvgvnib8l6ka1ly-cabal2nix-ghc-compat-plugin' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 2 built  Downloading cached colour-2.3.6-data from https://cache.nix-ci.com Downloading cached die-hook from https://cache.nix-ci.com Downloading cached pretty-show-1.10-data from https://cache.nix-ci.com Downloading cached ghc-9.10.3-doc from https://cache.nix-ci.com Downloading cached lndir from https://cache.nix-ci.com Downloading cached ncurses-6.5-man from https://cache.nix-ci.com Downloading cached setup-debug-info-dirs-hook from https://cache.nix-ci.com Downloading cached gmp-with-cxx-6.3.0-dev from https://cache.nix-ci.com Downloading cached libffi-3.5.2-dev from https://cache.nix-ci.com Downloading cached numactl-2.0.18-dev from https://cache.nix-ci.com Building builder.pl Downloading cached algebraic-graphs-0.7-allow-inspection-testing from https://cache.nix-ci.com Downloading cached algebraic-graphs-0.7-r3.cabal from https://cache.nix-ci.com Downloading cached algebraic-graphs from https://cache.nix-ci.com Downloading cached dns-root-data-2025-04 from https://cache.nix-ci.com Downloading cached hscolour from https://cache.nix-ci.com Downloading cached libtasn1 from https://cache.nix-ci.com Building haskell-generic-builder-test-wrapper.sh Progress: 0 of 107 built (2 building), 1 of 193 downloaded from cache (15 downloading) Progress: 0 of 107 built (2 building), 2 of 193 downloaded from cache (14 downloading) Progress: 0 of 107 built (2 building), 3 of 193 downloaded from cache (13 downloading) Progress: 0 of 107 built (2 building), 4 of 193 downloaded from cache (12 downloading) Progress: 0 of 107 built (2 building), 5 of 193 downloaded from cache (11 downloading) Progress: 0 of 107 built (2 building), 6 of 193 downloaded from cache (10 downloading) Progress: 0 of 107 built (2 building), 7 of 193 downloaded from cache (9 downloading) Progress: 0 of 107 built (2 building), 8 of 193 downloaded from cache (8 downloading) Progress: 0 of 107 built (2 building), 9 of 193 downloaded from cache (7 downloading) [builder.pl] Phase: patchPhase [builder.pl] Phase: updateAutotoolsGnuConfigScriptsPhase [builder.pl] Phase: configurePhase [builder.pl] no configure script, doing nothing [builder.pl] Phase: buildPhase [builder.pl] Phase: checkPhase [builder.pl] Phase: installPhase [builder.pl] no Makefile or custom installPhase, doing nothing [builder.pl] Phase: fixupPhase [builder.pl] shrinking RPATHs of ELF executables and libraries in /nix/store/8rrk76xjrp5s0v35ij1cdb2ymp2dsrki-builder.pl [builder.pl] checking for references to /build/ in /nix/store/8rrk76xjrp5s0v35ij1cdb2ymp2dsrki-builder.pl... Downloading cached cabal-doctest from https://cache.nix-ci.com Downloading cached doctest from https://cache.nix-ci.com Downloading cached extra from https://cache.nix-ci.com Downloading cached ghc-paths-0.1.0.12-r8.cabal from https://cache.nix-ci.com Downloading cached ghc-paths from https://cache.nix-ci.com Downloading cached jailbreak-cabal from https://cache.nix-ci.com Downloading cached libevent from https://cache.nix-ci.com Downloading cached nettle from https://cache.nix-ci.com Downloading cached nothunks-0.3.1-r1.cabal from https://cache.nix-ci.com [builder.pl] patching script interpreter paths in /nix/store/8rrk76xjrp5s0v35ij1cdb2ymp2dsrki-builder.pl [post-build-hook] Uploading to cachix cache "sellout": /nix/store/j7sa9rqsbgy8iq0bvk19y8qk5jny5wcq-haskell-generic-builder-test-wrapper.sh [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/j7sa9rqsbgy8iq0bvk19y8qk5jny5wcq-haskell-generic-builder-test-wrapper.sh [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 105 built (1 building), 9 of 193 downloaded from cache (16 downloading) Progress: 1 of 104 built (1 building), 10 of 193 downloaded from cache (15 downloading) Progress: 1 of 104 built (1 building), 11 of 193 downloaded from cache (14 downloading) Progress: 1 of 104 built (1 building), 12 of 193 downloaded from cache (13 downloading) Progress: 1 of 104 built (1 building), 13 of 193 downloaded from cache (12 downloading) Progress: 1 of 104 built (1 building), 14 of 193 downloaded from cache (11 downloading) Progress: 1 of 104 built (1 building), 15 of 193 downloaded from cache (10 downloading) Progress: 1 of 104 built (1 building), 16 of 193 downloaded from cache (9 downloading) Progress: 1 of 104 built (1 building), 17 of 193 downloaded from cache (8 downloading) Progress: 1 of 104 built (1 building), 18 of 193 downloaded from cache (7 downloading) Progress: 1 of 104 built (1 building), 19 of 193 downloaded from cache (6 downloading) Progress: 1 of 104 built (1 building), 20 of 193 downloaded from cache (5 downloading) Progress: 1 of 104 built (1 building), 21 of 193 downloaded from cache (4 downloading) Progress: 1 of 104 built (1 building), 22 of 193 downloaded from cache (3 downloading) Progress: 1 of 104 built (1 building), 23 of 193 downloaded from cache (2 downloading) Progress: 1 of 104 built (1 building), 24 of 193 downloaded from cache (1 downloading) [post-build-hook] Uploading to cachix cache "sellout": /nix/store/8rrk76xjrp5s0v35ij1cdb2ymp2dsrki-builder.pl [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/8rrk76xjrp5s0v35ij1cdb2ymp2dsrki-builder.pl [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 2 of 105 built, 24 of 193 downloaded from cache (1 downloading) Downloading cached make-shell-wrapper-hook from https://cache.nix-ci.com Downloading cached nothunks from https://cache.nix-ci.com Downloading cached p11-kit from https://cache.nix-ci.com Downloading cached quickcheck-instances-0.3.33-r1.cabal from https://cache.nix-ci.com Downloading cached quickcheck-instances from https://cache.nix-ci.com Downloading cached remove-references-to from https://cache.nix-ci.com Downloading cached unordered-containers from https://cache.nix-ci.com Downloading cached vector-0.13.2.0-r2.cabal from https://cache.nix-ci.com Downloading cached vector from https://cache.nix-ci.com Downloading cached ncurses-6.5-dev from https://cache.nix-ci.com Downloading cached unbound-1.24.2-lib from https://cache.nix-ci.com Progress: 2 of 95 built, 25 of 193 downloaded from cache (11 downloading) Downloading cached Cabal-syntax-3.12.1.0-doc from https://cache.nix-ci.com Downloading cached OneTuple-0.4.2-doc from https://cache.nix-ci.com Downloading cached assoc-1.1.1-doc from https://cache.nix-ci.com Downloading cached base-compat-0.14.1-doc from https://cache.nix-ci.com Downloading cached base-orphans-0.9.3-doc from https://cache.nix-ci.com Progress: 2 of 94 built, 26 of 193 downloaded from cache (15 downloading) Downloading cached call-stack-0.4.0-doc from https://cache.nix-ci.com Progress: 2 of 93 built, 27 of 193 downloaded from cache (15 downloading) Downloading cached clock-0.8.4-doc from https://cache.nix-ci.com Progress: 2 of 92 built, 28 of 193 downloaded from cache (15 downloading) Downloading cached code-page-0.2.1-doc from https://cache.nix-ci.com Progress: 2 of 91 built, 29 of 193 downloaded from cache (15 downloading) Downloading cached colour-2.3.6-doc from https://cache.nix-ci.com Progress: 2 of 90 built, 30 of 193 downloaded from cache (15 downloading) Downloading cached erf-2.0.0.0-doc from https://cache.nix-ci.com Progress: 2 of 89 built, 31 of 193 downloaded from cache (15 downloading) Downloading cached ghc-compat-plugin-0.1.0.1-doc from https://cache.nix-ci.com Progress: 2 of 88 built, 32 of 193 downloaded from cache (15 downloading) Downloading cached hashable-1.5.0.0-doc from https://cache.nix-ci.com Progress: 2 of 87 built, 33 of 193 downloaded from cache (15 downloading) Downloading cached haskell-lexer-1.2.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 34 of 193 downloaded from cache (15 downloading) Downloading cached hspec-discover-2.11.14-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 35 of 193 downloaded from cache (15 downloading) Downloading cached inspection-testing-0.6.2-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 36 of 193 downloaded from cache (15 downloading) Downloading cached integer-logarithms-1.0.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 37 of 193 downloaded from cache (15 downloading) Downloading cached mmorph-1.2.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 38 of 193 downloaded from cache (15 downloading) Downloading cached old-locale-1.0.0.7-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 39 of 193 downloaded from cache (15 downloading) Downloading cached prettyprinter-1.7.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 40 of 193 downloaded from cache (15 downloading) Downloading cached primitive-0.9.1.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 41 of 193 downloaded from cache (15 downloading) Downloading cached Cabal-3.12.1.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 42 of 193 downloaded from cache (15 downloading) Downloading cached safe-exceptions-0.1.7.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 43 of 193 downloaded from cache (15 downloading) Downloading cached HUnit-1.6.2.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 44 of 193 downloaded from cache (15 downloading) Downloading cached ansi-terminal-types-1.1.3-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 45 of 193 downloaded from cache (15 downloading) Downloading cached async-2.2.5-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 46 of 193 downloaded from cache (15 downloading) Downloading cached case-insensitive-1.2.1.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 47 of 193 downloaded from cache (15 downloading) Downloading cached data-fix-0.3.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 48 of 193 downloaded from cache (15 downloading) Downloading cached logging-facade-0.3.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 49 of 193 downloaded from cache (15 downloading) Downloading cached old-time-1.1.0.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 50 of 193 downloaded from cache (15 downloading) Downloading cached pretty-show-1.10-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 51 of 193 downloaded from cache (15 downloading) Downloading cached silently-1.2.5.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 52 of 193 downloaded from cache (15 downloading) Downloading cached splitmix-0.1.3.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 53 of 193 downloaded from cache (15 downloading) Downloading cached scientific-0.3.8.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 54 of 193 downloaded from cache (15 downloading) Downloading cached stringbuilder-0.5.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 55 of 193 downloaded from cache (15 downloading) Downloading cached gnutls from https://cache.nix-ci.com Progress: 2 of 86 built, 56 of 193 downloaded from cache (15 downloading) Downloading cached syb-0.7.2.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 57 of 193 downloaded from cache (15 downloading) Downloading cached tagged-0.8.9-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 58 of 193 downloaded from cache (15 downloading) Downloading cached terminal-size-0.3.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 59 of 193 downloaded from cache (15 downloading) Downloading cached hspec-expectations-0.8.4-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 60 of 193 downloaded from cache (15 downloading) Downloading cached ansi-terminal-1.1.3-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 61 of 193 downloaded from cache (15 downloading) Downloading cached text-short-0.1.6-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 62 of 193 downloaded from cache (15 downloading) Downloading cached these-1.2.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 63 of 193 downloaded from cache (15 downloading) Downloading cached time-compat-1.9.8-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 64 of 193 downloaded from cache (15 downloading) Downloading cached transformers-base-0.4.6-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 65 of 193 downloaded from cache (15 downloading) Downloading cached transformers-compat-0.7.2-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 66 of 193 downloaded from cache (15 downloading) Downloading cached unliftio-core-0.2.1.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 67 of 193 downloaded from cache (15 downloading) Downloading cached random-1.2.1.3-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 68 of 193 downloaded from cache (15 downloading) Downloading cached vector-stream-0.1.0.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 69 of 193 downloaded from cache (15 downloading) Downloading cached wherefrom-compat-0.1.1.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 70 of 193 downloaded from cache (15 downloading) Downloading cached wl-pprint-annotated-0.1.0.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 71 of 193 downloaded from cache (15 downloading) Downloading cached boring-0.2.2-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 72 of 193 downloaded from cache (15 downloading) Downloading cached distributive-0.6.2.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 73 of 193 downloaded from cache (15 downloading) Progress: 2 of 86 built, 74 of 193 downloaded from cache (14 downloading) Downloading cached concurrent-output-1.10.21-doc from https://cache.nix-ci.com Downloading cached prettyprinter-ansi-terminal-1.1.3-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 75 of 193 downloaded from cache (15 downloading) Downloading cached strict-0.5.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 76 of 193 downloaded from cache (15 downloading) Progress: 2 of 86 built, 77 of 193 downloaded from cache (14 downloading) Downloading cached libmicrohttpd from https://cache.nix-ci.com Progress: 2 of 86 built, 78 of 193 downloaded from cache (14 downloading) Downloading cached monad-control-1.0.3.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 79 of 193 downloaded from cache (14 downloading) Progress: 2 of 86 built, 80 of 193 downloaded from cache (13 downloading) Progress: 2 of 86 built, 81 of 193 downloaded from cache (12 downloading) Downloading cached resourcet-1.3.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 82 of 193 downloaded from cache (12 downloading) Progress: 2 of 86 built, 83 of 193 downloaded from cache (11 downloading) Downloading cached QuickCheck-2.15.0.1-doc from https://cache.nix-ci.com Downloading cached temporary-1.3-doc from https://cache.nix-ci.com Downloading cached tf-random-0.5-doc from https://cache.nix-ci.com Downloading cached uuid-types-1.0.6-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 84 of 193 downloaded from cache (14 downloading) Progress: 2 of 86 built, 85 of 193 downloaded from cache (13 downloading) Downloading cached constraints-0.14.2-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 86 of 193 downloaded from cache (13 downloading) Downloading cached barbies-2.1.1.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 87 of 193 downloaded from cache (13 downloading) Downloading cached optparse-applicative-0.18.1.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 88 of 193 downloaded from cache (13 downloading) Progress: 2 of 86 built, 89 of 193 downloaded from cache (12 downloading) Downloading cached elfutils-0.194-bin from https://cache.nix-ci.com Progress: 2 of 86 built, 90 of 193 downloaded from cache (12 downloading) Progress: 2 of 86 built, 91 of 193 downloaded from cache (11 downloading) Downloading cached lifted-base-0.2.3.12-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 92 of 193 downloaded from cache (11 downloading) Progress: 2 of 86 built, 93 of 193 downloaded from cache (10 downloading) Progress: 2 of 86 built, 94 of 193 downloaded from cache (9 downloading) Progress: 2 of 86 built, 95 of 193 downloaded from cache (8 downloading) Downloading cached mockery-0.3.5-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 96 of 193 downloaded from cache (8 downloading) Downloading cached ChasingBottoms-1.3.1.17-doc from https://cache.nix-ci.com Downloading cached quickcheck-io-0.2.0-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 97 of 193 downloaded from cache (9 downloading) Progress: 2 of 86 built, 98 of 193 downloaded from cache (8 downloading) Progress: 2 of 86 built, 99 of 193 downloaded from cache (7 downloading) Progress: 2 of 86 built, 100 of 193 downloaded from cache (6 downloading) Downloading cached lifted-async-0.10.2.7-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 101 of 193 downloaded from cache (6 downloading) Downloading cached tasty-1.5.3-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 102 of 193 downloaded from cache (6 downloading) Downloading cached elfutils-0.194-dev from https://cache.nix-ci.com Progress: 2 of 86 built, 103 of 193 downloaded from cache (6 downloading) Progress: 2 of 86 built, 104 of 193 downloaded from cache (5 downloading) Downloading cached hspec-core-2.11.14-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 105 of 193 downloaded from cache (5 downloading) Downloading cached ghc from https://cache.nix-ci.com Progress: 2 of 86 built, 106 of 193 downloaded from cache (5 downloading) Progress: 2 of 86 built, 107 of 193 downloaded from cache (4 downloading) Downloading cached hspec-2.11.14-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 108 of 193 downloaded from cache (4 downloading) Progress: 2 of 86 built, 109 of 193 downloaded from cache (3 downloading) Downloading cached hedgehog-1.5-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 110 of 193 downloaded from cache (3 downloading) Downloading cached tasty-hunit-0.10.2-doc from https://cache.nix-ci.com Downloading cached tasty-inspection-testing-0.2.1-doc from https://cache.nix-ci.com Downloading cached tasty-quickcheck-0.11.1-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 111 of 193 downloaded from cache (5 downloading) Progress: 2 of 86 built, 112 of 193 downloaded from cache (4 downloading) Progress: 2 of 86 built, 113 of 193 downloaded from cache (3 downloading) Progress: 2 of 86 built, 114 of 193 downloaded from cache (2 downloading) Progress: 2 of 86 built, 115 of 193 downloaded from cache (1 downloading) Downloading cached tasty-hedgehog-1.4.0.2-doc from https://cache.nix-ci.com Progress: 2 of 86 built, 116 of 193 downloaded from cache (1 downloading) Progress: 2 of 86 built, 117 of 193 downloaded from cache Downloading cached Cabal-syntax from https://cache.nix-ci.com Downloading cached OneTuple from https://cache.nix-ci.com Downloading cached assoc from https://cache.nix-ci.com Downloading cached base-compat from https://cache.nix-ci.com Downloading cached base-orphans from https://cache.nix-ci.com Downloading cached call-stack from https://cache.nix-ci.com Downloading cached clock from https://cache.nix-ci.com Downloading cached code-page from https://cache.nix-ci.com Downloading cached colour from https://cache.nix-ci.com Downloading cached erf from https://cache.nix-ci.com Downloading cached hashable from https://cache.nix-ci.com Downloading cached ghc-compat-plugin from https://cache.nix-ci.com Downloading cached haskell-lexer from https://cache.nix-ci.com Downloading cached inspection-testing from https://cache.nix-ci.com Downloading cached hspec-discover from https://cache.nix-ci.com Downloading cached integer-logarithms from https://cache.nix-ci.com Progress: 2 of 85 built, 118 of 193 downloaded from cache (15 downloading) Downloading cached old-locale from https://cache.nix-ci.com Progress: 2 of 85 built, 119 of 193 downloaded from cache (15 downloading) Downloading cached HUnit from https://cache.nix-ci.com Progress: 2 of 84 built, 120 of 193 downloaded from cache (15 downloading) Downloading cached logging-facade from https://cache.nix-ci.com Progress: 2 of 84 built, 121 of 193 downloaded from cache (15 downloading) Downloading cached prettyprinter from https://cache.nix-ci.com Progress: 2 of 84 built, 122 of 193 downloaded from cache (15 downloading) Downloading cached primitive from https://cache.nix-ci.com Progress: 2 of 83 built, 123 of 193 downloaded from cache (15 downloading) Downloading cached safe-exceptions from https://cache.nix-ci.com Progress: 2 of 82 built, 124 of 193 downloaded from cache (15 downloading) Downloading cached silently from https://cache.nix-ci.com Progress: 2 of 81 built, 125 of 193 downloaded from cache (15 downloading) Downloading cached async from https://cache.nix-ci.com Progress: 2 of 80 built, 126 of 193 downloaded from cache (15 downloading) Downloading cached case-insensitive from https://cache.nix-ci.com Progress: 2 of 79 built, 127 of 193 downloaded from cache (15 downloading) Downloading cached data-fix from https://cache.nix-ci.com Progress: 2 of 78 built, 128 of 193 downloaded from cache (15 downloading) Downloading cached splitmix from https://cache.nix-ci.com Progress: 2 of 77 built, 129 of 193 downloaded from cache (15 downloading) Downloading cached ansi-terminal-types from https://cache.nix-ci.com Progress: 2 of 76 built, 130 of 193 downloaded from cache (15 downloading) Downloading cached stringbuilder from https://cache.nix-ci.com Progress: 2 of 75 built, 131 of 193 downloaded from cache (15 downloading) Downloading cached syb from https://cache.nix-ci.com Progress: 2 of 74 built, 132 of 193 downloaded from cache (15 downloading) Downloading cached pretty-show from https://cache.nix-ci.com Progress: 2 of 73 built, 133 of 193 downloaded from cache (15 downloading) Downloading cached tagged from https://cache.nix-ci.com Progress: 2 of 73 built, 134 of 193 downloaded from cache (15 downloading) Downloading cached terminal-size from https://cache.nix-ci.com Progress: 2 of 72 built, 135 of 193 downloaded from cache (15 downloading) Downloading cached hspec-expectations from https://cache.nix-ci.com Progress: 2 of 71 built, 136 of 193 downloaded from cache (15 downloading) Downloading cached text-short from https://cache.nix-ci.com Progress: 2 of 70 built, 137 of 193 downloaded from cache (15 downloading) Downloading cached these from https://cache.nix-ci.com Progress: 2 of 70 built, 138 of 193 downloaded from cache (15 downloading) Downloading cached old-time from https://cache.nix-ci.com Progress: 2 of 69 built, 139 of 193 downloaded from cache (15 downloading) Progress: 2 of 69 built, 140 of 193 downloaded from cache (15 downloading) Downloading cached time-compat from https://cache.nix-ci.com Downloading cached transformers-compat from https://cache.nix-ci.com Progress: 2 of 68 built, 141 of 193 downloaded from cache (15 downloading) Downloading cached unliftio-core from https://cache.nix-ci.com Progress: 2 of 67 built, 142 of 193 downloaded from cache (15 downloading) Downloading cached random from https://cache.nix-ci.com Progress: 2 of 66 built, 143 of 193 downloaded from cache (15 downloading) Downloading cached vector-stream from https://cache.nix-ci.com Progress: 2 of 65 built, 144 of 193 downloaded from cache (15 downloading) Downloading cached wherefrom-compat from https://cache.nix-ci.com Progress: 2 of 64 built, 145 of 193 downloaded from cache (15 downloading) Downloading cached ansi-terminal from https://cache.nix-ci.com Progress: 2 of 63 built, 146 of 193 downloaded from cache (15 downloading) Downloading cached wl-pprint-annotated from https://cache.nix-ci.com Progress: 2 of 62 built, 147 of 193 downloaded from cache (15 downloading) Downloading cached boring from https://cache.nix-ci.com Progress: 2 of 61 built, 148 of 193 downloaded from cache (15 downloading) Downloading cached distributive from https://cache.nix-ci.com Progress: 2 of 61 built, 149 of 193 downloaded from cache (15 downloading) Downloading cached scientific from https://cache.nix-ci.com Progress: 2 of 60 built, 150 of 193 downloaded from cache (15 downloading) Progress: 2 of 59 built, 151 of 193 downloaded from cache (14 downloading) Progress: 2 of 58 built, 152 of 193 downloaded from cache (13 downloading) Downloading cached strict from https://cache.nix-ci.com Progress: 2 of 57 built, 153 of 193 downloaded from cache (13 downloading) Progress: 2 of 56 built, 154 of 193 downloaded from cache (12 downloading) Downloading cached resourcet from https://cache.nix-ci.com Progress: 2 of 55 built, 155 of 193 downloaded from cache (12 downloading) Progress: 2 of 54 built, 156 of 193 downloaded from cache (11 downloading) Progress: 2 of 53 built, 157 of 193 downloaded from cache (10 downloading) Downloading cached mmorph from https://cache.nix-ci.com Downloading cached transformers-base from https://cache.nix-ci.com Progress: 2 of 52 built, 158 of 193 downloaded from cache (11 downloading) Progress: 2 of 51 built, 159 of 193 downloaded from cache (10 downloading) Downloading cached concurrent-output from https://cache.nix-ci.com Downloading cached prettyprinter-ansi-terminal from https://cache.nix-ci.com Progress: 2 of 50 built, 160 of 193 downloaded from cache (11 downloading) Downloading cached barbies from https://cache.nix-ci.com Progress: 2 of 49 built, 161 of 193 downloaded from cache (11 downloading) Downloading cached constraints from https://cache.nix-ci.com Progress: 2 of 48 built, 162 of 193 downloaded from cache (11 downloading) Progress: 2 of 47 built, 163 of 193 downloaded from cache (10 downloading) Downloading cached QuickCheck from https://cache.nix-ci.com Downloading cached temporary from https://cache.nix-ci.com Downloading cached tf-random from https://cache.nix-ci.com Downloading cached uuid-types from https://cache.nix-ci.com Progress: 2 of 46 built, 164 of 193 downloaded from cache (13 downloading) Progress: 2 of 45 built, 165 of 193 downloaded from cache (12 downloading) Progress: 2 of 45 built, 166 of 193 downloaded from cache (11 downloading) Progress: 2 of 44 built, 167 of 193 downloaded from cache (10 downloading) Progress: 2 of 43 built, 168 of 193 downloaded from cache (9 downloading) Downloading cached monad-control from https://cache.nix-ci.com Progress: 2 of 42 built, 169 of 193 downloaded from cache (9 downloading) Progress: 2 of 41 built, 170 of 193 downloaded from cache (8 downloading) Downloading cached optparse-applicative from https://cache.nix-ci.com Progress: 2 of 41 built, 171 of 193 downloaded from cache (8 downloading) Progress: 2 of 40 built, 172 of 193 downloaded from cache (7 downloading) Progress: 2 of 39 built, 173 of 193 downloaded from cache (6 downloading) Progress: 2 of 38 built, 174 of 193 downloaded from cache (5 downloading) Downloading cached mockery from https://cache.nix-ci.com Progress: 2 of 37 built, 175 of 193 downloaded from cache (5 downloading) Progress: 2 of 36 built, 176 of 193 downloaded from cache (4 downloading) Progress: 2 of 35 built, 177 of 193 downloaded from cache (3 downloading) Downloading cached lifted-base from https://cache.nix-ci.com Progress: 2 of 34 built, 178 of 193 downloaded from cache (3 downloading) Downloading cached ChasingBottoms from https://cache.nix-ci.com Downloading cached quickcheck-io from https://cache.nix-ci.com Progress: 2 of 33 built, 179 of 193 downloaded from cache (4 downloading) Downloading cached tasty from https://cache.nix-ci.com Progress: 2 of 33 built, 180 of 193 downloaded from cache (4 downloading) Downloading cached hspec-core from https://cache.nix-ci.com Progress: 2 of 33 built, 181 of 193 downloaded from cache (4 downloading) Downloading cached lifted-async from https://cache.nix-ci.com Progress: 2 of 32 built, 182 of 193 downloaded from cache (4 downloading) Progress: 2 of 31 built, 183 of 193 downloaded from cache (3 downloading) Downloading cached Cabal from https://cache.nix-ci.com Progress: 2 of 31 built, 184 of 193 downloaded from cache (3 downloading) Downloading cached hspec from https://cache.nix-ci.com Progress: 2 of 30 built, 185 of 193 downloaded from cache (3 downloading) Downloading cached tasty-hunit from https://cache.nix-ci.com Downloading cached tasty-inspection-testing from https://cache.nix-ci.com Downloading cached tasty-quickcheck from https://cache.nix-ci.com Progress: 2 of 29 built, 186 of 193 downloaded from cache (5 downloading) Downloading cached hedgehog from https://cache.nix-ci.com Progress: 2 of 28 built, 187 of 193 downloaded from cache (5 downloading) Progress: 2 of 27 built, 188 of 193 downloaded from cache (4 downloading) Progress: 2 of 26 built, 189 of 193 downloaded from cache (3 downloading) Progress: 2 of 25 built, 190 of 193 downloaded from cache (2 downloading) Progress: 2 of 24 built, 191 of 193 downloaded from cache (1 downloading) Downloading cached tasty-hedgehog from https://cache.nix-ci.com Progress: 2 of 23 built, 192 of 193 downloaded from cache (1 downloading) Progress: 2 of 22 built, 193 of 193 downloaded from cache Building cabal-doctest Building ghc-paths [cabal-doctest] Phase: setupCompilerEnvironmentPhase [cabal-doctest] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [ghc-paths] Phase: setupCompilerEnvironmentPhase [ghc-paths] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [cabal-doctest] Phase: unpackPhase [ghc-paths] Phase: unpackPhase [cabal-doctest] unpacking source archive /nix/store/ckph819l8a613hapx2pwbjv3yzi8gm3k-cabal-doctest-1.0.12.tar.gz [ghc-paths] unpacking source archive /nix/store/jbdk3r2ic959xyc0394gn6n61wgjf6n0-ghc-paths-0.1.0.12.tar.gz [ghc-paths] source root is ghc-paths-0.1.0.12 [cabal-doctest] source root is cabal-doctest-1.0.12 [ghc-paths] setting SOURCE_DATE_EPOCH to timestamp 1566388706 of file "ghc-paths-0.1.0.12/Setup.hs" [cabal-doctest] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "cabal-doctest-1.0.12/src/Distribution/Extra/Doctest.hs" [ghc-paths] Phase: patchPhase [cabal-doctest] Phase: patchPhase [ghc-paths] Replace Cabal file with edited version from mirror://hackage/ghc-paths-0.1.0.12/revision/8.cabal. [ghc-paths] applying patch /nix/store/57w4xa43g7ilkdjd7mplrn8l3pvmyklf-ghc-paths-nix.patch [cabal-doctest] Phase: compileBuildDriverPhase [ghc-paths] patching file GHC/Paths.hs [ghc-paths] Phase: compileBuildDriverPhase [cabal-doctest] setupCompileFlags: -package-db=/build/tmp.pYcqkiqmcA/setup-package.conf.d -threaded [ghc-paths] setupCompileFlags: -package-db=/build/tmp.rzWYyrEQNx/setup-package.conf.d -threaded [cabal-doctest] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.pYcqkiqmcA/Main.o ) [cabal-doctest] [2 of 2] Linking Setup [ghc-paths] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.rzWYyrEQNx/Main.o ) [ghc-paths] [2 of 2] Linking Setup [cabal-doctest] Phase: updateAutotoolsGnuConfigScriptsPhase [cabal-doctest] Phase: configurePhase [cabal-doctest] configureFlags: --verbose --prefix=/nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc/share/doc/cabal-doctest-1.0.12 --with-gcc=gcc --package-db=/build/tmp.pYcqkiqmcA/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib [cabal-doctest] Using Parsec parser [cabal-doctest] Configuring cabal-doctest-1.0.12... [ghc-paths] Phase: updateAutotoolsGnuConfigScriptsPhase [ghc-paths] Phase: configurePhase [ghc-paths] configureFlags: --verbose --prefix=/nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc/share/doc/ghc-paths-0.1.0.12 --with-gcc=gcc --package-db=/build/tmp.rzWYyrEQNx/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib [ghc-paths] Using Parsec parser [ghc-paths] Configuring ghc-paths-0.1.0.12... [cabal-doctest] Dependency Cabal >=1.24 && <3.16: using Cabal-3.12.1.0 [cabal-doctest] Dependency base >=4.9 && <5: using base-4.20.2.0 [cabal-doctest] Dependency directory >=1.3 && <2: using directory-1.3.8.5 [cabal-doctest] Dependency filepath >=1.4 && <2: using filepath-1.5.4.0 [cabal-doctest] Source component graph: component lib [cabal-doctest] Configured component graph: [cabal-doctest]  component cabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m [cabal-doctest]  include Cabal-3.12.1.0-6pPBtuT1VEQBltj6c523Xh [cabal-doctest]  include base-4.20.2.0-acb8 [cabal-doctest]  include directory-1.3.8.5-e377 [cabal-doctest]  include filepath-1.5.4.0-c4eb [cabal-doctest] Linked component graph: [cabal-doctest]  unit cabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m [cabal-doctest]  include Cabal-3.12.1.0-6pPBtuT1VEQBltj6c523Xh [cabal-doctest]  include base-4.20.2.0-acb8 [cabal-doctest]  include directory-1.3.8.5-e377 [cabal-doctest]  include filepath-1.5.4.0-c4eb [cabal-doctest]  Distribution.Extra.Doctest=cabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m:Distribution.Extra.Doctest [cabal-doctest] Ready component graph: [cabal-doctest]  definite cabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m [cabal-doctest]  depends Cabal-3.12.1.0-6pPBtuT1VEQBltj6c523Xh [cabal-doctest]  depends base-4.20.2.0-acb8 [cabal-doctest]  depends directory-1.3.8.5-e377 [cabal-doctest]  depends filepath-1.5.4.0-c4eb [cabal-doctest] Using Cabal-3.12.1.0 compiled by ghc-9.10 [cabal-doctest] Using compiler: ghc-9.10.3 [cabal-doctest] Using install prefix: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 [cabal-doctest] Executables installed in: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/bin [cabal-doctest] Libraries installed in: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/cabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m [cabal-doctest] Dynamic Libraries installed in: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [cabal-doctest] Private executables installed in: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/libexec/x86_64-linux-ghc-9.10.3-5702/cabal-doctest-1.0.12 [cabal-doctest] Data files installed in: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/share/x86_64-linux-ghc-9.10.3-5702/cabal-doctest-1.0.12 [cabal-doctest] Documentation installed in: [cabal-doctest] /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc/share/doc/cabal-doctest-1.0.12 [cabal-doctest] Configuration files installed in: [cabal-doctest] /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/etc [cabal-doctest] No alex found [cabal-doctest] Using ar found on system at: [cabal-doctest] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [cabal-doctest] No c2hs found [cabal-doctest] No cpphs found [cabal-doctest] No doctest found [cabal-doctest] Using gcc version 14.3.0 given by user at: [cabal-doctest] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [cabal-doctest] Using ghc version 9.10.3 found on system at: [cabal-doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [cabal-doctest] Using ghc-pkg version 9.10.3 found on system at: [cabal-doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [cabal-doctest] No ghcjs found [cabal-doctest] No ghcjs-pkg found [cabal-doctest] No greencard found [cabal-doctest] Using haddock version 2.31.1 found on system at: [cabal-doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [cabal-doctest] No happy found [cabal-doctest] Using haskell-suite found on system at: haskell-suite-dummy-location [cabal-doctest] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [cabal-doctest] No hmake found [cabal-doctest] Using hpc version 0.69 found on system at: [cabal-doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [cabal-doctest] Using hsc2hs version 0.68.10 found on system at: [cabal-doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [cabal-doctest] Using hscolour version 1.25 found on system at: [cabal-doctest] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [cabal-doctest] No jhc found [cabal-doctest] Using ld found on system at: [cabal-doctest] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [cabal-doctest] No pkg-config found [cabal-doctest] Using runghc version 9.10.3 found on system at: [cabal-doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [cabal-doctest] Using strip version 2.44 found on system at: [cabal-doctest] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [cabal-doctest] Using tar found on system at: [cabal-doctest] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [cabal-doctest] No uhc found [cabal-doctest] Phase: buildPhase [ghc-paths] Dependency base >=3 && <5: using base-4.20.2.0 [ghc-paths] Source component graph: component lib [ghc-paths] Configured component graph: [ghc-paths]  component ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [ghc-paths]  include base-4.20.2.0-acb8 [ghc-paths] Linked component graph: [ghc-paths]  unit ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [ghc-paths]  include base-4.20.2.0-acb8 [ghc-paths]  GHC.Paths=ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww:GHC.Paths [ghc-paths] Ready component graph: [ghc-paths]  definite ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [ghc-paths]  depends base-4.20.2.0-acb8 [ghc-paths] Using Cabal-3.12.1.0 compiled by ghc-9.10 [ghc-paths] Using compiler: ghc-9.10.3 [ghc-paths] Using install prefix: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12 [ghc-paths] Executables installed in: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/bin [ghc-paths] Libraries installed in: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [ghc-paths] Dynamic Libraries installed in: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [ghc-paths] Private executables installed in: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/libexec/x86_64-linux-ghc-9.10.3-5702/ghc-paths-0.1.0.12 [ghc-paths] Data files installed in: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/share/x86_64-linux-ghc-9.10.3-5702/ghc-paths-0.1.0.12 [ghc-paths] Documentation installed in: [ghc-paths] /nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc/share/doc/ghc-paths-0.1.0.12 [ghc-paths] Configuration files installed in: [ghc-paths] /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/etc [ghc-paths] No alex found [ghc-paths] Using ar found on system at: [ghc-paths] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [ghc-paths] No c2hs found [ghc-paths] No cpphs found [ghc-paths] No doctest found [ghc-paths] Using gcc version 14.3.0 given by user at: [ghc-paths] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [ghc-paths] Using ghc version 9.10.3 found on system at: [ghc-paths] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [ghc-paths] Using ghc-pkg version 9.10.3 found on system at: [ghc-paths] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [ghc-paths] No ghcjs found [ghc-paths] No ghcjs-pkg found [ghc-paths] No greencard found [ghc-paths] Using haddock version 2.31.1 found on system at: [ghc-paths] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [ghc-paths] No happy found [ghc-paths] Using haskell-suite found on system at: haskell-suite-dummy-location [ghc-paths] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [ghc-paths] No hmake found [ghc-paths] Using hpc version 0.69 found on system at: [ghc-paths] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [ghc-paths] Using hsc2hs version 0.68.10 found on system at: [ghc-paths] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [ghc-paths] Using hscolour version 1.25 found on system at: [ghc-paths] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [ghc-paths] No jhc found [ghc-paths] Using ld found on system at: [ghc-paths] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [ghc-paths] No pkg-config found [ghc-paths] Using runghc version 9.10.3 found on system at: [ghc-paths] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [ghc-paths] Using strip version 2.44 found on system at: [ghc-paths] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [ghc-paths] Using tar found on system at: [ghc-paths] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [ghc-paths] No uhc found [ghc-paths] Running: /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc --print-libdir -j16 '+RTS' -A64M -RTS -haddock [cabal-doctest] Preprocessing library for cabal-doctest-1.0.12... [cabal-doctest] Building library for cabal-doctest-1.0.12... [ghc-paths] Phase: buildPhase [cabal-doctest] [1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, dist/build/Distribution/Extra/Doctest.o, dist/build/Distribution/Extra/Doctest.dyn_o ) [ghc-paths] Preprocessing library for ghc-paths-0.1.0.12... [ghc-paths] Building library for ghc-paths-0.1.0.12... [ghc-paths] [1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, dist/build/GHC/Paths.o, dist/build/GHC/Paths.dyn_o ) [ghc-paths] [1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, dist/build/GHC/Paths.p_o ) [cabal-doctest] [1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, dist/build/Distribution/Extra/Doctest.p_o ) [ghc-paths] Phase: checkPhase [ghc-paths] Package has no test suites. [ghc-paths] Phase: haddockPhase [ghc-paths] Preprocessing library for ghc-paths-0.1.0.12... [ghc-paths] Running Haddock on library for ghc-paths-0.1.0.12... [ghc-paths] [1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, nothing ) [ghc-paths] Haddock coverage: [ghc-paths]  0% ( 0 / 5) in 'GHC.Paths' [ghc-paths]  Missing documentation for: [ghc-paths]  Module header [ghc-paths]  ghc (GHC/Paths.hs:34) [ghc-paths]  ghc_pkg (GHC/Paths.hs:35) [ghc-paths]  libdir (GHC/Paths.hs:31) [ghc-paths]  docdir (GHC/Paths.hs:32) [cabal-doctest] Phase: checkPhase [cabal-doctest] Package has no test suites. [cabal-doctest] Phase: haddockPhase [cabal-doctest] Preprocessing library for cabal-doctest-1.0.12... [cabal-doctest] Running Haddock on library for cabal-doctest-1.0.12... [cabal-doctest] [1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, nothing ) [cabal-doctest] Haddock coverage: [cabal-doctest] Warning: 'UserHooks' is ambiguous. It is defined [cabal-doctest]  * in ‘Distribution.Simple.UserHooks’ [cabal-doctest]  * in ‘Distribution.Simple.UserHooks’ [cabal-doctest]  You may be able to disambiguate the identifier by qualifying it or [cabal-doctest]  by specifying the type/value namespace explicitly. [cabal-doctest]  Defaulting to the one defined in ‘Distribution.Simple.UserHooks’ [cabal-doctest]  100% ( 7 / 7) in 'Distribution.Extra.Doctest' [ghc-paths] Documentation created: dist/doc/html/ghc-paths/, [ghc-paths] dist/doc/html/ghc-paths/ghc-paths.txt [ghc-paths] Phase: installPhase [ghc-paths] Installing library in /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [ghc-paths] Phase: fixupPhase [ghc-paths] shrinking RPATHs of ELF executables and libraries in /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12 [ghc-paths] shrinking /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww-ghc9.10.3.so [ghc-paths] checking for references to /build/ in /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12... [ghc-paths] patching script interpreter paths in /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12 [ghc-paths] stripping (with command strip and flags -S -p) in /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12/lib [ghc-paths] shrinking RPATHs of ELF executables and libraries in /nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc [ghc-paths] checking for references to /build/ in /nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc... [ghc-paths] patching script interpreter paths in /nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12 [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/a0nm5cispl4gxvghdfqs20zkbghk5w9j-ghc-paths-0.1.0.12-doc /nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12 [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/ymiwk23zhjcs1p4gzwm3vwk46cxphb0m-ghc-paths-0.1.0.12' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 3 of 22 built (1 building), 193 of 193 downloaded from cache Building doctest [doctest] Phase: setupCompilerEnvironmentPhase [doctest] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [doctest] Phase: unpackPhase [doctest] unpacking source archive /nix/store/bhl15ifbap4vkm5qbpgwa3svq4yanr2l-doctest-0.24.2.tar.gz [doctest] source root is doctest-0.24.2 [doctest] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "doctest-0.24.2/test/UtilSpec.hs" [doctest] Phase: patchPhase [doctest] Phase: compileBuildDriverPhase [doctest] setupCompileFlags: -package-db=/build/tmp.m0OZwq2jdg/setup-package.conf.d -threaded [doctest] [1 of 2] Compiling Main ( Setup.lhs, /build/tmp.m0OZwq2jdg/Main.o ) [doctest] [2 of 2] Linking Setup [cabal-doctest] Documentation created: dist/doc/html/cabal-doctest/, [cabal-doctest] dist/doc/html/cabal-doctest/cabal-doctest.txt [cabal-doctest] Phase: installPhase [cabal-doctest] Installing library in /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/cabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m [cabal-doctest] Phase: fixupPhase [cabal-doctest] shrinking RPATHs of ELF executables and libraries in /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 [cabal-doctest] shrinking /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHScabal-doctest-1.0.12-AsRuuIaBriV8XLsESCiT1m-ghc9.10.3.so [cabal-doctest] checking for references to /build/ in /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12... [cabal-doctest] patching script interpreter paths in /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 [cabal-doctest] stripping (with command strip and flags -S -p) in /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12/lib [cabal-doctest] shrinking RPATHs of ELF executables and libraries in /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc [cabal-doctest] checking for references to /build/ in /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc... [cabal-doctest] patching script interpreter paths in /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc [post-build-hook] Pushing 2 paths (74 are already present) using zstd to cache sellout ⏳ [post-build-hook]  [post-build-hook] Pushing /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 (801.50 KiB) [post-build-hook] Pushing /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc (379.52 KiB) [post-build-hook]  [post-build-hook] All done. [post-build-hook] Uploading to the NixCI cache: /nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12 /nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 2 paths... [post-build-hook] copying path '/nix/store/rk297j9fidnzgl27gayrnfqvxsxmkj75-cabal-doctest-1.0.12-doc' to 'https://cache.nix-ci.com'... [post-build-hook] copying path '/nix/store/09796ziywv1s52214c383r9k7v4i34ww-cabal-doctest-1.0.12' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 4 of 22 built (1 building), 193 of 193 downloaded from cache [doctest] Phase: updateAutotoolsGnuConfigScriptsPhase [doctest] Phase: configurePhase [doctest] configureFlags: --verbose --prefix=/nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc/share/doc/doctest-0.24.2 --with-gcc=gcc --package-db=/build/tmp.m0OZwq2jdg/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [doctest] Using Parsec parser [doctest] Configuring doctest-0.24.2... [doctest] Flags chosen: cabal-doctest=False [doctest] Dependency base >=4.12 && <5: using base-4.20.2.0 [doctest] Dependency code-page >=0.1: using code-page-0.2.1 [doctest] Dependency containers: using containers-0.7 [doctest] Dependency deepseq: using deepseq-1.5.0.0 [doctest] Dependency directory: using directory-1.3.8.5 [doctest] Dependency exceptions: using exceptions-0.10.9 [doctest] Dependency filepath: using filepath-1.5.4.0 [doctest] Dependency ghc >=8.6 && <9.14: using ghc-9.10.3 [doctest] Dependency ghc-paths >=0.1.0.9: using ghc-paths-0.1.0.12 [doctest] Dependency process: using process-1.6.26.1 [doctest] Dependency syb >=0.3: using syb-0.7.2.4 [doctest] Dependency temporary: using temporary-1.3 [doctest] Dependency transformers: using transformers-0.6.1.1 [doctest] Dependency base >=4.12 && <5: using base-4.20.2.0 [doctest] Dependency doctest: using doctest-0.24.2 [doctest] Dependency HUnit: using HUnit-1.6.2.0 [doctest] Dependency QuickCheck >=2.13.1: using QuickCheck-2.15.0.1 [doctest] Dependency base >=4.12 && <5: using base-4.20.2.0 [doctest] Dependency code-page >=0.1: using code-page-0.2.1 [doctest] Dependency containers: using containers-0.7 [doctest] Dependency deepseq: using deepseq-1.5.0.0 [doctest] Dependency directory: using directory-1.3.8.5 [doctest] Dependency exceptions: using exceptions-0.10.9 [doctest] Dependency filepath: using filepath-1.5.4.0 [doctest] Dependency ghc >=8.6 && <9.14: using ghc-9.10.3 [doctest] Dependency ghc-paths >=0.1.0.9: using ghc-paths-0.1.0.12 [doctest] Dependency hspec >=2.3.0: using hspec-2.11.14 [doctest] Dependency hspec-core >=2.3.0: using hspec-core-2.11.14 [doctest] Dependency mockery: using mockery-0.3.5 [doctest] Dependency process: using process-1.6.26.1 [doctest] Dependency silently >=1.2.4: using silently-1.2.5.4 [doctest] Dependency stringbuilder >=0.4: using stringbuilder-0.5.1 [doctest] Dependency syb >=0.3: using syb-0.7.2.4 [doctest] Dependency temporary: using temporary-1.3 [doctest] Dependency transformers: using transformers-0.6.1.1 [doctest] Source component graph: [doctest]  component test:spec [doctest]  component lib [doctest]  component exe:doctest dependency lib [doctest] Configured component graph: [doctest]  component doctest-0.24.2-DM1nRfpekBiDYfA0F1Xpwe-spec [doctest]  include HUnit-1.6.2.0-DAl88OZhORF5tEe8jDORqh [doctest]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [doctest]  include base-4.20.2.0-acb8 [doctest]  include code-page-0.2.1-Jt6CrfBFGlS4Z4wzcZWnq2 [doctest]  include containers-0.7-a3f6 [doctest]  include deepseq-1.5.0.0-7e72 [doctest]  include directory-1.3.8.5-e377 [doctest]  include exceptions-0.10.9-0130 [doctest]  include filepath-1.5.4.0-c4eb [doctest]  include ghc-9.10.3-5702 [doctest]  include ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [doctest]  include hspec-2.11.14-K0D92V7bzH349viEnZTxvm [doctest]  include hspec-core-2.11.14-8XRH3K8BPWG69bHF50sBfH [doctest]  include mockery-0.3.5-3Qryyw7zMx12T20sfyazvN [doctest]  include process-1.6.26.1-c5d9 [doctest]  include silently-1.2.5.4-ByKm4HpsZRZGBC8N5tSYGn [doctest]  include stringbuilder-0.5.1-8L9q1CfIA5xBia3rv7hOIN [doctest]  include syb-0.7.2.4-4DQrK89tOsuFUDVxKdoNj [doctest]  include temporary-1.3-EOs1QAHjJhILyOEg1JGJM0 [doctest]  include transformers-0.6.1.1-74e0 [doctest]  component doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest]  include base-4.20.2.0-acb8 [doctest]  include code-page-0.2.1-Jt6CrfBFGlS4Z4wzcZWnq2 [doctest]  include containers-0.7-a3f6 [doctest]  include deepseq-1.5.0.0-7e72 [doctest]  include directory-1.3.8.5-e377 [doctest]  include exceptions-0.10.9-0130 [doctest]  include filepath-1.5.4.0-c4eb [doctest]  include ghc-9.10.3-5702 [doctest]  include ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [doctest]  include process-1.6.26.1-c5d9 [doctest]  include syb-0.7.2.4-4DQrK89tOsuFUDVxKdoNj [doctest]  include temporary-1.3-EOs1QAHjJhILyOEg1JGJM0 [doctest]  include transformers-0.6.1.1-74e0 [doctest]  component doctest-0.24.2-9GcIPE00TeSCcMZoB8T4Sl-doctest [doctest]  include base-4.20.2.0-acb8 [doctest]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest] Linked component graph: [doctest]  unit doctest-0.24.2-DM1nRfpekBiDYfA0F1Xpwe-spec [doctest]  include HUnit-1.6.2.0-DAl88OZhORF5tEe8jDORqh [doctest]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [doctest]  include base-4.20.2.0-acb8 [doctest]  include code-page-0.2.1-Jt6CrfBFGlS4Z4wzcZWnq2 [doctest]  include containers-0.7-a3f6 [doctest]  include deepseq-1.5.0.0-7e72 [doctest]  include directory-1.3.8.5-e377 [doctest]  include exceptions-0.10.9-0130 [doctest]  include filepath-1.5.4.0-c4eb [doctest]  include ghc-9.10.3-5702 [doctest]  include ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [doctest]  include hspec-2.11.14-K0D92V7bzH349viEnZTxvm [doctest]  include hspec-core-2.11.14-8XRH3K8BPWG69bHF50sBfH [doctest]  include mockery-0.3.5-3Qryyw7zMx12T20sfyazvN [doctest]  include process-1.6.26.1-c5d9 [doctest]  include silently-1.2.5.4-ByKm4HpsZRZGBC8N5tSYGn [doctest]  include stringbuilder-0.5.1-8L9q1CfIA5xBia3rv7hOIN [doctest]  include syb-0.7.2.4-4DQrK89tOsuFUDVxKdoNj [doctest]  include temporary-1.3-EOs1QAHjJhILyOEg1JGJM0 [doctest]  include transformers-0.6.1.1-74e0 [doctest]  unit doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest]  include base-4.20.2.0-acb8 [doctest]  include code-page-0.2.1-Jt6CrfBFGlS4Z4wzcZWnq2 [doctest]  include containers-0.7-a3f6 [doctest]  include deepseq-1.5.0.0-7e72 [doctest]  include directory-1.3.8.5-e377 [doctest]  include exceptions-0.10.9-0130 [doctest]  include filepath-1.5.4.0-c4eb [doctest]  include ghc-9.10.3-5702 [doctest]  include ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [doctest]  include process-1.6.26.1-c5d9 [doctest]  include syb-0.7.2.4-4DQrK89tOsuFUDVxKdoNj [doctest]  include temporary-1.3-EOs1QAHjJhILyOEg1JGJM0 [doctest]  include transformers-0.6.1.1-74e0 [doctest]  Test.DocTest=doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR:Test.DocTest,Test.DocTest.Internal.Cabal=doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR:Test.DocTest.Internal.Cabal,Test.DocTest.Internal.Extract=doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR:Test.DocTest.Internal.Extract,Test.DocTest.Internal.Location=doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR:Test.DocTest.Internal.Location,Test.DocTest.Internal.Parse=doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR:Test.DocTest.Internal.Parse,Test.DocTest.Internal.Run=doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR:Test.DocTest.Internal.Run [doctest]  unit doctest-0.24.2-9GcIPE00TeSCcMZoB8T4Sl-doctest [doctest]  include base-4.20.2.0-acb8 [doctest]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest] Ready component graph: [doctest]  definite doctest-0.24.2-DM1nRfpekBiDYfA0F1Xpwe-spec [doctest]  depends HUnit-1.6.2.0-DAl88OZhORF5tEe8jDORqh [doctest]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [doctest]  depends base-4.20.2.0-acb8 [doctest]  depends code-page-0.2.1-Jt6CrfBFGlS4Z4wzcZWnq2 [doctest]  depends containers-0.7-a3f6 [doctest]  depends deepseq-1.5.0.0-7e72 [doctest]  depends directory-1.3.8.5-e377 [doctest]  depends exceptions-0.10.9-0130 [doctest]  depends filepath-1.5.4.0-c4eb [doctest]  depends ghc-9.10.3-5702 [doctest]  depends ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [doctest]  depends hspec-2.11.14-K0D92V7bzH349viEnZTxvm [doctest]  depends hspec-core-2.11.14-8XRH3K8BPWG69bHF50sBfH [doctest]  depends mockery-0.3.5-3Qryyw7zMx12T20sfyazvN [doctest]  depends process-1.6.26.1-c5d9 [doctest]  depends silently-1.2.5.4-ByKm4HpsZRZGBC8N5tSYGn [doctest]  depends stringbuilder-0.5.1-8L9q1CfIA5xBia3rv7hOIN [doctest]  depends syb-0.7.2.4-4DQrK89tOsuFUDVxKdoNj [doctest]  depends temporary-1.3-EOs1QAHjJhILyOEg1JGJM0 [doctest]  depends transformers-0.6.1.1-74e0 [doctest]  definite doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest]  depends base-4.20.2.0-acb8 [doctest]  depends code-page-0.2.1-Jt6CrfBFGlS4Z4wzcZWnq2 [doctest]  depends containers-0.7-a3f6 [doctest]  depends deepseq-1.5.0.0-7e72 [doctest]  depends directory-1.3.8.5-e377 [doctest]  depends exceptions-0.10.9-0130 [doctest]  depends filepath-1.5.4.0-c4eb [doctest]  depends ghc-9.10.3-5702 [doctest]  depends ghc-paths-0.1.0.12-6oH6WUIZVsxv28KmA80ww [doctest]  depends process-1.6.26.1-c5d9 [doctest]  depends syb-0.7.2.4-4DQrK89tOsuFUDVxKdoNj [doctest]  depends temporary-1.3-EOs1QAHjJhILyOEg1JGJM0 [doctest]  depends transformers-0.6.1.1-74e0 [doctest]  definite doctest-0.24.2-9GcIPE00TeSCcMZoB8T4Sl-doctest [doctest]  depends base-4.20.2.0-acb8 [doctest]  depends doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest] Using Cabal-3.12.1.0 compiled by ghc-9.10 [doctest] Using compiler: ghc-9.10.3 [doctest] Using install prefix: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2 [doctest] Executables installed in: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin [doctest] Libraries installed in: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest] Dynamic Libraries installed in: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [doctest] Private executables installed in: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/libexec/x86_64-linux-ghc-9.10.3-5702/doctest-0.24.2 [doctest] Data files installed in: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/share/x86_64-linux-ghc-9.10.3-5702/doctest-0.24.2 [doctest] Documentation installed in: [doctest] /nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc/share/doc/doctest-0.24.2 [doctest] Configuration files installed in: [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/etc [doctest] No alex found [doctest] Using ar found on system at: [doctest] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [doctest] No c2hs found [doctest] No cpphs found [doctest] No doctest found [doctest] Using gcc version 14.3.0 given by user at: [doctest] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [doctest] Using ghc version 9.10.3 found on system at: [doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [doctest] Using ghc-pkg version 9.10.3 found on system at: [doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [doctest] No ghcjs found [doctest] No ghcjs-pkg found [doctest] No greencard found [doctest] Using haddock version 2.31.1 found on system at: [doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [doctest] No happy found [doctest] Using haskell-suite found on system at: haskell-suite-dummy-location [doctest] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [doctest] No hmake found [doctest] Using hpc version 0.69 found on system at: [doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [doctest] Using hsc2hs version 0.68.10 found on system at: [doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [doctest] Using hscolour version 1.25 found on system at: [doctest] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [doctest] No jhc found [doctest] Using ld found on system at: [doctest] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [doctest] No pkg-config found [doctest] Using runghc version 9.10.3 found on system at: [doctest] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [doctest] Using strip version 2.44 found on system at: [doctest] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [doctest] Using tar found on system at: [doctest] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [doctest] No uhc found [doctest] Phase: buildPhase [doctest] Preprocessing test suite 'spec' for doctest-0.24.2... [doctest] Building test suite 'spec' for doctest-0.24.2... [doctest] [ 1 of 44] Compiling Imports ( src/Imports.hs, dist/build/spec/spec-tmp/Imports.o ) [doctest] [ 2 of 44] Compiling GhcUtil ( src/GhcUtil.hs, dist/build/spec/spec-tmp/GhcUtil.o ) [doctest] [ 3 of 44] Compiling Cabal.ReplOptions ( src/Cabal/ReplOptions.hs, dist/build/spec/spec-tmp/Cabal/ReplOptions.o ) [doctest] [ 4 of 44] Compiling Cabal.ReplOptionsSpec ( test/Cabal/ReplOptionsSpec.hs, dist/build/spec/spec-tmp/Cabal/ReplOptionsSpec.o ) [doctest] [ 5 of 44] Compiling Cabal.Paths ( src/Cabal/Paths.hs, dist/build/spec/spec-tmp/Cabal/Paths.o ) [doctest] [ 6 of 44] Compiling Cabal.Options ( src/Cabal/Options.hs, dist/build/spec/spec-tmp/Cabal/Options.o ) [doctest] [ 7 of 44] Compiling Cabal.OptionsSpec ( test/Cabal/OptionsSpec.hs, dist/build/spec/spec-tmp/Cabal/OptionsSpec.o ) [doctest] [ 8 of 44] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, dist/build/spec/spec-tmp/Language/Haskell/GhciWrapper.o ) [doctest] [ 9 of 44] Compiling Interpreter ( src/Interpreter.hs, dist/build/spec/spec-tmp/Interpreter.o ) [doctest] [10 of 44] Compiling InterpreterSpec ( test/InterpreterSpec.hs, dist/build/spec/spec-tmp/InterpreterSpec.o ) [doctest] [11 of 44] Compiling Info ( src/Info.hs, dist/build/spec/spec-tmp/Info.o ) [doctest] [12 of 44] Compiling InfoSpec ( test/InfoSpec.hs, dist/build/spec/spec-tmp/InfoSpec.o ) [doctest] [13 of 44] Compiling Cabal ( src/Cabal.hs, dist/build/spec/spec-tmp/Cabal.o ) [doctest] [14 of 44] Compiling Cabal.PathsSpec ( test/Cabal/PathsSpec.hs, dist/build/spec/spec-tmp/Cabal/PathsSpec.o ) [doctest] [15 of 44] Compiling Language.Haskell.GhciWrapperSpec ( test/Language/Haskell/GhciWrapperSpec.hs, dist/build/spec/spec-tmp/Language/Haskell/GhciWrapperSpec.o ) [doctest] [16 of 44] Compiling Location ( src/Location.hs, dist/build/spec/spec-tmp/Location.o ) [doctest] [17 of 44] Compiling LocationSpec ( test/LocationSpec.hs, dist/build/spec/spec-tmp/LocationSpec.o ) [doctest] [18 of 44] Compiling Options ( src/Options.hs, dist/build/spec/spec-tmp/Options.o ) [doctest] [19 of 44] Compiling OptionsSpec ( test/OptionsSpec.hs, dist/build/spec/spec-tmp/OptionsSpec.o ) [doctest] [20 of 44] Compiling PackageDBs ( src/PackageDBs.hs, dist/build/spec/spec-tmp/PackageDBs.o ) [doctest] [21 of 44] Compiling PackageDBsSpec ( test/PackageDBsSpec.hs, dist/build/spec/spec-tmp/PackageDBsSpec.o ) [doctest] [22 of 44] Compiling Paths_doctest ( dist/build/spec/autogen/Paths_doctest.hs, dist/build/spec/spec-tmp/Paths_doctest.o ) [doctest] [23 of 44] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Cabal.o ) [doctest] [24 of 44] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Location.o ) [doctest] [25 of 44] Compiling Util ( src/Util.hs, dist/build/spec/spec-tmp/Util.o ) [doctest] [26 of 44] Compiling Extract ( src/Extract.hs, dist/build/spec/spec-tmp/Extract.o ) [doctest] [27 of 44] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Extract.o ) [doctest] [28 of 44] Compiling Parse ( src/Parse.hs, dist/build/spec/spec-tmp/Parse.o ) [doctest] [29 of 44] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Parse.o ) [doctest] [30 of 44] Compiling Runner.Example ( src/Runner/Example.hs, dist/build/spec/spec-tmp/Runner/Example.o ) [doctest] [31 of 44] Compiling Runner.ExampleSpec ( test/Runner/ExampleSpec.hs, dist/build/spec/spec-tmp/Runner/ExampleSpec.o ) [doctest] [32 of 44] Compiling Property ( src/Property.hs, dist/build/spec/spec-tmp/Property.o ) [doctest] [33 of 44] Compiling Runner ( src/Runner.hs, dist/build/spec/spec-tmp/Runner.o ) [doctest] [34 of 44] Compiling RunnerSpec ( test/RunnerSpec.hs, dist/build/spec/spec-tmp/RunnerSpec.o ) [doctest] [35 of 44] Compiling Run ( src/Run.hs, dist/build/spec/spec-tmp/Run.o ) [doctest] [36 of 44] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Run.o ) [doctest] [37 of 44] Compiling Test.DocTest ( src/Test/DocTest.hs, dist/build/spec/spec-tmp/Test/DocTest.o ) [doctest] [38 of 44] Compiling RunSpec ( test/RunSpec.hs, dist/build/spec/spec-tmp/RunSpec.o ) [doctest] [39 of 44] Compiling MainSpec ( test/MainSpec.hs, dist/build/spec/spec-tmp/MainSpec.o ) [doctest] [40 of 44] Compiling PropertySpec ( test/PropertySpec.hs, dist/build/spec/spec-tmp/PropertySpec.o ) [doctest] [41 of 44] Compiling ParseSpec ( test/ParseSpec.hs, dist/build/spec/spec-tmp/ParseSpec.o ) [doctest] [42 of 44] Compiling ExtractSpec ( test/ExtractSpec.hs, dist/build/spec/spec-tmp/ExtractSpec.o ) [doctest] [43 of 44] Compiling UtilSpec ( test/UtilSpec.hs, dist/build/spec/spec-tmp/UtilSpec.o ) [doctest] [44 of 44] Compiling Main ( test/Spec.hs, dist/build/spec/spec-tmp/Main.o ) [doctest] [45 of 45] Linking dist/build/spec/spec [doctest] Preprocessing library for doctest-0.24.2... [doctest] Building library for doctest-0.24.2... [doctest] [ 1 of 26] Compiling Imports ( src/Imports.hs, dist/build/Imports.o, dist/build/Imports.dyn_o ) [doctest] [ 2 of 26] Compiling GhcUtil ( src/GhcUtil.hs, dist/build/GhcUtil.o, dist/build/GhcUtil.dyn_o ) [doctest] [ 3 of 26] Compiling Cabal.ReplOptions ( src/Cabal/ReplOptions.hs, dist/build/Cabal/ReplOptions.o, dist/build/Cabal/ReplOptions.dyn_o ) [doctest] [ 4 of 26] Compiling Cabal.Paths ( src/Cabal/Paths.hs, dist/build/Cabal/Paths.o, dist/build/Cabal/Paths.dyn_o ) [doctest] [ 5 of 26] Compiling Cabal.Options ( src/Cabal/Options.hs, dist/build/Cabal/Options.o, dist/build/Cabal/Options.dyn_o ) [doctest] [ 6 of 26] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, dist/build/Language/Haskell/GhciWrapper.o, dist/build/Language/Haskell/GhciWrapper.dyn_o ) [doctest] [ 7 of 26] Compiling Interpreter ( src/Interpreter.hs, dist/build/Interpreter.o, dist/build/Interpreter.dyn_o ) [doctest] [ 8 of 26] Compiling Location ( src/Location.hs, dist/build/Location.o, dist/build/Location.dyn_o ) [doctest] [ 9 of 26] Compiling PackageDBs ( src/PackageDBs.hs, dist/build/PackageDBs.o, dist/build/PackageDBs.dyn_o ) [doctest] [10 of 26] Compiling Paths_doctest ( dist/build/autogen/Paths_doctest.hs, dist/build/Paths_doctest.o, dist/build/Paths_doctest.dyn_o ) [doctest] [11 of 26] Compiling Info ( src/Info.hs, dist/build/Info.o, dist/build/Info.dyn_o ) [doctest] [12 of 26] Compiling Options ( src/Options.hs, dist/build/Options.o, dist/build/Options.dyn_o ) [doctest] [13 of 26] Compiling Cabal ( src/Cabal.hs, dist/build/Cabal.o, dist/build/Cabal.dyn_o ) [doctest] [14 of 26] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, dist/build/Test/DocTest/Internal/Cabal.o, dist/build/Test/DocTest/Internal/Cabal.dyn_o ) [doctest] [15 of 26] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, dist/build/Test/DocTest/Internal/Location.o, dist/build/Test/DocTest/Internal/Location.dyn_o ) [doctest] [16 of 26] Compiling Util ( src/Util.hs, dist/build/Util.o, dist/build/Util.dyn_o ) [doctest] [17 of 26] Compiling Extract ( src/Extract.hs, dist/build/Extract.o, dist/build/Extract.dyn_o ) [doctest] [18 of 26] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, dist/build/Test/DocTest/Internal/Extract.o, dist/build/Test/DocTest/Internal/Extract.dyn_o ) [doctest] [19 of 26] Compiling Parse ( src/Parse.hs, dist/build/Parse.o, dist/build/Parse.dyn_o ) [doctest] [20 of 26] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, dist/build/Test/DocTest/Internal/Parse.o, dist/build/Test/DocTest/Internal/Parse.dyn_o ) [doctest] [21 of 26] Compiling Runner.Example ( src/Runner/Example.hs, dist/build/Runner/Example.o, dist/build/Runner/Example.dyn_o ) [doctest] [22 of 26] Compiling Property ( src/Property.hs, dist/build/Property.o, dist/build/Property.dyn_o ) [doctest] [23 of 26] Compiling Runner ( src/Runner.hs, dist/build/Runner.o, dist/build/Runner.dyn_o ) [doctest] [24 of 26] Compiling Run ( src/Run.hs, dist/build/Run.o, dist/build/Run.dyn_o ) [doctest] [25 of 26] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, dist/build/Test/DocTest/Internal/Run.o, dist/build/Test/DocTest/Internal/Run.dyn_o ) [doctest] [26 of 26] Compiling Test.DocTest ( src/Test/DocTest.hs, dist/build/Test/DocTest.o, dist/build/Test/DocTest.dyn_o ) [doctest] [ 1 of 26] Compiling Imports ( src/Imports.hs, dist/build/Imports.p_o ) [doctest] [ 2 of 26] Compiling GhcUtil ( src/GhcUtil.hs, dist/build/GhcUtil.p_o ) [doctest] [ 3 of 26] Compiling Cabal.ReplOptions ( src/Cabal/ReplOptions.hs, dist/build/Cabal/ReplOptions.p_o ) [doctest] [ 4 of 26] Compiling Cabal.Paths ( src/Cabal/Paths.hs, dist/build/Cabal/Paths.p_o ) [doctest] [ 5 of 26] Compiling Cabal.Options ( src/Cabal/Options.hs, dist/build/Cabal/Options.p_o ) [doctest] [ 6 of 26] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, dist/build/Language/Haskell/GhciWrapper.p_o ) [doctest] [ 7 of 26] Compiling Interpreter ( src/Interpreter.hs, dist/build/Interpreter.p_o ) [doctest] [ 8 of 26] Compiling Location ( src/Location.hs, dist/build/Location.p_o ) [doctest] [ 9 of 26] Compiling PackageDBs ( src/PackageDBs.hs, dist/build/PackageDBs.p_o ) [doctest] [10 of 26] Compiling Paths_doctest ( dist/build/autogen/Paths_doctest.hs, dist/build/Paths_doctest.p_o ) [doctest] [11 of 26] Compiling Info ( src/Info.hs, dist/build/Info.p_o ) [doctest] [12 of 26] Compiling Options ( src/Options.hs, dist/build/Options.p_o ) [doctest] [13 of 26] Compiling Cabal ( src/Cabal.hs, dist/build/Cabal.p_o ) [doctest] [14 of 26] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, dist/build/Test/DocTest/Internal/Cabal.p_o ) [doctest] [15 of 26] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, dist/build/Test/DocTest/Internal/Location.p_o ) [doctest] [16 of 26] Compiling Util ( src/Util.hs, dist/build/Util.p_o ) [doctest] [17 of 26] Compiling Extract ( src/Extract.hs, dist/build/Extract.p_o ) [doctest] [18 of 26] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, dist/build/Test/DocTest/Internal/Extract.p_o ) [doctest] [19 of 26] Compiling Parse ( src/Parse.hs, dist/build/Parse.p_o ) [doctest] [20 of 26] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, dist/build/Test/DocTest/Internal/Parse.p_o ) [doctest] [21 of 26] Compiling Runner.Example ( src/Runner/Example.hs, dist/build/Runner/Example.p_o ) [doctest] [22 of 26] Compiling Property ( src/Property.hs, dist/build/Property.p_o ) [doctest] [23 of 26] Compiling Runner ( src/Runner.hs, dist/build/Runner.p_o ) [doctest] [24 of 26] Compiling Run ( src/Run.hs, dist/build/Run.p_o ) [doctest] [25 of 26] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, dist/build/Test/DocTest/Internal/Run.p_o ) [doctest] [26 of 26] Compiling Test.DocTest ( src/Test/DocTest.hs, dist/build/Test/DocTest.p_o ) [doctest] Preprocessing executable 'doctest' for doctest-0.24.2... [doctest] Building executable 'doctest' for doctest-0.24.2... [doctest] [1 of 2] Compiling Main ( driver/doctest.hs, dist/build/doctest/doctest-tmp/Main.o ) [doctest] [2 of 2] Compiling Paths_doctest ( dist/build/doctest/autogen/Paths_doctest.hs, dist/build/doctest/doctest-tmp/Paths_doctest.o ) [doctest] [3 of 3] Linking dist/build/doctest/doctest [doctest] buildPhase completed in 1 minutes 59 seconds [doctest] Phase: checkPhase [doctest] Running 1 test suites... [doctest] Test suite spec: RUNNING... [doctest]  [doctest] Extract [doctest]  extract [doctest]  extracts documentation for a top-level declaration [✔] [doctest]  extracts documentation from argument list [✔] [doctest]  extracts documentation for a type class function [✔] [doctest]  extracts documentation from the argument list of a type class function [✔] [doctest]  extracts documentation from the module header [✔] [doctest]  extracts documentation from imported modules [✔] [doctest]  extracts documentation from export list [✔] [doctest]  extracts documentation from named chunks [✔] [doctest]  returns docstrings in the same order they appear in the source [✔] [doctest]  extracts $setup code [✔] [doctest]  fails on invalid flags [✔] [doctest]  extract (regression tests) [doctest]  works with infix operators [✔] [doctest]  works with parallel list comprehensions [✔] [doctest]  works with list comprehensions in instance definitions [✔] [doctest]  works with foreign imports [✔] [doctest]  works for rewrite rules [✔] [doctest]  works for rewrite rules with type signatures [✔] [doctest]  strips CR from dos line endings [✔] [doctest]  works with a module that splices in an expression from an other module [✔] [doctest]  works for type families and GHC 7.6.1 [✔] [doctest] Info [doctest]  formatInfo [doctest]  formats --info output [✔] [doctest] Interpreter [doctest]  interpreterSupported [doctest]  indicates whether GHCi is supported on current platform [✔] [doctest]  ghcInfo [doctest]  includes "Have interpreter" [✔] [doctest]  safeEval [doctest]  evaluates an expression [✔] [doctest]  returns Left on unterminated multiline command [✔] [doctest]  filterExpression [doctest]  removes :set -XTemplateHaskell [✔] [doctest]  filters -XTemplateHaskell [✔] [doctest]  leaves :set-statement that do not set -XTemplateHaskell alone [✔] [doctest] Language.Haskell.GhciWrapper [doctest]  evalEcho [doctest]  prints result to stdout [✔] [doctest]  evalWith [doctest]  with PreserveIt [doctest]  preserves it [✔] [doctest]  eval [doctest]  shows literals [✔] [doctest]  shows string literals containing Unicode [✔] [doctest]  evaluates simple expressions [✔] [doctest]  supports let bindings [✔] [doctest]  allows import statements [✔] [doctest]  captures stdout [✔] [doctest]  captures stdout (Unicode) [✔] [doctest]  captures stdout (empty line) [✔] [doctest]  captures stdout (multiple lines) [✔] [doctest]  captures stderr [✔] [doctest]  captures stderr (Unicode) [✔] [doctest]  shows exceptions [✔] [doctest]  shows exceptions (ExitCode) [✔] [doctest]  gives an error message for identifiers that are not in scope [✔] [doctest]  when configVerbose is True [doctest]  prints prompt [✔] [doctest]  with -XOverloadedStrings, -Wall and -Werror [doctest]  does not fail on marker expression (bug fix) [✔] [doctest]  with NoImplicitPrelude [doctest]  works [✔] [doctest]  with a strange String type [doctest]  works [✔] [doctest] Location [doctest]  toLocation [doctest]  works for a regular SrcSpan [✔] [doctest]  works for a single-line SrcSpan [✔] [doctest]  works for a SrcSpan that corresponds to single point [✔] [doctest]  works for a bad SrcSpan [✔] [doctest]  works for a SrcLoc with bad locations [✔] [doctest]  enumerate [doctest]  replicates UnhelpfulLocation [✔] [doctest]  enumerates Location [✔] [doctest] Main [doctest]  doctest [doctest]  testSimple [✔] [doctest]  it-variable [✔] [doctest]  it-variable in $setup [✔] [doctest]  failing [✔] [doctest]  skips subsequent examples from the same group if an example fails [✔] [doctest]  without --fail-fast [doctest]  continuous even if some tests fail [✔] [doctest]  with --fail-fast [doctest]  stops after the first failure [✔] [doctest]  stops after failures in $setup [✔] [doctest]  testImport [✔] [doctest]  testCommentLocation [✔] [doctest]  testPutStr [✔] [doctest]  fails on multi-line expressions, introduced with :{ [✔] [doctest]  testBlankline [✔] [doctest]  examples from the same Haddock comment share the same scope [✔] [doctest]  testDocumentationForArguments [✔] [doctest]  template-haskell [✔] [doctest]  handles source files with CRLF line endings [✔] [doctest]  runs $setup before each test group [✔] [doctest]  skips subsequent tests from a module, if $setup fails [✔] [doctest]  ignores trailing whitespace when matching test output [✔] [doctest]  doctest as a runner for QuickCheck properties [doctest]  runs a boolean property [✔] [doctest]  runs an explicitly quantified property [✔] [doctest]  runs an implicitly quantified property [✔] [doctest]  reports a failing property [✔] [doctest]  runs a boolean property with an explicit type signature [✔] [doctest]  runs $setup before each property [✔] [doctest]  doctest (regression tests) [doctest]  bugfixWorkingDirectory [✔] [doctest]  bugfixOutputToStdErr [✔] [doctest]  bugfixImportHierarchical [✔] [doctest]  bugfixMultipleModules [✔] [doctest]  testCPP [✔] [doctest]  template-haskell-bugfix [✔] [doctest]  doesn't clash with user bindings of stdout/stderr [✔] [doctest]  doesn't get confused by doctests using System.IO imports [✔] [doctest] Options [doctest]  parseOptions [doctest]  strips --optghc [✔] [doctest]  strips --optghc= [✔] [doctest]  with ghc options that are not valid with --interactive [doctest]  returns ProxyToGhc [✔] [doctest]  +++ OK, passed 100 tests. [doctest]  with --interactive [doctest]  disables magic mode [✔] [doctest]  filters out --interactive [✔] [doctest]  accepts --fast [✔] [doctest]  --no-magic [doctest]  without --no-magic [doctest]  enables magic mode [✔] [doctest]  with --no-magic [doctest]  disables magic mode [✔] [doctest]  --fast [doctest]  without --fast [doctest]  disables fast mode [✔] [doctest]  with --fast [doctest]  enables fast mode [✔] [doctest]  --preserve-it [doctest]  without --preserve-it [doctest]  does not preserve the `it` variable [✔] [doctest]  with --preserve-it [doctest]  preserves the `it` variable [✔] [doctest]  --fail-fast [doctest]  without --fail-fast [doctest]  disables fail-fast mode [✔] [doctest]  with --fail-fast [doctest]  enables fail-fast mode [✔] [doctest]  with --help [doctest]  outputs usage information [✔] [doctest]  with --version [doctest]  outputs version information [✔] [doctest]  with --info [doctest]  outputs machine readable version information [✔] [doctest]  --verbose [doctest]  without --verbose [doctest]  is not verbose by default [✔] [doctest]  with --verbose [doctest]  parses verbose option [✔] [doctest] PackageDBs [doctest]  getPackageDBsFromEnv [doctest]  uses global and user when no env used [✔] [doctest]  respects GHC_PACKAGE_PATH [✔] [doctest] Parse [doctest]  extractDocTests [doctest]  extracts properties from a module [✔] [doctest]  extracts examples from a module [✔] [doctest]  extracts examples from documentation for non-exported names [✔] [doctest]  extracts multiple examples from a module [✔] [doctest]  returns an empty list, if documentation contains no examples [✔] [doctest]  sets setup code to Nothing, if it does not contain any tests [✔] [doctest]  keeps modules that only contain setup code [✔] [doctest]  parseInteractions (an internal function) [doctest]  parses an interaction [✔] [doctest]  drops whitespace as appropriate [✔] [doctest]  parses an interaction without a result [✔] [doctest]  works with a complex example [✔] [doctest]  attaches location information to parsed interactions [✔] [doctest]  basic multiline [✔] [doctest]  multiline align output [✔] [doctest]  multiline align output with >>> [✔] [doctest]  parses wild cards lines [✔] [doctest]  parses wild card chunks [✔] [doctest]  parseProperties (an internal function) [doctest]  parses a property [✔] [doctest]  mkLineChunks (an internal function) [doctest]  replaces ellipsis with WildCardChunks [✔] [doctest]  doesn't replace fewer than 3 consecutive dots [✔] [doctest]  handles leading and trailing dots [✔] [doctest]  handles leading and trailing ellipsis [✔] [doctest] Property [doctest]  runProperty [doctest]  reports a failing property [✔] [doctest]  runs a Bool property [✔] [doctest]  runs a Bool property with an explicit type signature [✔] [doctest]  runs an implicitly quantified property [✔] [doctest]  runs an implicitly quantified property even with GHC 7.4 [✔] [doctest]  runs an explicitly quantified property [✔] [doctest]  allows to mix implicit and explicit quantification [✔] [doctest]  reports the value for which a property fails [✔] [doctest]  reports the values for which a property that takes multiple arguments fails [✔] [doctest]  defaults ambiguous type variables to Integer [✔] [doctest]  freeVariables [doctest]  finds a free variables in a term [✔] [doctest]  ignores duplicates [✔] [doctest]  works for terms with multiple names [✔] [doctest]  works for names that contain a prime [✔] [doctest]  works for names that are similar to other names that are in scope [✔] [doctest]  parseNotInScope [doctest]  when error message was produced by GHC 7.4.1 [doctest]  extracts a variable name of variable that is not in scope from an error message [✔] [doctest]  ignores duplicates [✔] [doctest]  works for variable names that contain a prime [✔] [doctest]  works for error messages with suggestions [✔] [doctest]  when error message was produced by GHC 8.0.1 [doctest]  extracts a variable name of variable that is not in scope from an error message [✔] [doctest]  ignores duplicates [✔] [doctest]  works for variable names that contain a prime [✔] [doctest]  works for error messages with suggestions [✔] [doctest] Run [doctest]  doctest [doctest]  exits with ExitFailure if at least one test case fails [✔] [doctest]  prints help on --help [✔] [doctest]  prints version on --version [✔] [doctest]  accepts arbitrary GHC options [✔] [doctest]  accepts GHC options with --optghc [✔] [doctest]  prints a deprecation message for --optghc [✔] [doctest]  prints error message on invalid option [✔] [doctest]  interprets GHC response files [✔] [doctest]  prints verbose description of a specification [✔] [doctest]  prints verbose description of a property [✔] [doctest]  prints verbose error [✔] [doctest]  can deal with potentially problematic GHC options [✔] [doctest]  doctestWithResult [doctest]  on parse error [doctest]  aborts with (ExitFailure 1) [✔] [doctest]  prints a useful error message [✔] [doctest]  expandDirs [doctest]  expands a directory [✔] [doctest]  ignores files [✔] [doctest]  ignores random things [✔] [doctest] Runner [doctest]  report [doctest]  when mode is interactive [doctest]  writes to stderr [✔] [doctest]  when mode is non-interactive [doctest]  writes to stderr [✔] [doctest]  report_ [doctest]  when mode is interactive [doctest]  writes transient output to stderr [✔] [doctest]  when mode is non-interactive [doctest]  is ignored [✔] [doctest] Runner.Example [doctest]  mkResult [doctest]  returns Equal when output matches [✔] [doctest]  +++ OK, passed 100 tests. [doctest]  ignores trailing whitespace [✔] [doctest]  with WildCardLine [doctest]  matches zero lines [✔] [doctest]  matches first zero line [✔] [doctest]  matches final zero line [✔] [doctest]  matches an arbitrary number of lines [✔] [doctest]  matches an arbitrary number of lines (quickcheck) [✔] [doctest]  +++ OK, passed 100 tests. [doctest]  with WildCardChunk [doctest]  matches an arbitrary line chunk [✔] [doctest]  matches an arbitrary line chunk at end [✔] [doctest]  does not match at end [✔] [doctest]  does not match at start [✔] [doctest]  when output does not match [doctest]  constructs failure message [✔] [doctest]  constructs failure message for multi-line output [✔] [doctest]  when any output line contains "unsafe" characters [doctest]  uses show to format output lines [✔] [doctest]  insert caret after last matching character on different lengths [✔] [doctest]  insert caret after mismatching line for multi-line output [✔] [doctest]  insert caret after mismatching line with the longest match for multi-line wildcard pattern [✔] [doctest]  insert caret after longest match for wildcard [✔] [doctest]  show expanded pattern for long matches [✔] [doctest] Util [doctest]  convertDosLineEndings [doctest]  converts CRLF to LF [✔] [doctest]  strips a trailing CR [✔] [doctest]  takeWhileEnd [doctest]  returns the longest suffix of elements that satisfy a given predicate [✔] [doctest]  [doctest] Finished in 74.7809 seconds [doctest] 198 examples, 0 failures [doctest] Test suite spec: PASS [doctest] Test suite logged to: dist/test/doctest-0.24.2-spec.log [doctest] 1 of 1 test suites (1 of 1 test cases) passed. [doctest] checkPhase completed in 1 minutes 16 seconds [doctest] Phase: haddockPhase [doctest] Preprocessing test suite 'spec' for doctest-0.24.2... [doctest] Preprocessing library for doctest-0.24.2... [doctest] Running Haddock on library for doctest-0.24.2... [doctest] [ 1 of 26] Compiling Imports ( src/Imports.hs, nothing ) [doctest] [ 2 of 26] Compiling GhcUtil ( src/GhcUtil.hs, nothing ) [doctest] [ 3 of 26] Compiling Cabal.ReplOptions ( src/Cabal/ReplOptions.hs, nothing ) [doctest] [ 4 of 26] Compiling Cabal.Paths ( src/Cabal/Paths.hs, nothing ) [doctest] [ 5 of 26] Compiling Cabal.Options ( src/Cabal/Options.hs, nothing ) [doctest] [ 6 of 26] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, nothing ) [doctest] [ 7 of 26] Compiling Interpreter ( src/Interpreter.hs, nothing ) [doctest] [ 8 of 26] Compiling Location ( src/Location.hs, nothing ) [doctest] [ 9 of 26] Compiling PackageDBs ( src/PackageDBs.hs, nothing ) [doctest] [10 of 26] Compiling Paths_doctest ( dist/build/autogen/Paths_doctest.hs, nothing ) [doctest] [11 of 26] Compiling Info ( src/Info.hs, nothing ) [doctest] [12 of 26] Compiling Options ( src/Options.hs, nothing ) [doctest] [13 of 26] Compiling Cabal ( src/Cabal.hs, nothing ) [doctest] [14 of 26] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, nothing ) [doctest] [15 of 26] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, nothing ) [doctest] [16 of 26] Compiling Util ( src/Util.hs, nothing ) [doctest] [17 of 26] Compiling Extract ( src/Extract.hs, nothing ) [doctest] [18 of 26] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, nothing ) [doctest] [19 of 26] Compiling Parse ( src/Parse.hs, nothing ) [doctest] [20 of 26] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, nothing ) [doctest] [21 of 26] Compiling Runner.Example ( src/Runner/Example.hs, nothing ) [doctest] [22 of 26] Compiling Property ( src/Property.hs, nothing ) [doctest] [23 of 26] Compiling Runner ( src/Runner.hs, nothing ) [doctest] [24 of 26] Compiling Run ( src/Run.hs, nothing ) [doctest] [25 of 26] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, nothing ) [doctest] [26 of 26] Compiling Test.DocTest ( src/Test/DocTest.hs, nothing ) [doctest] Haddock coverage: [doctest] Warning: Imports: Could not find documentation for exported module: Imports [doctest]  0% ( 0 / 2) in 'Test.DocTest.Internal.Cabal' [doctest]  Missing documentation for: [doctest]  Module header [doctest]  doctest (src/Test/DocTest/Internal/Cabal.hs:10) [doctest]  88% ( 8 / 9) in 'Test.DocTest.Internal.Location' [doctest]  Missing documentation for: [doctest]  Module header [doctest] Warning: 'SomeException' is ambiguous. It is defined [doctest]  * in ‘GHC.Internal.Exception.Type’ [doctest]  * in ‘GHC.Internal.Exception.Type’ [doctest]  You may be able to disambiguate the identifier by qualifying it or [doctest]  by specifying the type/value namespace explicitly. [doctest]  Defaulting to the one defined in ‘GHC.Internal.Exception.Type’ [doctest]  66% ( 2 / 3) in 'Test.DocTest.Internal.Extract' [doctest]  Missing documentation for: [doctest]  Module header [doctest]  22% ( 2 / 9) in 'Test.DocTest.Internal.Parse' [doctest]  Missing documentation for: [doctest]  Module header [doctest]  DocTest (src/Parse.hs:29) [doctest]  Expression (src/Parse.hs:44) [doctest]  ExpectedResult (src/Parse.hs:45) [doctest]  ExpectedLine (src/Parse.hs:38) [doctest]  LineChunk (src/Parse.hs:32) [doctest]  parseModules (src/Parse.hs:60) [doctest] Warning: 'report_' is out of scope. [doctest]  If you qualify the identifier, haddock can try to link it anyway. [doctest]  15% ( 2 / 13) in 'Test.DocTest.Internal.Run' [doctest]  Missing documentation for: [doctest]  Module header [doctest]  Result (src/Run.hs:139) [doctest]  Config (src/Options.hs:58) [doctest]  isSuccess (src/Runner.hs:55) [doctest]  defaultConfig (src/Options.hs:68) [doctest]  doctestWithRepl (src/Run.hs:67) [doctest]  doctestWith (src/Run.hs:137) [doctest]  formatSummary (src/Runner.hs:58) [doctest]  evaluateResult (src/Run.hs:142) [doctest]  doctestWithResult (src/Run.hs:145) [doctest]  runDocTests (src/Run.hs:155) [doctest]  50% ( 1 / 2) in 'Test.DocTest' [doctest]  Missing documentation for: [doctest]  Module header [doctest] Documentation created: dist/doc/html/doctest/, [doctest] dist/doc/html/doctest/doctest.txt [doctest] Preprocessing executable 'doctest' for doctest-0.24.2... [doctest] haddockPhase completed in 50 seconds [doctest] Phase: installPhase [doctest] Installing library in /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [doctest] Installing executable doctest in /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin [doctest] Warning: The directory [doctest] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin is not in the [doctest] system search path. [doctest] Phase: fixupPhase [doctest] shrinking RPATHs of ELF executables and libraries in /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2 [doctest] shrinking /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin/doctest [doctest] shrinking /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSdoctest-0.24.2-18dgXXsZmap5NU7dF4zxUR-ghc9.10.3.so [doctest] checking for references to /build/ in /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2... [doctest] patching script interpreter paths in /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2 [doctest] stripping (with command strip and flags -S -p) in /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/lib /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin [doctest] shrinking RPATHs of ELF executables and libraries in /nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc [doctest] checking for references to /build/ in /nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc... [doctest] patching script interpreter paths in /nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2 /nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2 /nix/store/9w16jfsmqf4xq8g2y6i0cvy9h68ki5hm-doctest-0.24.2-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 5 of 22 built, 193 of 193 downloaded from cache Building duoids Building vector [duoids] Phase: setupCompilerEnvironmentPhase [duoids] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [vector] Phase: setupCompilerEnvironmentPhase [vector] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [duoids] Phase: unpackPhase [duoids] unpacking source archive /nix/store/hwhxlh4aq4w3fvrlk65js3cdkm3in22k-5y8mzl3igbd7qyrpb010fqiak50k5q01-source/./core [duoids] source root is core [duoids] Phase: patchPhase [duoids] Phase: compileBuildDriverPhase [duoids] setupCompileFlags: -package-db=/build/tmp.1ad8Hl5Fcb/setup-package.conf.d -threaded [duoids] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.1ad8Hl5Fcb/Main.o ) [vector] Phase: unpackPhase [vector] unpacking source archive /nix/store/ysi2m95adzhn3nmggwppnxvmps3a93x3-vector-0.13.2.0.tar.gz [vector] source root is vector-0.13.2.0 [vector] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "vector-0.13.2.0/vector.cabal" [vector] Phase: patchPhase [vector] Replace Cabal file with edited version from mirror://hackage/vector-0.13.2.0/revision/2.cabal. [vector] Run jailbreak-cabal to lift version restrictions on build inputs. [vector] Phase: compileBuildDriverPhase [vector] setupCompileFlags: -package-db=/build/tmp.X0qFWDXGKO/setup-package.conf.d -threaded [duoids] [2 of 2] Linking Setup [vector] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.X0qFWDXGKO/Main.o ) [vector] [2 of 2] Linking Setup [vector] Phase: updateAutotoolsGnuConfigScriptsPhase [vector] Phase: configurePhase [vector] configureFlags: --verbose --prefix=/nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.X0qFWDXGKO/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [vector] Using Parsec parser [vector] Configuring vector-0.13.2.0... [duoids] Phase: updateAutotoolsGnuConfigScriptsPhase [duoids] Phase: configurePhase [duoids] configureFlags: --verbose --prefix=/nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc/share/doc/duoids-0.0.1.0 --with-gcc=gcc --package-db=/build/tmp.1ad8Hl5Fcb/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-Werror --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [duoids] Using Parsec parser [duoids] Configuring duoids-0.0.1.0... [vector] Flags chosen: boundschecks=True, internalchecks=False, unsafechecks=False, [vector] wall=False [duoids] Flags chosen: lint=False, noisy-deprecations=True [vector] Dependency base: using base-4.20.2.0 [vector] Dependency deepseq: using deepseq-1.5.0.0 [vector] Dependency primitive: using primitive-0.9.1.0 [vector] Dependency vector-stream: using vector-stream-0.1.0.1 [vector] Dependency base: using base-4.20.2.0 [vector] Dependency random: using random-1.2.1.3 [vector] Dependency tasty: using tasty-1.5.3 [vector] Dependency vector: using vector-0.13.2.0 [vector] Dependency QuickCheck: using QuickCheck-2.15.0.1 [vector] Dependency base: using base-4.20.2.0 [vector] Dependency base-orphans: using base-orphans-0.9.3 [vector] Dependency primitive: using primitive-0.9.1.0 [vector] Dependency random: using random-1.2.1.3 [vector] Dependency tasty: using tasty-1.5.3 [vector] Dependency tasty-hunit: using tasty-hunit-0.10.2 [vector] Dependency tasty-quickcheck: using tasty-quickcheck-0.11.1 [vector] Dependency template-haskell: using template-haskell-2.22.0.0 [vector] Dependency transformers: using transformers-0.6.1.1 [vector] Dependency vector: using vector-0.13.2.0 [vector] Dependency QuickCheck: using QuickCheck-2.15.0.1 [vector] Dependency base: using base-4.20.2.0 [vector] Dependency base-orphans: using base-orphans-0.9.3 [vector] Dependency primitive: using primitive-0.9.1.0 [vector] Dependency random: using random-1.2.1.3 [vector] Dependency tasty: using tasty-1.5.3 [vector] Dependency tasty-hunit: using tasty-hunit-0.10.2 [vector] Dependency tasty-quickcheck: using tasty-quickcheck-0.11.1 [vector] Dependency template-haskell: using template-haskell-2.22.0.0 [vector] Dependency transformers: using transformers-0.6.1.1 [vector] Dependency vector: using vector-0.13.2.0 [vector] Dependency base: using base-4.20.2.0 [vector] Dependency doctest: using doctest-0.24.2 [vector] Dependency primitive: using primitive-0.9.1.0 [vector] Dependency vector: using vector-0.13.2.0 [vector] Dependency base: using base-4.20.2.0 [vector] Dependency primitive: using primitive-0.9.1.0 [vector] Dependency tasty: using tasty-1.5.3 [vector] Dependency tasty-inspection-testing: using tasty-inspection-testing-0.2.1 [vector] Dependency vector: using vector-0.13.2.0 [vector] Source component graph: [vector]  component lib [vector]  component lib:benchmarks-O2 dependency lib [vector]  component test:vector-doctest dependency lib [vector]  component test:vector-inspection dependency lib [vector]  component test:vector-tests-O0 dependency lib [vector]  component test:vector-tests-O2 dependency lib [vector] Configured component graph: [vector]  component vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  include base-4.20.2.0-acb8 [vector]  include deepseq-1.5.0.0-7e72 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include vector-stream-0.1.0.1-2tj7oI3vwQGAFca6yIjUY2 [vector]  component vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2 [vector]  include base-4.20.2.0-acb8 [vector]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  component vector-0.13.2.0-JbFHaIgT3rIJKb0WGEV1Eg-vector-doctest [vector]  include base-4.20.2.0-acb8 [vector]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  component vector-0.13.2.0-knuS4JeBvcGrPgIe2h2Ro-vector-inspection [vector]  include base-4.20.2.0-acb8 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include tasty-inspection-testing-0.2.1-DJtNDI9X64S9lohYBgxqCJ [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  component vector-0.13.2.0-DnSPcwBcWgq9zTMimd0nah-vector-tests-O0 [vector]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [vector]  include base-4.20.2.0-acb8 [vector]  include base-orphans-0.9.3-4sqcl4G26xA94CCGcPMMk5 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [vector]  include tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [vector]  include template-haskell-2.22.0.0-af3f [vector]  include transformers-0.6.1.1-74e0 [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  component vector-0.13.2.0-CU97HsECnd7DuGJDQvy5Pn-vector-tests-O2 [vector]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [vector]  include base-4.20.2.0-acb8 [vector]  include base-orphans-0.9.3-4sqcl4G26xA94CCGcPMMk5 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [vector]  include tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [vector]  include template-haskell-2.22.0.0-af3f [vector]  include transformers-0.6.1.1-74e0 [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector] Linked component graph: [vector]  unit vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  include base-4.20.2.0-acb8 [vector]  include deepseq-1.5.0.0-7e72 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include vector-stream-0.1.0.1-2tj7oI3vwQGAFca6yIjUY2 [vector]  Data.Vector=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector,Data.Vector.Fusion.Bundle=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Fusion.Bundle,Data.Vector.Fusion.Bundle.Monadic=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Fusion.Bundle.Monadic,Data.Vector.Fusion.Bundle.Size=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Fusion.Bundle.Size,Data.Vector.Fusion.Stream.Monadic=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Fusion.Stream.Monadic,Data.Vector.Fusion.Util=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Fusion.Util,Data.Vector.Generic=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Generic,Data.Vector.Generic.Base=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Generic.Base,Data.Vector.Generic.Mutable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Generic.Mutable,Data.Vector.Generic.Mutable.Base=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Generic.Mutable.Base,Data.Vector.Generic.New=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Generic.New,Data.Vector.Internal.Check=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Internal.Check,Data.Vector.Mutable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Mutable,Data.Vector.Primitive=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Primitive,Data.Vector.Primitive.Mutable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Primitive.Mutable,Data.Vector.Storable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Storable,Data.Vector.Storable.Internal=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Storable.Internal,Data.Vector.Storable.Mutable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Storable.Mutable,Data.Vector.Strict=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Strict,Data.Vector.Strict.Mutable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Strict.Mutable,Data.Vector.Unboxed=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Unboxed,Data.Vector.Unboxed.Base=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Unboxed.Base,Data.Vector.Unboxed.Mutable=vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg:Data.Vector.Unboxed.Mutable [vector]  unit vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2 [vector]  include base-4.20.2.0-acb8 [vector]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  Bench.Vector.Algo.AwShCC=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.AwShCC,Bench.Vector.Algo.FindIndexR=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.FindIndexR,Bench.Vector.Algo.HybCC=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.HybCC,Bench.Vector.Algo.Leaffix=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.Leaffix,Bench.Vector.Algo.ListRank=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.ListRank,Bench.Vector.Algo.MutableSet=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.MutableSet,Bench.Vector.Algo.NextPermutation=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.NextPermutation,Bench.Vector.Algo.Quickhull=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.Quickhull,Bench.Vector.Algo.Rootfix=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.Rootfix,Bench.Vector.Algo.Spectral=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.Spectral,Bench.Vector.Algo.Tridiag=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Algo.Tridiag,Bench.Vector.Tasty=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.Tasty,Bench.Vector.TestData.Graph=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.TestData.Graph,Bench.Vector.TestData.ParenTree=vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2:Bench.Vector.TestData.ParenTree [vector]  unit vector-0.13.2.0-JbFHaIgT3rIJKb0WGEV1Eg-vector-doctest [vector]  include base-4.20.2.0-acb8 [vector]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  unit vector-0.13.2.0-knuS4JeBvcGrPgIe2h2Ro-vector-inspection [vector]  include base-4.20.2.0-acb8 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include tasty-inspection-testing-0.2.1-DJtNDI9X64S9lohYBgxqCJ [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  unit vector-0.13.2.0-DnSPcwBcWgq9zTMimd0nah-vector-tests-O0 [vector]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [vector]  include base-4.20.2.0-acb8 [vector]  include base-orphans-0.9.3-4sqcl4G26xA94CCGcPMMk5 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [vector]  include tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [vector]  include template-haskell-2.22.0.0-af3f [vector]  include transformers-0.6.1.1-74e0 [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  unit vector-0.13.2.0-CU97HsECnd7DuGJDQvy5Pn-vector-tests-O2 [vector]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [vector]  include base-4.20.2.0-acb8 [vector]  include base-orphans-0.9.3-4sqcl4G26xA94CCGcPMMk5 [vector]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  include tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [vector]  include tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [vector]  include template-haskell-2.22.0.0-af3f [vector]  include transformers-0.6.1.1-74e0 [vector]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector] Ready component graph: [vector]  definite vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  depends base-4.20.2.0-acb8 [vector]  depends deepseq-1.5.0.0-7e72 [vector]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  depends vector-stream-0.1.0.1-2tj7oI3vwQGAFca6yIjUY2 [vector]  definite vector-0.13.2.0-CU97HsECnd7DuGJDQvy5Pn-vector-tests-O2 [vector]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [vector]  depends base-4.20.2.0-acb8 [vector]  depends base-orphans-0.9.3-4sqcl4G26xA94CCGcPMMk5 [vector]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  depends random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  depends tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  depends tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [vector]  depends tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [vector]  depends template-haskell-2.22.0.0-af3f [vector]  depends transformers-0.6.1.1-74e0 [vector]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  definite vector-0.13.2.0-DnSPcwBcWgq9zTMimd0nah-vector-tests-O0 [vector]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [vector]  depends base-4.20.2.0-acb8 [vector]  depends base-orphans-0.9.3-4sqcl4G26xA94CCGcPMMk5 [vector]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  depends random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  depends tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  depends tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [vector]  depends tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [vector]  depends template-haskell-2.22.0.0-af3f [vector]  depends transformers-0.6.1.1-74e0 [vector]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  definite vector-0.13.2.0-JbFHaIgT3rIJKb0WGEV1Eg-vector-doctest [vector]  depends base-4.20.2.0-acb8 [vector]  depends doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [vector]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  definite vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2 [vector]  depends base-4.20.2.0-acb8 [vector]  depends random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [vector]  depends tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector]  definite vector-0.13.2.0-knuS4JeBvcGrPgIe2h2Ro-vector-inspection [vector]  depends base-4.20.2.0-acb8 [vector]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [vector]  depends tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [vector]  depends tasty-inspection-testing-0.2.1-DJtNDI9X64S9lohYBgxqCJ [vector]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector] Using Cabal-3.12.1.0 compiled by ghc-9.10 [vector] Using compiler: ghc-9.10.3 [vector] Using install prefix: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0 [vector] Executables installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/bin [vector] Libraries installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector] Dynamic Libraries installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [vector] Private executables installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/libexec/x86_64-linux-ghc-9.10.3-5702/vector-0.13.2.0 [vector] Data files installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/share/x86_64-linux-ghc-9.10.3-5702/vector-0.13.2.0 [vector] Documentation installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/share/doc/x86_64-linux-ghc-9.10.3-5702/vector-0.13.2.0 [vector] Configuration files installed in: [vector] /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/etc [vector] No alex found [vector] Using ar found on system at: [vector] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [vector] No c2hs found [vector] No cpphs found [vector] Using doctest version 0.24.2 found on system at: [vector] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin/doctest [vector] Using gcc version 14.3.0 given by user at: [vector] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [vector] Using ghc version 9.10.3 found on system at: [vector] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [vector] Using ghc-pkg version 9.10.3 found on system at: [vector] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [vector] No ghcjs found [vector] No ghcjs-pkg found [vector] No greencard found [vector] Using haddock version 2.31.1 found on system at: [vector] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [vector] No happy found [vector] Using haskell-suite found on system at: haskell-suite-dummy-location [vector] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [vector] No hmake found [vector] Using hpc version 0.69 found on system at: [vector] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [vector] Using hsc2hs version 0.68.10 found on system at: [vector] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [vector] Using hscolour version 1.25 found on system at: [vector] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [vector] No jhc found [vector] Using ld found on system at: [vector] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [vector] No pkg-config found [vector] Using runghc version 9.10.3 found on system at: [vector] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [vector] Using strip version 2.44 found on system at: [vector] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [vector] Using tar found on system at: [vector] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [vector] No uhc found [duoids] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoids] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoids] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoids] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoids] Dependency doctest >=0.21.1 && <0.22 || >=0.22.6 && <0.23 || >=0.24.0 && [duoids] <0.25: using doctest-0.24.2 [duoids] Dependency duoids: using duoids-0.0.1.0 [duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoids] Source component graph: [duoids]  component lib [duoids]  component test:doctests dependency lib [duoids] Configured component graph: [duoids]  component duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids]  include base-4.20.2.0-acb8 [duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids]  component duoids-0.0.1.0-5K7xPrnULSaMCSEqoY2Nt-doctests [duoids]  include base-4.20.2.0-acb8 [duoids]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoids]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids] Linked component graph: [duoids]  unit duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids]  include base-4.20.2.0-acb8 [duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids]  Control.Duoidal=duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c:Control.Duoidal,Control.Duoidal.Either=duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c:Control.Duoidal.Either,Control.Duoidal.Laws=duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c:Control.Duoidal.Laws,Data.Duoid=duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c:Data.Duoid,Data.Duoid.Laws=duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c:Data.Duoid.Laws [duoids]  unit duoids-0.0.1.0-5K7xPrnULSaMCSEqoY2Nt-doctests [duoids]  include base-4.20.2.0-acb8 [duoids]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoids]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids] Ready component graph: [duoids]  definite duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids]  depends base-4.20.2.0-acb8 [duoids]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids]  definite duoids-0.0.1.0-5K7xPrnULSaMCSEqoY2Nt-doctests [duoids]  depends base-4.20.2.0-acb8 [duoids]  depends doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoids]  depends duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids] Using Cabal-3.12.1.0 compiled by ghc-9.10 [duoids] Using compiler: ghc-9.10.3 [duoids] Using install prefix: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0 [duoids] Executables installed in: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/bin [duoids] Libraries installed in: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids] Dynamic Libraries installed in: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [duoids] Private executables installed in: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/libexec/x86_64-linux-ghc-9.10.3-5702/duoids-0.0.1.0 [duoids] Data files installed in: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/share/x86_64-linux-ghc-9.10.3-5702/duoids-0.0.1.0 [duoids] Documentation installed in: [duoids] /nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc/share/doc/duoids-0.0.1.0 [duoids] Configuration files installed in: [duoids] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/etc [duoids] No alex found [duoids] Using ar found on system at: [duoids] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [duoids] No c2hs found [duoids] No cpphs found [duoids] Using doctest version 0.24.2 found on system at: [duoids] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin/doctest [duoids] Using gcc version 14.3.0 given by user at: [duoids] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [duoids] Using ghc version 9.10.3 found on system at: [duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [duoids] Using ghc-pkg version 9.10.3 found on system at: [duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [duoids] No ghcjs found [duoids] No ghcjs-pkg found [duoids] No greencard found [duoids] Using haddock version 2.31.1 found on system at: [duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [duoids] No happy found [duoids] Using haskell-suite found on system at: haskell-suite-dummy-location [duoids] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [duoids] No hmake found [duoids] Using hpc version 0.69 found on system at: [duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [duoids] Using hsc2hs version 0.68.10 found on system at: [duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [duoids] Using hscolour version 1.25 found on system at: [duoids] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [duoids] No jhc found [duoids] Using ld found on system at: [duoids] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [duoids] No pkg-config found [duoids] Using runghc version 9.10.3 found on system at: [duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [duoids] Using strip version 2.44 found on system at: [duoids] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [duoids] Using tar found on system at: [duoids] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [duoids] No uhc found [vector] Phase: buildPhase [duoids] Phase: buildPhase [duoids] Preprocessing library for duoids-0.0.1.0... [duoids] Building library for duoids-0.0.1.0... [vector] Preprocessing library for vector-0.13.2.0... [vector] Building library for vector-0.13.2.0... [duoids] [1 of 6] Compiling Control.Duoidal.Async ( src/Control/Duoidal/Async.hs, dist/build/Control/Duoidal/Async.o, dist/build/Control/Duoidal/Async.dyn_o ) [vector] [ 1 of 23] Compiling Data.Vector.Fusion.Stream.Monadic ( src/Data/Vector/Fusion/Stream/Monadic.hs, dist/build/Data/Vector/Fusion/Stream/Monadic.o, dist/build/Data/Vector/Fusion/Stream/Monadic.dyn_o ) [duoids] [2 of 6] Compiling Data.Duoid ( src/Data/Duoid.hs, dist/build/Data/Duoid.o, dist/build/Data/Duoid.dyn_o ) [vector] [ 2 of 23] Compiling Data.Vector.Fusion.Util ( src/Data/Vector/Fusion/Util.hs, dist/build/Data/Vector/Fusion/Util.o, dist/build/Data/Vector/Fusion/Util.dyn_o ) [vector] [ 3 of 23] Compiling Data.Vector.Fusion.Bundle.Size ( src/Data/Vector/Fusion/Bundle/Size.hs, dist/build/Data/Vector/Fusion/Bundle/Size.o, dist/build/Data/Vector/Fusion/Bundle/Size.dyn_o ) [vector] [ 4 of 23] Compiling Data.Vector.Generic.Mutable.Base ( src/Data/Vector/Generic/Mutable/Base.hs, dist/build/Data/Vector/Generic/Mutable/Base.o, dist/build/Data/Vector/Generic/Mutable/Base.dyn_o ) [vector] [ 5 of 23] Compiling Data.Vector.Generic.Base ( src/Data/Vector/Generic/Base.hs, dist/build/Data/Vector/Generic/Base.o, dist/build/Data/Vector/Generic/Base.dyn_o ) [vector] [ 6 of 23] Compiling Data.Vector.Internal.Check ( src/Data/Vector/Internal/Check.hs, dist/build/Data/Vector/Internal/Check.o, dist/build/Data/Vector/Internal/Check.dyn_o ) [vector] [ 7 of 23] Compiling Data.Vector.Fusion.Bundle.Monadic ( src/Data/Vector/Fusion/Bundle/Monadic.hs, dist/build/Data/Vector/Fusion/Bundle/Monadic.o, dist/build/Data/Vector/Fusion/Bundle/Monadic.dyn_o ) [duoids] [3 of 6] Compiling Control.Duoidal ( src/Control/Duoidal.hs, dist/build/Control/Duoidal.o, dist/build/Control/Duoidal.dyn_o ) [duoids] [4 of 6] Compiling Control.Duoidal.Either ( src/Control/Duoidal/Either.hs, dist/build/Control/Duoidal/Either.o, dist/build/Control/Duoidal/Either.dyn_o ) [duoids] [5 of 6] Compiling Data.Duoid.Laws ( src/Data/Duoid/Laws.hs, dist/build/Data/Duoid/Laws.o, dist/build/Data/Duoid/Laws.dyn_o ) [duoids] [6 of 6] Compiling Control.Duoidal.Laws ( src/Control/Duoidal/Laws.hs, dist/build/Control/Duoidal/Laws.o, dist/build/Control/Duoidal/Laws.dyn_o ) [duoids] [1 of 6] Compiling Control.Duoidal.Async ( src/Control/Duoidal/Async.hs, dist/build/Control/Duoidal/Async.p_o ) [duoids] [2 of 6] Compiling Data.Duoid ( src/Data/Duoid.hs, dist/build/Data/Duoid.p_o ) [duoids] [3 of 6] Compiling Control.Duoidal ( src/Control/Duoidal.hs, dist/build/Control/Duoidal.p_o ) [vector] [ 8 of 23] Compiling Data.Vector.Fusion.Bundle ( src/Data/Vector/Fusion/Bundle.hs, dist/build/Data/Vector/Fusion/Bundle.o, dist/build/Data/Vector/Fusion/Bundle.dyn_o ) [duoids] [4 of 6] Compiling Control.Duoidal.Either ( src/Control/Duoidal/Either.hs, dist/build/Control/Duoidal/Either.p_o ) [duoids] [5 of 6] Compiling Data.Duoid.Laws ( src/Data/Duoid/Laws.hs, dist/build/Data/Duoid/Laws.p_o ) [duoids] [6 of 6] Compiling Control.Duoidal.Laws ( src/Control/Duoidal/Laws.hs, dist/build/Control/Duoidal/Laws.p_o ) [vector] [ 9 of 23] Compiling Data.Vector.Generic.Mutable ( src/Data/Vector/Generic/Mutable.hs, dist/build/Data/Vector/Generic/Mutable.o, dist/build/Data/Vector/Generic/Mutable.dyn_o ) [vector] [10 of 23] Compiling Data.Vector.Generic.New ( src/Data/Vector/Generic/New.hs, dist/build/Data/Vector/Generic/New.o, dist/build/Data/Vector/Generic/New.dyn_o ) [duoids] Preprocessing test suite 'doctests' for duoids-0.0.1.0... [duoids] Building test suite 'doctests' for duoids-0.0.1.0... [duoids] [1 of 2] Compiling Build_doctests ( dist/build/doctests/autogen/Build_doctests.hs, dist/build/doctests/doctests-tmp/Build_doctests.o ) [vector] [11 of 23] Compiling Data.Vector.Generic ( src/Data/Vector/Generic.hs, dist/build/Data/Vector/Generic.o, dist/build/Data/Vector/Generic.dyn_o ) [duoids] [2 of 2] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.o ) [duoids] [3 of 3] Linking dist/build/doctests/doctests [duoids] buildPhase completed in 50 seconds [duoids] Phase: checkPhase [duoids] Running 1 test suites... [duoids] Test suite doctests: RUNNING... [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] on the commandline: warning: [GHC-98887] [duoids]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoids]  [duoids] Examples: 5 Tried: 5 Errors: 0 Failures: 0 [duoids] NameLib Nothing [duoids] ---------------------------------------- [duoids] Test suite doctests: PASS [duoids] Test suite logged to: dist/test/duoids-0.0.1.0-doctests.log [duoids] 1 of 1 test suites (1 of 1 test cases) passed. [duoids] Phase: haddockPhase [duoids] Preprocessing library for duoids-0.0.1.0... [duoids] Running Haddock on library for duoids-0.0.1.0... [duoids] [1 of 6] Compiling Control.Duoidal.Async ( src/Control/Duoidal/Async.hs, nothing ) [duoids] [2 of 6] Compiling Data.Duoid ( src/Data/Duoid.hs, nothing ) [duoids] [3 of 6] Compiling Control.Duoidal ( src/Control/Duoidal.hs, nothing ) [duoids] [4 of 6] Compiling Control.Duoidal.Either ( src/Control/Duoidal/Either.hs, nothing ) [duoids] [5 of 6] Compiling Data.Duoid.Laws ( src/Data/Duoid/Laws.hs, nothing ) [duoids] [6 of 6] Compiling Control.Duoidal.Laws ( src/Control/Duoidal/Laws.hs, nothing ) [duoids] Haddock coverage: [duoids] Warning: 'cancel' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Applicative' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Alternative' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Par' is ambiguous. It is defined [duoids]  * at src/Data/Duoid.hs:62:5 [duoids]  * at src/Data/Duoid.hs:58:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Data/Duoid.hs:58:1 [duoids] Warning: 'Seq' is ambiguous. It is defined [duoids]  * at src/Data/Duoid.hs:118:5 [duoids]  * at src/Data/Duoid.hs:114:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Data/Duoid.hs:114:1 [duoids]  100% ( 10 / 10) in 'Data.Duoid' [duoids] Warning: 'ExceptT' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Parallel' is ambiguous. It is defined [duoids]  * at src/Control/Duoidal.hs:238:5 [duoids]  * at src/Control/Duoidal.hs:234:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Control/Duoidal.hs:234:1 [duoids] Warning: 'Sequential' is ambiguous. It is defined [duoids]  * at src/Control/Duoidal.hs:308:5 [duoids]  * at src/Control/Duoidal.hs:304:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Control/Duoidal.hs:304:1 [duoids] Warning: 'NoDefaultPrelude' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Validation' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'fail' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'MonadFail' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Commutative' is ambiguous. It is defined [duoids]  * at src/Control/Duoidal.hs:774:5 [duoids]  * at src/Control/Duoidal.hs:770:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Control/Duoidal.hs:770:1 [duoids] Warning: 'Writer' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Set' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Char' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Const' is ambiguous. It is defined [duoids]  * in ‘GHC.Internal.Data.Functor.Const’ [duoids]  * in ‘GHC.Internal.Data.Functor.Const’ [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined in ‘GHC.Internal.Data.Functor.Const’ [duoids] Warning: 'Normal' is ambiguous. It is defined [duoids]  * at src/Control/Duoidal.hs:395:1 [duoids]  * at src/Data/Duoid.hs:183:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Data/Duoid.hs:183:1 [duoids]  100% ( 60 / 60) in 'Control.Duoidal' [duoids]  100% ( 2 / 2) in 'Control.Duoidal.Either' [duoids] Warning: 'Normal' is out of scope. [duoids]  If you qualify the identifier, haddock can try to link it anyway. [duoids] Warning: 'Law' is ambiguous. It is defined [duoids]  * at src/Data/Duoid/Laws.hs:38:5 [duoids]  * at src/Data/Duoid/Laws.hs:34:1 [duoids]  You may be able to disambiguate the identifier by qualifying it or [duoids]  by specifying the type/value namespace explicitly. [duoids]  Defaulting to the one defined at src/Data/Duoid/Laws.hs:34:1 [duoids]  100% ( 12 / 12) in 'Data.Duoid.Laws' [duoids]  100% ( 6 / 6) in 'Control.Duoidal.Laws' [duoids] Warning: Data.Duoid: could not find link destinations for: [duoids]  - Data.Duoid.Rep_Comm [duoids]  - Data.Duoid.Rep1_Comm [duoids]  - Data.Duoid.Rep_Seq [duoids]  - Data.Duoid.Rep1_Seq [duoids]  - Data.Duoid.Rep_Par [duoids]  - Data.Duoid.Rep1_Par [duoids] Warning: Control.Duoidal: could not find link destinations for: [duoids]  - Control.Duoidal.Rep_Commutative [duoids]  - Control.Duoidal.Rep1_Commutative [duoids]  - Control.Duoidal.Rep_Sequential [duoids]  - Control.Duoidal.Rep1_Sequential [duoids]  - Control.Duoidal.Rep_Parallel [duoids]  - Control.Duoidal.Rep1_Parallel [duoids] Warning: Data.Duoid.Laws: could not find link destinations for: [duoids]  - Data.Duoid.Laws.Rep_NormalLaws [duoids]  - Data.Duoid.Laws.Rep1_NormalLaws [duoids]  - Data.Duoid.Laws.Rep_Laws [duoids]  - Data.Duoid.Laws.Rep_Law [vector] [12 of 23] Compiling Data.Vector.Mutable ( src/Data/Vector/Mutable.hs, dist/build/Data/Vector/Mutable.o, dist/build/Data/Vector/Mutable.dyn_o ) [vector] [13 of 23] Compiling Data.Vector ( src/Data/Vector.hs, dist/build/Data/Vector.o, dist/build/Data/Vector.dyn_o ) [vector] [14 of 23] Compiling Data.Vector.Primitive.Mutable ( src/Data/Vector/Primitive/Mutable.hs, dist/build/Data/Vector/Primitive/Mutable.o, dist/build/Data/Vector/Primitive/Mutable.dyn_o ) [vector] [15 of 23] Compiling Data.Vector.Primitive ( src/Data/Vector/Primitive.hs, dist/build/Data/Vector/Primitive.o, dist/build/Data/Vector/Primitive.dyn_o ) [vector] [16 of 23] Compiling Data.Vector.Storable.Internal ( src/Data/Vector/Storable/Internal.hs, dist/build/Data/Vector/Storable/Internal.o, dist/build/Data/Vector/Storable/Internal.dyn_o ) [vector] [17 of 23] Compiling Data.Vector.Storable.Mutable ( src/Data/Vector/Storable/Mutable.hs, dist/build/Data/Vector/Storable/Mutable.o, dist/build/Data/Vector/Storable/Mutable.dyn_o ) [vector] [18 of 23] Compiling Data.Vector.Storable ( src/Data/Vector/Storable.hs, dist/build/Data/Vector/Storable.o, dist/build/Data/Vector/Storable.dyn_o ) [vector] [19 of 23] Compiling Data.Vector.Strict.Mutable ( src/Data/Vector/Strict/Mutable.hs, dist/build/Data/Vector/Strict/Mutable.o, dist/build/Data/Vector/Strict/Mutable.dyn_o ) [vector] [20 of 23] Compiling Data.Vector.Strict ( src/Data/Vector/Strict.hs, dist/build/Data/Vector/Strict.o, dist/build/Data/Vector/Strict.dyn_o ) [duoids] Documentation created: dist/doc/html/duoids/, dist/doc/html/duoids/duoids.txt [duoids] Preprocessing test suite 'doctests' for duoids-0.0.1.0... [duoids] haddockPhase completed in 33 seconds [duoids] Phase: installPhase [duoids] Installing library in /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids] Phase: fixupPhase [duoids] shrinking RPATHs of ELF executables and libraries in /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0 [duoids] shrinking /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSduoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c-ghc9.10.3.so [duoids] checking for references to /build/ in /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0... [duoids] patching script interpreter paths in /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0 [duoids] stripping (with command strip and flags -S -p) in /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/lib [duoids] shrinking RPATHs of ELF executables and libraries in /nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc [duoids] checking for references to /build/ in /nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc... [duoids] patching script interpreter paths in /nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0 /nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0 /nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 2 paths... [post-build-hook] copying path '/nix/store/yhxla1q2szayzd8vp7z99cm3wzkbvg1d-duoids-0.0.1.0-doc' to 'https://cache.nix-ci.com'... [post-build-hook] copying path '/nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 6 of 22 built (1 building), 193 of 193 downloaded from cache Building duoidal-transformers Building duoids-hedgehog [duoidal-transformers] Phase: setupCompilerEnvironmentPhase [duoidal-transformers] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [duoids-hedgehog] Phase: setupCompilerEnvironmentPhase [duoids-hedgehog] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [duoidal-transformers] Phase: unpackPhase [duoidal-transformers] unpacking source archive /nix/store/hwhxlh4aq4w3fvrlk65js3cdkm3in22k-5y8mzl3igbd7qyrpb010fqiak50k5q01-source/./transformers [duoidal-transformers] source root is transformers [duoidal-transformers] Phase: patchPhase [duoidal-transformers] Phase: compileBuildDriverPhase [duoidal-transformers] setupCompileFlags: -package-db=/build/tmp.O0CHFuErI3/setup-package.conf.d -threaded [duoidal-transformers] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.O0CHFuErI3/Main.o ) [duoids-hedgehog] Phase: unpackPhase [duoids-hedgehog] unpacking source archive /nix/store/hwhxlh4aq4w3fvrlk65js3cdkm3in22k-5y8mzl3igbd7qyrpb010fqiak50k5q01-source/./hedgehog [duoids-hedgehog] source root is hedgehog [duoids-hedgehog] Phase: patchPhase [duoids-hedgehog] Phase: compileBuildDriverPhase [duoids-hedgehog] setupCompileFlags: -package-db=/build/tmp.88RLIBMGhZ/setup-package.conf.d -threaded [duoidal-transformers] [2 of 2] Linking Setup [duoids-hedgehog] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.88RLIBMGhZ/Main.o ) [duoids-hedgehog] [2 of 2] Linking Setup [vector] [21 of 23] Compiling Data.Vector.Unboxed.Base ( src/Data/Vector/Unboxed/Base.hs, dist/build/Data/Vector/Unboxed/Base.o, dist/build/Data/Vector/Unboxed/Base.dyn_o ) [duoidal-transformers] Phase: updateAutotoolsGnuConfigScriptsPhase [duoidal-transformers] Phase: configurePhase [duoidal-transformers] configureFlags: --verbose --prefix=/nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc/share/doc/duoidal-transformers-0.0.1.0 --with-gcc=gcc --package-db=/build/tmp.O0CHFuErI3/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-Werror --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [duoidal-transformers] Using Parsec parser [duoidal-transformers] Configuring duoidal-transformers-0.0.1.0... [duoids-hedgehog] Phase: updateAutotoolsGnuConfigScriptsPhase [duoids-hedgehog] Phase: configurePhase [duoids-hedgehog] configureFlags: --verbose --prefix=/nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc/share/doc/duoids-hedgehog-0.0.1.0 --with-gcc=gcc --package-db=/build/tmp.88RLIBMGhZ/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-Werror --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [duoids-hedgehog] Using Parsec parser [duoids-hedgehog] Configuring duoids-hedgehog-0.0.1.0... [duoidal-transformers] Flags chosen: lint=False, noisy-deprecations=True [duoids-hedgehog] Flags chosen: lint=False, noisy-deprecations=True [duoidal-transformers] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoidal-transformers] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoidal-transformers] Dependency duoids >=0.0.1 && <0.1: using duoids-0.0.1.0 [duoidal-transformers] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoidal-transformers] Dependency transformers >=0.6.1 && <0.7: using transformers-0.6.1.1 [duoidal-transformers] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoidal-transformers] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoidal-transformers] Dependency doctest >=0.21.1 && <0.22 || >=0.22.6 && <0.23 || >=0.24.0 && [duoidal-transformers] <0.25: using doctest-0.24.2 [duoidal-transformers] Dependency duoidal-transformers: using duoidal-transformers-0.0.1.0 [duoidal-transformers] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoidal-transformers] Source component graph: [duoidal-transformers]  component lib [duoidal-transformers]  component test:doctests dependency lib [duoidal-transformers] Configured component graph: [duoidal-transformers]  component duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers]  include base-4.20.2.0-acb8 [duoidal-transformers]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoidal-transformers]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoidal-transformers]  include transformers-0.6.1.1-74e0 [duoidal-transformers]  component duoidal-transformers-0.0.1.0-FYwykNJN3GjCMzXCDo8yOa-doctests [duoidal-transformers]  include base-4.20.2.0-acb8 [duoidal-transformers]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoidal-transformers]  include duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoidal-transformers] Linked component graph: [duoidal-transformers]  unit duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers]  include base-4.20.2.0-acb8 [duoidal-transformers]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoidal-transformers]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoidal-transformers]  include transformers-0.6.1.1-74e0 [duoidal-transformers]  Control.Duoidal.Trans.Class=duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C:Control.Duoidal.Trans.Class,Control.Duoidal.Trans.Orphans=duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C:Control.Duoidal.Trans.Orphans [duoidal-transformers]  unit duoidal-transformers-0.0.1.0-FYwykNJN3GjCMzXCDo8yOa-doctests [duoidal-transformers]  include base-4.20.2.0-acb8 [duoidal-transformers]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoidal-transformers]  include duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoidal-transformers] Ready component graph: [duoidal-transformers]  definite duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers]  depends base-4.20.2.0-acb8 [duoidal-transformers]  depends duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoidal-transformers]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoidal-transformers]  depends transformers-0.6.1.1-74e0 [duoidal-transformers]  definite duoidal-transformers-0.0.1.0-FYwykNJN3GjCMzXCDo8yOa-doctests [duoidal-transformers]  depends base-4.20.2.0-acb8 [duoidal-transformers]  depends doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoidal-transformers]  depends duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoidal-transformers] Using Cabal-3.12.1.0 compiled by ghc-9.10 [duoidal-transformers] Using compiler: ghc-9.10.3 [duoidal-transformers] Using install prefix: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0 [duoidal-transformers] Executables installed in: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/bin [duoidal-transformers] Libraries installed in: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers] Dynamic Libraries installed in: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [duoidal-transformers] Private executables installed in: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/libexec/x86_64-linux-ghc-9.10.3-5702/duoidal-transformers-0.0.1.0 [duoidal-transformers] Data files installed in: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/share/x86_64-linux-ghc-9.10.3-5702/duoidal-transformers-0.0.1.0 [duoidal-transformers] Documentation installed in: [duoidal-transformers] /nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc/share/doc/duoidal-transformers-0.0.1.0 [duoidal-transformers] Configuration files installed in: [duoidal-transformers] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/etc [duoidal-transformers] No alex found [duoidal-transformers] Using ar found on system at: [duoidal-transformers] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [duoidal-transformers] No c2hs found [duoidal-transformers] No cpphs found [duoidal-transformers] Using doctest version 0.24.2 found on system at: [duoidal-transformers] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin/doctest [duoidal-transformers] Using gcc version 14.3.0 given by user at: [duoidal-transformers] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [duoidal-transformers] Using ghc version 9.10.3 found on system at: [duoidal-transformers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [duoidal-transformers] Using ghc-pkg version 9.10.3 found on system at: [duoidal-transformers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [duoidal-transformers] No ghcjs found [duoidal-transformers] No ghcjs-pkg found [duoidal-transformers] No greencard found [duoidal-transformers] Using haddock version 2.31.1 found on system at: [duoidal-transformers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [duoidal-transformers] No happy found [duoidal-transformers] Using haskell-suite found on system at: haskell-suite-dummy-location [duoidal-transformers] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [duoidal-transformers] No hmake found [duoidal-transformers] Using hpc version 0.69 found on system at: [duoidal-transformers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [duoidal-transformers] Using hsc2hs version 0.68.10 found on system at: [duoidal-transformers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [duoidal-transformers] Using hscolour version 1.25 found on system at: [duoidal-transformers] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [duoidal-transformers] No jhc found [duoidal-transformers] Using ld found on system at: [duoidal-transformers] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [duoidal-transformers] No pkg-config found [duoidal-transformers] Using runghc version 9.10.3 found on system at: [duoidal-transformers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [duoidal-transformers] Using strip version 2.44 found on system at: [duoidal-transformers] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [duoidal-transformers] Using tar found on system at: [duoidal-transformers] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [duoidal-transformers] No uhc found [duoidal-transformers] Phase: buildPhase [duoidal-transformers] Preprocessing library for duoidal-transformers-0.0.1.0... [duoidal-transformers] Building library for duoidal-transformers-0.0.1.0... [duoids-hedgehog] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoids-hedgehog] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoids-hedgehog] Dependency duoids >=0.0.1 && <0.1: using duoids-0.0.1.0 [duoids-hedgehog] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoids-hedgehog] Dependency hedgehog >=1.2 && <1.3 || >=1.4 && <1.6 || >=1.7 && <1.8: using [duoids-hedgehog] hedgehog-1.5 [duoids-hedgehog] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoids-hedgehog] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoids-hedgehog] Dependency duoids-hedgehog: using duoids-hedgehog-0.0.1.0 [duoids-hedgehog] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoids-hedgehog] Dependency hedgehog >=1.2 && <1.3 || >=1.4 && <1.6 || >=1.7 && <1.8: using [duoids-hedgehog] hedgehog-1.5 [duoids-hedgehog] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [duoids-hedgehog] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [duoids-hedgehog] Dependency doctest >=0.21.1 && <0.22 || >=0.22.6 && <0.23 || >=0.24.0 && [duoids-hedgehog] <0.25: using doctest-0.24.2 [duoids-hedgehog] Dependency duoids-hedgehog: using duoids-hedgehog-0.0.1.0 [duoids-hedgehog] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [duoids-hedgehog] Source component graph: [duoids-hedgehog]  component lib [duoids-hedgehog]  component test:doctests dependency lib [duoids-hedgehog]  component test:laws dependency lib [duoids-hedgehog] Configured component graph: [duoids-hedgehog]  component duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  include base-4.20.2.0-acb8 [duoids-hedgehog]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids-hedgehog]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [duoids-hedgehog]  component duoids-hedgehog-0.0.1.0-3Jv1gaRZt2Z4efsDgUKshe-doctests [duoids-hedgehog]  include base-4.20.2.0-acb8 [duoids-hedgehog]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoids-hedgehog]  include duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  component duoids-hedgehog-0.0.1.0-HEJJPuqx96k3Z5VnclDp4D-laws [duoids-hedgehog]  include base-4.20.2.0-acb8 [duoids-hedgehog]  include duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [duoids-hedgehog] Linked component graph: [duoids-hedgehog]  unit duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  include base-4.20.2.0-acb8 [duoids-hedgehog]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids-hedgehog]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [duoids-hedgehog]  Test.Duoid=duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW:Test.Duoid,Test.Duoidal=duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW:Test.Duoidal [duoids-hedgehog]  unit duoids-hedgehog-0.0.1.0-3Jv1gaRZt2Z4efsDgUKshe-doctests [duoids-hedgehog]  include base-4.20.2.0-acb8 [duoids-hedgehog]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoids-hedgehog]  include duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  unit duoids-hedgehog-0.0.1.0-HEJJPuqx96k3Z5VnclDp4D-laws [duoids-hedgehog]  include base-4.20.2.0-acb8 [duoids-hedgehog]  include duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [duoids-hedgehog] Ready component graph: [duoids-hedgehog]  definite duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  depends base-4.20.2.0-acb8 [duoids-hedgehog]  depends duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [duoids-hedgehog]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  depends hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [duoids-hedgehog]  definite duoids-hedgehog-0.0.1.0-HEJJPuqx96k3Z5VnclDp4D-laws [duoids-hedgehog]  depends base-4.20.2.0-acb8 [duoids-hedgehog]  depends duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog]  depends hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [duoids-hedgehog]  definite duoids-hedgehog-0.0.1.0-3Jv1gaRZt2Z4efsDgUKshe-doctests [duoids-hedgehog]  depends base-4.20.2.0-acb8 [duoids-hedgehog]  depends doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [duoids-hedgehog]  depends duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [duoids-hedgehog] Using Cabal-3.12.1.0 compiled by ghc-9.10 [duoids-hedgehog] Using compiler: ghc-9.10.3 [duoids-hedgehog] Using install prefix: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0 [duoids-hedgehog] Executables installed in: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/bin [duoids-hedgehog] Libraries installed in: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog] Dynamic Libraries installed in: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [duoids-hedgehog] Private executables installed in: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/libexec/x86_64-linux-ghc-9.10.3-5702/duoids-hedgehog-0.0.1.0 [duoids-hedgehog] Data files installed in: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/share/x86_64-linux-ghc-9.10.3-5702/duoids-hedgehog-0.0.1.0 [duoids-hedgehog] Documentation installed in: [duoids-hedgehog] /nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc/share/doc/duoids-hedgehog-0.0.1.0 [duoids-hedgehog] Configuration files installed in: [duoids-hedgehog] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/etc [duoids-hedgehog] No alex found [duoids-hedgehog] Using ar found on system at: [duoids-hedgehog] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [duoids-hedgehog] No c2hs found [duoids-hedgehog] No cpphs found [duoids-hedgehog] Using doctest version 0.24.2 found on system at: [duoids-hedgehog] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin/doctest [duoids-hedgehog] Using gcc version 14.3.0 given by user at: [duoids-hedgehog] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [duoids-hedgehog] Using ghc version 9.10.3 found on system at: [duoids-hedgehog] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [duoids-hedgehog] Using ghc-pkg version 9.10.3 found on system at: [duoids-hedgehog] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [duoids-hedgehog] No ghcjs found [duoids-hedgehog] No ghcjs-pkg found [duoids-hedgehog] No greencard found [duoids-hedgehog] Using haddock version 2.31.1 found on system at: [duoids-hedgehog] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [duoids-hedgehog] No happy found [duoids-hedgehog] Using haskell-suite found on system at: haskell-suite-dummy-location [duoids-hedgehog] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [duoids-hedgehog] No hmake found [duoids-hedgehog] Using hpc version 0.69 found on system at: [duoids-hedgehog] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [duoids-hedgehog] Using hsc2hs version 0.68.10 found on system at: [duoids-hedgehog] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [duoids-hedgehog] Using hscolour version 1.25 found on system at: [duoids-hedgehog] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [duoids-hedgehog] No jhc found [duoids-hedgehog] Using ld found on system at: [duoids-hedgehog] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [duoids-hedgehog] No pkg-config found [duoids-hedgehog] Using runghc version 9.10.3 found on system at: [duoids-hedgehog] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [duoids-hedgehog] Using strip version 2.44 found on system at: [duoids-hedgehog] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [duoids-hedgehog] Using tar found on system at: [duoids-hedgehog] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [duoids-hedgehog] No uhc found [duoidal-transformers] [1 of 2] Compiling Control.Duoidal.Trans.Class ( src/Control/Duoidal/Trans/Class.hs, dist/build/Control/Duoidal/Trans/Class.o, dist/build/Control/Duoidal/Trans/Class.dyn_o ) [duoids-hedgehog] Phase: buildPhase [duoids-hedgehog] Preprocessing library for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] Building library for duoids-hedgehog-0.0.1.0... [duoidal-transformers] [2 of 2] Compiling Control.Duoidal.Trans.Orphans ( src/Control/Duoidal/Trans/Orphans.hs, dist/build/Control/Duoidal/Trans/Orphans.o, dist/build/Control/Duoidal/Trans/Orphans.dyn_o ) [duoids-hedgehog] [1 of 2] Compiling Test.Duoid ( src/Test/Duoid.hs, dist/build/Test/Duoid.o, dist/build/Test/Duoid.dyn_o ) [duoidal-transformers] [1 of 2] Compiling Control.Duoidal.Trans.Class ( src/Control/Duoidal/Trans/Class.hs, dist/build/Control/Duoidal/Trans/Class.p_o ) [duoids-hedgehog] [2 of 2] Compiling Test.Duoidal ( src/Test/Duoidal.hs, dist/build/Test/Duoidal.o, dist/build/Test/Duoidal.dyn_o ) [duoidal-transformers] [2 of 2] Compiling Control.Duoidal.Trans.Orphans ( src/Control/Duoidal/Trans/Orphans.hs, dist/build/Control/Duoidal/Trans/Orphans.p_o ) [duoids-hedgehog] [1 of 2] Compiling Test.Duoid ( src/Test/Duoid.hs, dist/build/Test/Duoid.p_o ) [duoids-hedgehog] [2 of 2] Compiling Test.Duoidal ( src/Test/Duoidal.hs, dist/build/Test/Duoidal.p_o ) [vector] [22 of 23] Compiling Data.Vector.Unboxed ( src/Data/Vector/Unboxed.hs, dist/build/Data/Vector/Unboxed.o, dist/build/Data/Vector/Unboxed.dyn_o ) [duoidal-transformers] Preprocessing test suite 'doctests' for duoidal-transformers-0.0.1.0... [duoidal-transformers] Building test suite 'doctests' for duoidal-transformers-0.0.1.0... [duoidal-transformers] [1 of 2] Compiling Build_doctests ( dist/build/doctests/autogen/Build_doctests.hs, dist/build/doctests/doctests-tmp/Build_doctests.o ) [duoids-hedgehog] Preprocessing test suite 'laws' for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] Building test suite 'laws' for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] [1 of 1] Compiling Main ( tests/laws.hs, dist/build/laws/laws-tmp/Main.o ) [duoidal-transformers] [2 of 2] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.o ) [duoidal-transformers] [3 of 3] Linking dist/build/doctests/doctests [duoids-hedgehog] [2 of 2] Linking dist/build/laws/laws [duoids-hedgehog] Preprocessing test suite 'doctests' for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] Building test suite 'doctests' for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] [1 of 2] Compiling Build_doctests ( dist/build/doctests/autogen/Build_doctests.hs, dist/build/doctests/doctests-tmp/Build_doctests.o ) [duoids-hedgehog] [2 of 2] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.o ) [duoids-hedgehog] [3 of 3] Linking dist/build/doctests/doctests [duoidal-transformers] Phase: checkPhase [vector] [23 of 23] Compiling Data.Vector.Unboxed.Mutable ( src/Data/Vector/Unboxed/Mutable.hs, dist/build/Data/Vector/Unboxed/Mutable.o, dist/build/Data/Vector/Unboxed/Mutable.dyn_o ) [duoidal-transformers] Running 1 test suites... [duoidal-transformers] Test suite doctests: RUNNING... [duoidal-transformers] on the commandline: warning: [GHC-98887] [duoidal-transformers]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoidal-transformers]  [duoidal-transformers] on the commandline: warning: [GHC-98887] [duoidal-transformers]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoidal-transformers]  [duoidal-transformers] on the commandline: warning: [GHC-98887] [duoidal-transformers]  -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [duoidal-transformers]  [duoidal-transformers] Examples: 0 Tried: 0 Errors: 0 Failures: 0 [duoidal-transformers] NameLib Nothing [duoidal-transformers] ---------------------------------------- [duoidal-transformers] Test suite doctests: PASS [duoidal-transformers] Test suite logged to: dist/test/duoidal-transformers-0.0.1.0-doctests.log [duoidal-transformers] 1 of 1 test suites (1 of 1 test cases) passed. [duoidal-transformers] Phase: haddockPhase [duoidal-transformers] Preprocessing library for duoidal-transformers-0.0.1.0... [duoidal-transformers] Running Haddock on library for duoidal-transformers-0.0.1.0... [vector] [ 1 of 23] Compiling Data.Vector.Fusion.Stream.Monadic ( src/Data/Vector/Fusion/Stream/Monadic.hs, dist/build/Data/Vector/Fusion/Stream/Monadic.p_o ) [vector] [ 2 of 23] Compiling Data.Vector.Fusion.Util ( src/Data/Vector/Fusion/Util.hs, dist/build/Data/Vector/Fusion/Util.p_o ) [vector] [ 3 of 23] Compiling Data.Vector.Fusion.Bundle.Size ( src/Data/Vector/Fusion/Bundle/Size.hs, dist/build/Data/Vector/Fusion/Bundle/Size.p_o ) [duoidal-transformers] [1 of 2] Compiling Control.Duoidal.Trans.Class ( src/Control/Duoidal/Trans/Class.hs, nothing ) [vector] [ 4 of 23] Compiling Data.Vector.Generic.Mutable.Base ( src/Data/Vector/Generic/Mutable/Base.hs, dist/build/Data/Vector/Generic/Mutable/Base.p_o ) [vector] [ 5 of 23] Compiling Data.Vector.Generic.Base ( src/Data/Vector/Generic/Base.hs, dist/build/Data/Vector/Generic/Base.p_o ) [vector] [ 6 of 23] Compiling Data.Vector.Internal.Check ( src/Data/Vector/Internal/Check.hs, dist/build/Data/Vector/Internal/Check.p_o ) [vector] [ 7 of 23] Compiling Data.Vector.Fusion.Bundle.Monadic ( src/Data/Vector/Fusion/Bundle/Monadic.hs, dist/build/Data/Vector/Fusion/Bundle/Monadic.p_o ) [duoidal-transformers] [2 of 2] Compiling Control.Duoidal.Trans.Orphans ( src/Control/Duoidal/Trans/Orphans.hs, nothing ) [duoidal-transformers] Haddock coverage: [duoidal-transformers] Warning: 'MonadTrans' is out of scope. [duoidal-transformers]  If you qualify the identifier, haddock can try to link it anyway. [duoidal-transformers]  100% ( 3 / 3) in 'Control.Duoidal.Trans.Class' [duoidal-transformers]  100% ( 1 / 1) in 'Control.Duoidal.Trans.Orphans' [duoids-hedgehog] buildPhase completed in 32 seconds [duoids-hedgehog] Phase: checkPhase [duoids-hedgehog] Running 2 test suites... [duoids-hedgehog] Test suite laws: RUNNING... [duoids-hedgehog] ━━━ Duoid Int ━━━ [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 4 succeeded. [duoids-hedgehog] ━━━ Duoid Int16 ━━━ [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 4 succeeded. [duoids-hedgehog] ━━━ Duoid Int32 ━━━ [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 4 succeeded. [duoids-hedgehog] ━━━ Duoid Int64 ━━━ [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 4 succeeded. [duoids-hedgehog] ━━━ Duoid Int8 ━━━ [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 4 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal Natural ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal (Ratio Natural) ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] ━━━ Duoid (Ratio Integer) ━━━ [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 4 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal Word ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal Word16 ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal Word32 ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal Word64 ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] ━━━ Duoid.Normal Word8 ━━━ [duoids-hedgehog]  ✓ unswapUnit passed 100 tests. [duoids-hedgehog]  ✓ interchange passed 100 tests. [duoids-hedgehog]  ✓ splitUnit passed 100 tests. [duoids-hedgehog]  ✓ joinUnit passed 100 tests. [duoids-hedgehog]  ✓ swapUnit passed 100 tests. [duoids-hedgehog]  ✓ 5 succeeded. [duoids-hedgehog] Test suite laws: PASS [duoids-hedgehog] Test suite logged to: dist/test/duoids-hedgehog-0.0.1.0-laws.log [duoids-hedgehog] Test suite doctests: RUNNING... [duoids-hedgehog] Examples: 0 Tried: 0 Errors: 0 Failures: 0 [duoids-hedgehog] NameLib Nothing [duoids-hedgehog] ---------------------------------------- [duoids-hedgehog] Test suite doctests: PASS [duoids-hedgehog] Test suite logged to: dist/test/duoids-hedgehog-0.0.1.0-doctests.log [duoids-hedgehog] 2 of 2 test suites (2 of 2 test cases) passed. [duoids-hedgehog] Phase: haddockPhase [duoids-hedgehog] Preprocessing library for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] Running Haddock on library for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] [1 of 2] Compiling Test.Duoid ( src/Test/Duoid.hs, nothing ) [duoids-hedgehog] [2 of 2] Compiling Test.Duoidal ( src/Test/Duoidal.hs, nothing ) [duoids-hedgehog] Haddock coverage: [duoids-hedgehog]  100% ( 3 / 3) in 'Test.Duoid' [duoids-hedgehog]  100% ( 2 / 2) in 'Test.Duoidal' [vector] [ 8 of 23] Compiling Data.Vector.Fusion.Bundle ( src/Data/Vector/Fusion/Bundle.hs, dist/build/Data/Vector/Fusion/Bundle.p_o ) [vector] [ 9 of 23] Compiling Data.Vector.Generic.Mutable ( src/Data/Vector/Generic/Mutable.hs, dist/build/Data/Vector/Generic/Mutable.p_o ) [duoidal-transformers] Documentation created: dist/doc/html/duoidal-transformers/, [duoidal-transformers] dist/doc/html/duoidal-transformers/duoidal-transformers.txt [duoidal-transformers] Preprocessing test suite 'doctests' for duoidal-transformers-0.0.1.0... [duoidal-transformers] Phase: installPhase [vector] [10 of 23] Compiling Data.Vector.Generic.New ( src/Data/Vector/Generic/New.hs, dist/build/Data/Vector/Generic/New.p_o ) [duoidal-transformers] Installing library in /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/duoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C [duoidal-transformers] Phase: fixupPhase [duoidal-transformers] shrinking RPATHs of ELF executables and libraries in /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0 [duoidal-transformers] shrinking /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSduoidal-transformers-0.0.1.0-CvSDw6uKPS3oljO08JK1C-ghc9.10.3.so [duoidal-transformers] checking for references to /build/ in /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0... [duoidal-transformers] patching script interpreter paths in /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0 [duoidal-transformers] stripping (with command strip and flags -S -p) in /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/lib [duoidal-transformers] shrinking RPATHs of ELF executables and libraries in /nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc [duoidal-transformers] checking for references to /build/ in /nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc... [duoidal-transformers] patching script interpreter paths in /nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0 [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0 [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 2 paths... [post-build-hook] copying path '/nix/store/9ixkkkzx87l3hawcn4hm2gam0gry5nd2-duoidal-transformers-0.0.1.0-doc' to 'https://cache.nix-ci.com'... [post-build-hook] copying path '/nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 7 of 21 built (2 building), 193 of 193 downloaded from cache [vector] [11 of 23] Compiling Data.Vector.Generic ( src/Data/Vector/Generic.hs, dist/build/Data/Vector/Generic.p_o ) [duoids-hedgehog] Documentation created: dist/doc/html/duoids-hedgehog/, [duoids-hedgehog] dist/doc/html/duoids-hedgehog/duoids-hedgehog.txt [duoids-hedgehog] Preprocessing test suite 'laws' for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] Preprocessing test suite 'doctests' for duoids-hedgehog-0.0.1.0... [duoids-hedgehog] haddockPhase completed in 33 seconds [duoids-hedgehog] Phase: installPhase [duoids-hedgehog] Installing library in /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [duoids-hedgehog] Phase: fixupPhase [duoids-hedgehog] shrinking RPATHs of ELF executables and libraries in /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0 [duoids-hedgehog] shrinking /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSduoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW-ghc9.10.3.so [duoids-hedgehog] checking for references to /build/ in /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0... [duoids-hedgehog] patching script interpreter paths in /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0 [duoids-hedgehog] stripping (with command strip and flags -S -p) in /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/lib [duoids-hedgehog] shrinking RPATHs of ELF executables and libraries in /nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc [duoids-hedgehog] checking for references to /build/ in /nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc... [duoids-hedgehog] patching script interpreter paths in /nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0 /nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0 /nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 2 paths... [post-build-hook] copying path '/nix/store/almam2irckbyg0a0s7kyis290vjq1rac-duoids-hedgehog-0.0.1.0-doc' to 'https://cache.nix-ci.com'... [post-build-hook] copying path '/nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 8 of 20 built (1 building), 193 of 193 downloaded from cache [vector] [12 of 23] Compiling Data.Vector.Mutable ( src/Data/Vector/Mutable.hs, dist/build/Data/Vector/Mutable.p_o ) [vector] [13 of 23] Compiling Data.Vector ( src/Data/Vector.hs, dist/build/Data/Vector.p_o ) [vector] [14 of 23] Compiling Data.Vector.Primitive.Mutable ( src/Data/Vector/Primitive/Mutable.hs, dist/build/Data/Vector/Primitive/Mutable.p_o ) [vector] [15 of 23] Compiling Data.Vector.Primitive ( src/Data/Vector/Primitive.hs, dist/build/Data/Vector/Primitive.p_o ) [vector] [16 of 23] Compiling Data.Vector.Storable.Internal ( src/Data/Vector/Storable/Internal.hs, dist/build/Data/Vector/Storable/Internal.p_o ) [vector] [17 of 23] Compiling Data.Vector.Storable.Mutable ( src/Data/Vector/Storable/Mutable.hs, dist/build/Data/Vector/Storable/Mutable.p_o ) [vector] [18 of 23] Compiling Data.Vector.Storable ( src/Data/Vector/Storable.hs, dist/build/Data/Vector/Storable.p_o ) [vector] [19 of 23] Compiling Data.Vector.Strict.Mutable ( src/Data/Vector/Strict/Mutable.hs, dist/build/Data/Vector/Strict/Mutable.p_o ) [vector] [20 of 23] Compiling Data.Vector.Strict ( src/Data/Vector/Strict.hs, dist/build/Data/Vector/Strict.p_o ) [vector] [21 of 23] Compiling Data.Vector.Unboxed.Base ( src/Data/Vector/Unboxed/Base.hs, dist/build/Data/Vector/Unboxed/Base.p_o ) [vector] [22 of 23] Compiling Data.Vector.Unboxed ( src/Data/Vector/Unboxed.hs, dist/build/Data/Vector/Unboxed.p_o ) [vector] [23 of 23] Compiling Data.Vector.Unboxed.Mutable ( src/Data/Vector/Unboxed/Mutable.hs, dist/build/Data/Vector/Unboxed/Mutable.p_o ) [vector] Preprocessing test suite 'vector-tests-O2' for vector-0.13.2.0... [vector] Building test suite 'vector-tests-O2' for vector-0.13.2.0... [vector] [ 1 of 12] Compiling Boilerplater ( tests/Boilerplater.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Boilerplater.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Boilerplater.dyn_o ) [vector] [ 2 of 12] Compiling Tests.Vector.UnitTests ( tests/Tests/Vector/UnitTests.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/UnitTests.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/UnitTests.dyn_o ) [vector] [ 3 of 12] Compiling Utilities ( tests/Utilities.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Utilities.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Utilities.dyn_o ) [vector] tests/Utilities.hs:244:17: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 244 | postscanl f z = tail . scanl f z [vector]  | ^^^^ [vector]  [vector] tests/Utilities.hs:245:16: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 245 | prescanr f z = tail . scanr f z [vector]  | ^^^^ [vector]  [vector] [ 4 of 12] Compiling Tests.Vector.Property ( tests/Tests/Vector/Property.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Property.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Property.dyn_o ) [vector] tests/Tests/Vector/Property.hs:243:68: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 243 | prop_head :: P (v a -> a) = not . V.null ===> V.head `eq` head [vector]  | ^^^^ [vector]  [vector] tests/Tests/Vector/Property.hs:256:76: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 256 | prop_unsafeHead :: P (v a -> a) = not . V.null ===> V.unsafeHead `eq` head [vector]  | ^^^^ [vector]  [vector] tests/Tests/Vector/Property.hs:272:65: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 272 | prop_tail :: P (v a -> v a) = not . V.null ===> V.tail `eq` tail [vector]  | ^^^^ [vector]  [vector] tests/Tests/Vector/Property.hs:439:26: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 439 | = V.uniq `eq` (map head . group) [vector]  | ^^^^ [vector]  [vector] [ 5 of 12] Compiling Tests.Vector.Unboxed ( tests/Tests/Vector/Unboxed.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Unboxed.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Unboxed.dyn_o ) [vector] [ 6 of 12] Compiling Tests.Vector.Strict ( tests/Tests/Vector/Strict.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Strict.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Strict.dyn_o ) [vector] [ 7 of 12] Compiling Tests.Vector.Storable ( tests/Tests/Vector/Storable.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Storable.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Storable.dyn_o ) [vector] [ 8 of 12] Compiling Tests.Vector.Primitive ( tests/Tests/Vector/Primitive.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Primitive.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Primitive.dyn_o ) [vector] [ 9 of 12] Compiling Tests.Vector.Boxed ( tests/Tests/Vector/Boxed.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Boxed.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Boxed.dyn_o ) [vector] [10 of 12] Compiling Tests.Move ( tests/Tests/Move.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Move.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Move.dyn_o ) [vector] [11 of 12] Compiling Tests.Bundle ( tests/Tests/Bundle.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Bundle.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Bundle.dyn_o ) [vector] tests/Tests/Bundle.hs:16:29: warning: []8;;https://errors.haskell.org/messages/GHC-38856\GHC-38856]8;;\] [-Wunused-imports] [vector]  The import of ‘foldl'’ from module ‘Data.List’ is redundant [vector]  | [vector] 16 | import Data.List (foldl', foldl1', unfoldr, find, findIndex) [vector]  | ^^^^^^ [vector]  [vector] tests/Tests/Bundle.hs:76:77: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 76 | prop_head :: P (S.Bundle v a -> a) = not . S.null ===> S.head `eq` head [vector]  | ^^^^ [vector]  [vector] tests/Tests/Bundle.hs:92:83: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 92 | prop_tail :: P (S.Bundle v a -> S.Bundle v a) = not . S.null ===> S.tail `eq` tail [vector]  | ^^^^ [vector]  [vector] [12 of 12] Compiling Main ( tests/Main.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Main.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Main.dyn_o ) [vector] [13 of 13] Linking dist/build/vector-tests-O2/vector-tests-O2 [vector] Preprocessing test suite 'vector-tests-O0' for vector-0.13.2.0... [vector] Building test suite 'vector-tests-O0' for vector-0.13.2.0... [vector] [ 1 of 12] Compiling Boilerplater ( tests/Boilerplater.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Boilerplater.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Boilerplater.dyn_o ) [vector] [ 2 of 12] Compiling Tests.Vector.UnitTests ( tests/Tests/Vector/UnitTests.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/UnitTests.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/UnitTests.dyn_o ) [vector] [ 3 of 12] Compiling Utilities ( tests/Utilities.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Utilities.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Utilities.dyn_o ) [vector] tests/Utilities.hs:244:17: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 244 | postscanl f z = tail . scanl f z [vector]  | ^^^^ [vector]  [vector] tests/Utilities.hs:245:16: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 245 | prescanr f z = tail . scanr f z [vector]  | ^^^^ [vector]  [vector] [ 4 of 12] Compiling Tests.Vector.Property ( tests/Tests/Vector/Property.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Property.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Property.dyn_o ) [vector] tests/Tests/Vector/Property.hs:243:68: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 243 | prop_head :: P (v a -> a) = not . V.null ===> V.head `eq` head [vector]  | ^^^^ [vector]  [vector] tests/Tests/Vector/Property.hs:256:76: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 256 | prop_unsafeHead :: P (v a -> a) = not . V.null ===> V.unsafeHead `eq` head [vector]  | ^^^^ [vector]  [vector] tests/Tests/Vector/Property.hs:272:65: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 272 | prop_tail :: P (v a -> v a) = not . V.null ===> V.tail `eq` tail [vector]  | ^^^^ [vector]  [vector] tests/Tests/Vector/Property.hs:439:26: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Data.List, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 439 | = V.uniq `eq` (map head . group) [vector]  | ^^^^ [vector]  [vector] [ 5 of 12] Compiling Tests.Vector.Unboxed ( tests/Tests/Vector/Unboxed.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Unboxed.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Unboxed.dyn_o ) [vector] [ 6 of 12] Compiling Tests.Vector.Strict ( tests/Tests/Vector/Strict.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Strict.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Strict.dyn_o ) [vector] [ 7 of 12] Compiling Tests.Vector.Storable ( tests/Tests/Vector/Storable.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Storable.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Storable.dyn_o ) [vector] [ 8 of 12] Compiling Tests.Vector.Primitive ( tests/Tests/Vector/Primitive.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Primitive.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Primitive.dyn_o ) [vector] [ 9 of 12] Compiling Tests.Vector.Boxed ( tests/Tests/Vector/Boxed.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Boxed.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Boxed.dyn_o ) [vector] [10 of 12] Compiling Tests.Move ( tests/Tests/Move.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Move.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Move.dyn_o ) [vector] [11 of 12] Compiling Tests.Bundle ( tests/Tests/Bundle.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Bundle.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Bundle.dyn_o ) [vector] tests/Tests/Bundle.hs:16:29: warning: []8;;https://errors.haskell.org/messages/GHC-38856\GHC-38856]8;;\] [-Wunused-imports] [vector]  The import of ‘foldl'’ from module ‘Data.List’ is redundant [vector]  | [vector] 16 | import Data.List (foldl', foldl1', unfoldr, find, findIndex) [vector]  | ^^^^^^ [vector]  [vector] tests/Tests/Bundle.hs:76:77: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘head’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 76 | prop_head :: P (S.Bundle v a -> a) = not . S.null ===> S.head `eq` head [vector]  | ^^^^ [vector]  [vector] tests/Tests/Bundle.hs:92:83: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [vector]  In the use of ‘tail’ [vector]  (imported from Prelude, but defined in GHC.Internal.List): [vector]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [vector]  | [vector] 92 | prop_tail :: P (S.Bundle v a -> S.Bundle v a) = not . S.null ===> S.tail `eq` tail [vector]  | ^^^^ [vector]  [vector] [12 of 12] Compiling Main ( tests/Main.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Main.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Main.dyn_o ) [vector] [13 of 13] Linking dist/build/vector-tests-O0/vector-tests-O0 [vector] Preprocessing test suite 'vector-doctest' for vector-0.13.2.0... [vector] Building test suite 'vector-doctest' for vector-0.13.2.0... [vector] [1 of 1] Compiling Main ( tests/doctests.hs, dist/build/vector-doctest/vector-doctest-tmp/Main.o ) [vector] [2 of 2] Linking dist/build/vector-doctest/vector-doctest [vector] Preprocessing library 'benchmarks-O2' for vector-0.13.2.0... [vector] Building library 'benchmarks-O2' for vector-0.13.2.0... [vector] [ 1 of 14] Compiling Bench.Vector.Algo.AwShCC ( benchlib/Bench/Vector/Algo/AwShCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/AwShCC.o, dist/build/benchmarks-O2/Bench/Vector/Algo/AwShCC.dyn_o ) [vector] [ 2 of 14] Compiling Bench.Vector.Algo.FindIndexR ( benchlib/Bench/Vector/Algo/FindIndexR.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/FindIndexR.o, dist/build/benchmarks-O2/Bench/Vector/Algo/FindIndexR.dyn_o ) [vector] [ 3 of 14] Compiling Bench.Vector.Algo.HybCC ( benchlib/Bench/Vector/Algo/HybCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/HybCC.o, dist/build/benchmarks-O2/Bench/Vector/Algo/HybCC.dyn_o ) [vector] [ 4 of 14] Compiling Bench.Vector.Algo.Leaffix ( benchlib/Bench/Vector/Algo/Leaffix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Leaffix.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Leaffix.dyn_o ) [vector] [ 5 of 14] Compiling Bench.Vector.Algo.ListRank ( benchlib/Bench/Vector/Algo/ListRank.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/ListRank.o, dist/build/benchmarks-O2/Bench/Vector/Algo/ListRank.dyn_o ) [vector] [ 6 of 14] Compiling Bench.Vector.Algo.MutableSet ( benchlib/Bench/Vector/Algo/MutableSet.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/MutableSet.o, dist/build/benchmarks-O2/Bench/Vector/Algo/MutableSet.dyn_o ) [vector] [ 7 of 14] Compiling Bench.Vector.Algo.NextPermutation ( benchlib/Bench/Vector/Algo/NextPermutation.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/NextPermutation.o, dist/build/benchmarks-O2/Bench/Vector/Algo/NextPermutation.dyn_o ) [vector] [ 8 of 14] Compiling Bench.Vector.Algo.Quickhull ( benchlib/Bench/Vector/Algo/Quickhull.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Quickhull.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Quickhull.dyn_o ) [vector] [ 9 of 14] Compiling Bench.Vector.Algo.Rootfix ( benchlib/Bench/Vector/Algo/Rootfix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Rootfix.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Rootfix.dyn_o ) [vector] [10 of 14] Compiling Bench.Vector.Algo.Spectral ( benchlib/Bench/Vector/Algo/Spectral.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Spectral.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Spectral.dyn_o ) [vector] [11 of 14] Compiling Bench.Vector.Algo.Tridiag ( benchlib/Bench/Vector/Algo/Tridiag.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Tridiag.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Tridiag.dyn_o ) [vector] [12 of 14] Compiling Bench.Vector.Tasty ( benchlib/Bench/Vector/Tasty.hs, dist/build/benchmarks-O2/Bench/Vector/Tasty.o, dist/build/benchmarks-O2/Bench/Vector/Tasty.dyn_o ) [vector] [13 of 14] Compiling Bench.Vector.TestData.Graph ( benchlib/Bench/Vector/TestData/Graph.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/Graph.o, dist/build/benchmarks-O2/Bench/Vector/TestData/Graph.dyn_o ) [vector] [14 of 14] Compiling Bench.Vector.TestData.ParenTree ( benchlib/Bench/Vector/TestData/ParenTree.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/ParenTree.o, dist/build/benchmarks-O2/Bench/Vector/TestData/ParenTree.dyn_o ) [vector] [ 1 of 14] Compiling Bench.Vector.Algo.AwShCC ( benchlib/Bench/Vector/Algo/AwShCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/AwShCC.p_o ) [vector] [ 2 of 14] Compiling Bench.Vector.Algo.FindIndexR ( benchlib/Bench/Vector/Algo/FindIndexR.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/FindIndexR.p_o ) [vector] [ 3 of 14] Compiling Bench.Vector.Algo.HybCC ( benchlib/Bench/Vector/Algo/HybCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/HybCC.p_o ) [vector] [ 4 of 14] Compiling Bench.Vector.Algo.Leaffix ( benchlib/Bench/Vector/Algo/Leaffix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Leaffix.p_o ) [vector] [ 5 of 14] Compiling Bench.Vector.Algo.ListRank ( benchlib/Bench/Vector/Algo/ListRank.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/ListRank.p_o ) [vector] [ 6 of 14] Compiling Bench.Vector.Algo.MutableSet ( benchlib/Bench/Vector/Algo/MutableSet.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/MutableSet.p_o ) [vector] [ 7 of 14] Compiling Bench.Vector.Algo.NextPermutation ( benchlib/Bench/Vector/Algo/NextPermutation.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/NextPermutation.p_o ) [vector] [ 8 of 14] Compiling Bench.Vector.Algo.Quickhull ( benchlib/Bench/Vector/Algo/Quickhull.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Quickhull.p_o ) [vector] [ 9 of 14] Compiling Bench.Vector.Algo.Rootfix ( benchlib/Bench/Vector/Algo/Rootfix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Rootfix.p_o ) [vector] [10 of 14] Compiling Bench.Vector.Algo.Spectral ( benchlib/Bench/Vector/Algo/Spectral.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Spectral.p_o ) [vector] [11 of 14] Compiling Bench.Vector.Algo.Tridiag ( benchlib/Bench/Vector/Algo/Tridiag.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Tridiag.p_o ) [vector] [12 of 14] Compiling Bench.Vector.Tasty ( benchlib/Bench/Vector/Tasty.hs, dist/build/benchmarks-O2/Bench/Vector/Tasty.p_o ) [vector] [13 of 14] Compiling Bench.Vector.TestData.Graph ( benchlib/Bench/Vector/TestData/Graph.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/Graph.p_o ) [vector] [14 of 14] Compiling Bench.Vector.TestData.ParenTree ( benchlib/Bench/Vector/TestData/ParenTree.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/ParenTree.p_o ) [vector] Preprocessing test suite 'vector-inspection' for vector-0.13.2.0... [vector] Building test suite 'vector-inspection' for vector-0.13.2.0... [vector] [1 of 4] Compiling Inspect ( tests-inspect/Inspect.hs, dist/build/vector-inspection/vector-inspection-tmp/Inspect.o ) [vector] [2 of 4] Compiling Inspect.DerivingVia.OtherFoo ( tests-inspect/Inspect/DerivingVia/OtherFoo.hs, dist/build/vector-inspection/vector-inspection-tmp/Inspect/DerivingVia/OtherFoo.o, dist/build/vector-inspection/vector-inspection-tmp/Inspect/DerivingVia/OtherFoo.dyn_o ) [vector] [3 of 4] Compiling Inspect.DerivingVia ( tests-inspect/Inspect/DerivingVia.hs, dist/build/vector-inspection/vector-inspection-tmp/Inspect/DerivingVia.o ) [vector] [4 of 4] Compiling Main ( tests-inspect/main.hs, dist/build/vector-inspection/vector-inspection-tmp/Main.o ) [vector] [5 of 5] Linking dist/build/vector-inspection/vector-inspection [vector] buildPhase completed in 4 minutes 56 seconds [vector] Phase: checkPhase [vector] Running 2 test suites... [vector] Test suite vector-tests-O0: RUNNING... [vector] toplevel [vector]  Data.Vector.Fusion.Bundle [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  extract: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Boxed [vector]  Bool [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 25 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  Int [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Primitive [vector]  Int [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  Double [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imap: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 5 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Storable [vector]  Data.Vector.Storable.Vector (Int) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  Data.Vector.Storable.Vector (Double) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 5 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Strict [vector]  Bool [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  Int [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Unboxed [vector]  () [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.09s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  (Bool) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 25 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 25 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  (Int) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  (Float) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 2 discarded. [vector]  (Double) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 1 discarded. [vector]  (Int,Bool) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 26 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  (Int,Bool,Int) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.07s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Storable.Vector Alignment [vector]  Aligned Double: OK [vector]  Aligned Int: OK [vector]  Regression tests [vector]  enumFromTo crash #188 [vector]  Word8: OK [vector]  Word16: OK [vector]  Word32: OK [vector]  Word64: OK [vector]  Word: OK [vector]  Int8: OK [vector]  Int16: OK [vector]  Int32: OK [vector]  Int64: OK [vector]  Int: OK [vector]  Char: OK [vector]  Negative tests [vector]  slice out of bounds #257 [vector]  Boxed [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  Primitive [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  Storable [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  Unboxed [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  take #282 [vector]  Boxed: OK [vector]  Primitive: OK [vector]  Storable: OK [vector]  Unboxed: OK [vector]  Data.Vector [vector]  MonadFix: OK [vector]  toFromArray: OK [vector]  toFromArraySlice: OK [vector]  toFromArraySliceUnsafe: OK [vector]  toFromMutableArray: OK [vector]  Data.Vector.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  Data.Vector.Primitive.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  Data.Vector.Unboxed.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  Data.Vector.Storable.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  Data.Vector.Generic.Mutable (nextPermutation): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Generic.Mutable (prevPermutation): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Generic.Mutable (nextPermutation then prevPermutation = id): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Generic.Mutable (prevPermutation then nextPermutation = id): OK [vector]  +++ OK, passed 100 tests. [vector]  [vector] All 2808 tests passed (15.02s) [vector] Test suite vector-tests-O0: PASS [vector] Test suite logged to: dist/test/vector-0.13.2.0-vector-tests-O0.log [vector] Test suite vector-tests-O2: RUNNING... [vector] toplevel [vector]  Data.Vector.Fusion.Bundle [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  extract: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Boxed [vector]  Bool [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  Int [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Primitive [vector]  Int [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  Double [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 8 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Storable [vector]  Data.Vector.Storable.Vector (Int) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  Data.Vector.Storable.Vector (Double) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 1 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Strict [vector]  Bool [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 25 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  Int [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 24 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK [vector]  +++ OK, passed 100 tests. [vector]  fmap: OK [vector]  +++ OK, passed 100 tests. [vector]  return: OK [vector]  +++ OK, passed 100 tests. [vector]  bind: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mzip: OK [vector]  +++ OK, passed 100 tests. [vector]  munzip: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_pure: OK [vector]  +++ OK, passed 100 tests. [vector]  applicative_appl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  alternative_empty: OK [vector]  +++ OK, passed 100 tests. [vector]  alternative_or: OK [vector]  +++ OK, passed 100 tests. [vector]  sequence: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  sequence_: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Tests.Vector.Unboxed [vector]  () [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  (Bool) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  and: OK [vector]  +++ OK, passed 100 tests. [vector]  or: OK [vector]  +++ OK, passed 100 tests. [vector]  (Int) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 10 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  (Float) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 11 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 25 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 4 discarded. [vector]  (Double) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK (0.01s) [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  foldr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK (0.01s) [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  ifoldl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  sum: OK [vector]  +++ OK, passed 100 tests. [vector]  product: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenN: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromTo: OK [vector]  +++ OK, passed 100 tests. [vector]  enumFromThenTo: OK [vector]  +++ OK, passed 100 tests; 1 discarded. [vector]  (Int,Bool) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 23 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 14 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  (Int,Bool,Int) [vector]  fromList.toList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  toList.fromList == id: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream.stream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  stream.unstream == id: OK [vector]  +++ OK, passed 100 tests. [vector]  eq: OK [vector]  +++ OK, passed 100 tests. [vector]  length: OK [vector]  +++ OK, passed 100 tests. [vector]  null: OK [vector]  +++ OK, passed 100 tests. [vector]  index: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  safeIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  head: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  last: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  unsafeIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  unsafeHead: OK [vector]  +++ OK, passed 100 tests; 21 discarded. [vector]  unsafeLast: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  slice: OK [vector]  +++ OK, passed 100 tests. [vector]  init: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  tail: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  take: OK [vector]  +++ OK, passed 100 tests. [vector]  drop: OK [vector]  +++ OK, passed 100 tests. [vector]  splitAt: OK [vector]  +++ OK, passed 100 tests. [vector]  empty: OK [vector]  +++ OK, passed 100 tests. [vector]  singleton: OK [vector]  +++ OK, passed 100 tests. [vector]  replicate: OK [vector]  +++ OK, passed 100 tests. [vector]  generate: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateN: OK [vector]  +++ OK, passed 100 tests. [vector]  iterateNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  generateM: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  replicateM: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  create: OK [vector]  +++ OK, passed 100 tests. [vector]  createT: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactN: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrNM: OK [vector]  +++ OK, passed 100 tests. [vector]  unfoldrExactNM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  constructN: OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  constructrN: OK [vector]  +++ OK, passed 100 tests. [vector]  cons: OK [vector]  +++ OK, passed 100 tests. [vector]  snoc: OK [vector]  +++ OK, passed 100 tests. [vector]  append: OK [vector]  +++ OK, passed 100 tests. [vector]  concat: OK (0.05s) [vector]  +++ OK, passed 100 tests. [vector]  force: OK [vector]  +++ OK, passed 100 tests. [vector]  upd: OK [vector]  +++ OK, passed 100 tests. [vector]  accum: OK [vector]  +++ OK, passed 100 tests. [vector]  reverse: OK [vector]  +++ OK, passed 100 tests. [vector]  backpermute: OK [vector]  +++ OK, passed 100 tests. [vector]  map: OK [vector]  +++ OK, passed 100 tests. [vector]  imap: OK [vector]  +++ OK, passed 100 tests. [vector]  concatMap: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM: OK [vector]  +++ OK, passed 100 tests. [vector]  mapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  forM: OK [vector]  +++ OK, passed 100 tests. [vector]  forM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  imapM: OK [vector]  +++ OK, passed 100 tests. [vector]  imapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  zipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWith3: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  izipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  zipWithM: OK [vector]  +++ OK, passed 100 tests. [vector]  zipWithM_: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  filter: OK [vector]  +++ OK, passed 100 tests. [vector]  ifilter: OK [vector]  +++ OK, passed 100 tests. [vector]  filterM: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  uniq: OK [vector]  +++ OK, passed 100 tests. [vector]  mapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  imapMaybe: OK [vector]  +++ OK, passed 100 tests. [vector]  takeWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  dropWhile: OK [vector]  +++ OK, passed 100 tests. [vector]  partition: OK [vector]  +++ OK, passed 100 tests. [vector]  partitionWith: OK [vector]  +++ OK, passed 100 tests. [vector]  span: OK [vector]  +++ OK, passed 100 tests. [vector]  break: OK [vector]  +++ OK, passed 100 tests. [vector]  spanR: OK [vector]  +++ OK, passed 100 tests. [vector]  breakR: OK [vector]  +++ OK, passed 100 tests. [vector]  groupBy: OK [vector]  +++ OK, passed 100 tests. [vector]  elem: OK [vector]  +++ OK, passed 100 tests. [vector]  notElem: OK [vector]  +++ OK, passed 100 tests. [vector]  find: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndexR: OK [vector]  +++ OK, passed 100 tests. [vector]  findIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndex: OK [vector]  +++ OK, passed 100 tests. [vector]  elemIndices: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  foldl1': OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  foldr1': OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  ifoldM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  ifoldM'_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  all: OK [vector]  +++ OK, passed 100 tests. [vector]  any: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanl': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl': OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanl1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanl': OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr: OK [vector]  +++ OK, passed 100 tests. [vector]  prescanr': OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  postscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr': OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1: OK [vector]  +++ OK, passed 100 tests. [vector]  scanr1': OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr: OK [vector]  +++ OK, passed 100 tests. [vector]  iscanr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_read: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  mut_write: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_modify: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  mut_generate: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_generateM: OK (0.02s) [vector]  +++ OK, passed 100 tests. [vector]  mut_mapM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_imapM_: OK (0.03s) [vector]  +++ OK, passed 100 tests. [vector]  mut_forM_: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  mut_iforM_: OK (0.04s) [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldr': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldl': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_foldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldM': OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM: OK [vector]  +++ OK, passed 100 tests. [vector]  mut_ifoldrM': OK [vector]  +++ OK, passed 100 tests. [vector]  compare: OK [vector]  +++ OK, passed 100 tests. [vector]  maximum: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  minimum: OK [vector]  +++ OK, passed 100 tests; 20 discarded. [vector]  minIndex: OK [vector]  +++ OK, passed 100 tests; 15 discarded. [vector]  maxIndex: OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  maximumBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  minimumBy: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  maximumOn: OK [vector]  +++ OK, passed 100 tests; 19 discarded. [vector]  minimumOn: OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  maxIndexBy: OK [vector]  +++ OK, passed 100 tests; 16 discarded. [vector]  minIndexBy: OK [vector]  +++ OK, passed 100 tests; 18 discarded. [vector]  ListFirstMaxIndexWins: OK [vector]  +++ OK, passed 100 tests; 12 discarded. [vector]  FalseListFirstMaxIndexWins: OK [vector]  +++ OK, failed as expected. (after 1 test): [vector]  Exception: [vector]  Prelude.foldr1: empty list [vector]  CallStack (from HasCallStack): [vector]  error, called at libraries/ghc-internal/src/GHC/Internal/List.hs:2030:3 in ghc-internal:GHC.Internal.List [vector]  errorEmptyList, called at libraries/ghc-internal/src/GHC/Internal/List.hs:705:30 in ghc-internal:GHC.Internal.List [vector]  foldr1, called at libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:687:15 in ghc-internal:GHC.Internal.Data.Foldable [vector]  [] [vector]  zip: OK [vector]  +++ OK, passed 100 tests. [vector]  zip3: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip: OK [vector]  +++ OK, passed 100 tests. [vector]  unzip3: OK [vector]  +++ OK, passed 100 tests. [vector]  indexed: OK [vector]  +++ OK, passed 100 tests. [vector]  update: OK [vector]  +++ OK, passed 100 tests. [vector]  mempty: OK [vector]  +++ OK, passed 100 tests. [vector]  mappend: OK [vector]  +++ OK, passed 100 tests. [vector]  mconcat: OK (0.06s) [vector]  +++ OK, passed 100 tests. [vector]  glength: OK [vector]  +++ OK, passed 100 tests. [vector]  unstream [vector]  unstream == vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstream == vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (exact): OK [vector]  +++ OK, passed 100 tests. [vector]  unstreamR ~= vunstream (unknown): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Storable.Vector Alignment [vector]  Aligned Double: OK [vector]  Aligned Int: OK [vector]  Regression tests [vector]  enumFromTo crash #188 [vector]  Word8: OK [vector]  Word16: OK [vector]  Word32: OK [vector]  Word64: OK [vector]  Word: OK [vector]  Int8: OK [vector]  Int16: OK [vector]  Int32: OK [vector]  Int64: OK [vector]  Int: OK [vector]  Char: OK [vector]  Negative tests [vector]  slice out of bounds #257 [vector]  Boxed [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  Primitive [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  Storable [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  Unboxed [vector]  Negative ix: OK [vector]  Negative size: OK [vector]  Negative ix and size: OK [vector]  Too large ix: OK [vector]  Too large size: OK [vector]  Too large ix and size: OK [vector]  Overflow: OK [vector]  OutOfMemory: OK [vector]  take #282 [vector]  Boxed: OK [vector]  Primitive: OK [vector]  Storable: OK [vector]  Unboxed: OK [vector]  Data.Vector [vector]  MonadFix: OK [vector]  toFromArray: OK [vector]  toFromArraySlice: OK [vector]  toFromArraySliceUnsafe: OK [vector]  toFromMutableArray: OK [vector]  Data.Vector.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 17 discarded. [vector]  Data.Vector.Primitive.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 22 discarded. [vector]  Data.Vector.Unboxed.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 13 discarded. [vector]  Data.Vector.Storable.Mutable (Move): OK [vector]  +++ OK, passed 100 tests; 25 discarded. [vector]  Data.Vector.Generic.Mutable (nextPermutation): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Generic.Mutable (prevPermutation): OK (0.01s) [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Generic.Mutable (nextPermutation then prevPermutation = id): OK [vector]  +++ OK, passed 100 tests. [vector]  Data.Vector.Generic.Mutable (prevPermutation then nextPermutation = id): OK [vector]  +++ OK, passed 100 tests. [vector]  [vector] All 2808 tests passed (12.01s) [vector] Test suite vector-tests-O2: PASS [vector] Test suite logged to: dist/test/vector-0.13.2.0-vector-tests-O2.log [vector] 2 of 2 test suites (2 of 2 test cases) passed. [vector] Phase: haddockPhase [vector] Phase: installPhase [vector] Installing library in /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [vector] Installing internal library benchmarks-O2 in /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/vector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2 [vector] Phase: fixupPhase [vector] shrinking RPATHs of ELF executables and libraries in /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0 [vector] shrinking /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSvector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg-ghc9.10.3.so [vector] shrinking /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSvector-0.13.2.0-KREhi8TUkc2JuN3baN4oSD-benchmarks-O2-ghc9.10.3.so [vector] checking for references to /build/ in /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0... [vector] patching script interpreter paths in /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0 [vector] stripping (with command strip and flags -S -p) in /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0/lib [post-build-hook] Uploading to cachix cache "sellout": /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0 [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0 [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/ppxz7w3870sr2csi04dx9bdx16kq2rcw-vector-0.13.2.0' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 9 of 19 built, 193 of 193 downloaded from cache Building nothunks [nothunks] Phase: setupCompilerEnvironmentPhase [nothunks] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [nothunks] Phase: unpackPhase [nothunks] unpacking source archive /nix/store/y2bnhvmx2j2igw7ad1jf22kp1dlk8pg2-nothunks-0.3.1.tar.gz [nothunks] source root is nothunks-0.3.1 [nothunks] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "nothunks-0.3.1/test/Test/NoThunks/Class.hs" [nothunks] Phase: patchPhase [nothunks] Replace Cabal file with edited version from mirror://hackage/nothunks-0.3.1/revision/1.cabal. [nothunks] Run jailbreak-cabal to lift version restrictions on build inputs. [nothunks] Phase: compileBuildDriverPhase [nothunks] setupCompileFlags: -package-db=/build/tmp.oDyaFIHlax/setup-package.conf.d -threaded [nothunks] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.oDyaFIHlax/Main.o ) [nothunks] [2 of 2] Linking Setup [nothunks] Phase: updateAutotoolsGnuConfigScriptsPhase [nothunks] Phase: configurePhase [nothunks] configureFlags: --verbose --prefix=/nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc/share/doc/nothunks-0.3.1 --with-gcc=gcc --package-db=/build/tmp.oDyaFIHlax/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib [nothunks] Using Parsec parser [nothunks] Configuring nothunks-0.3.1... [nothunks] Flags chosen: bytestring=True, text=True, vector=True [nothunks] Dependency base: using base-4.20.2.0 [nothunks] Dependency bytestring >=0.10 && <0.13: using bytestring-0.12.2.0 [nothunks] Dependency containers: using containers-0.7 [nothunks] Dependency ghc-heap: using ghc-heap-9.10.3 [nothunks] Dependency stm: using stm-2.5.3.1 [nothunks] Dependency text >=1.2 && <1.3 || >=2 && <2.2: using text-2.1.3 [nothunks] Dependency time: using time-1.12.2 [nothunks] Dependency vector >=0.12 && <0.14: using vector-0.13.2.0 [nothunks] Dependency wherefrom-compat >=0.1.1 && <0.3: using wherefrom-compat-0.1.1.1 [nothunks] Dependency base: using base-4.20.2.0 [nothunks] Dependency containers: using containers-0.7 [nothunks] Dependency ghc-prim: using ghc-prim-0.12.0 [nothunks] Dependency hedgehog: using hedgehog-1.5 [nothunks] Dependency nothunks: using nothunks-0.3.1 [nothunks] Dependency random: using random-1.2.1.3 [nothunks] Dependency stm: using stm-2.5.3.1 [nothunks] Dependency tasty: using tasty-1.5.3 [nothunks] Dependency tasty-hedgehog: using tasty-hedgehog-1.4.0.2 [nothunks] Source component graph: [nothunks]  component lib [nothunks]  component test:nothunks-test dependency lib [nothunks] Configured component graph: [nothunks]  component nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks]  include base-4.20.2.0-acb8 [nothunks]  include bytestring-0.12.2.0-04d5 [nothunks]  include containers-0.7-a3f6 [nothunks]  include ghc-heap-9.10.3-30e2 [nothunks]  include stm-2.5.3.1-62de [nothunks]  include text-2.1.3-e138 [nothunks]  include time-1.12.2-befd [nothunks]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [nothunks]  include wherefrom-compat-0.1.1.1-76NaIyY2BhzAJrXOXpAjzp [nothunks]  component nothunks-0.3.1-7bNIEWEBdl4BRnTdh3zIDH-nothunks-test [nothunks]  include base-4.20.2.0-acb8 [nothunks]  include containers-0.7-a3f6 [nothunks]  include ghc-prim-0.12.0-f1e7 [nothunks]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [nothunks]  include nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [nothunks]  include stm-2.5.3.1-62de [nothunks]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [nothunks]  include tasty-hedgehog-1.4.0.2-BmGQwjkJFIgK336SkPT5li [nothunks] Linked component graph: [nothunks]  unit nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks]  include base-4.20.2.0-acb8 [nothunks]  include bytestring-0.12.2.0-04d5 [nothunks]  include containers-0.7-a3f6 [nothunks]  include ghc-heap-9.10.3-30e2 [nothunks]  include stm-2.5.3.1-62de [nothunks]  include text-2.1.3-e138 [nothunks]  include time-1.12.2-befd [nothunks]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [nothunks]  include wherefrom-compat-0.1.1.1-76NaIyY2BhzAJrXOXpAjzp [nothunks]  NoThunks.Class=nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw:NoThunks.Class [nothunks]  unit nothunks-0.3.1-7bNIEWEBdl4BRnTdh3zIDH-nothunks-test [nothunks]  include base-4.20.2.0-acb8 [nothunks]  include containers-0.7-a3f6 [nothunks]  include ghc-prim-0.12.0-f1e7 [nothunks]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [nothunks]  include nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [nothunks]  include stm-2.5.3.1-62de [nothunks]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [nothunks]  include tasty-hedgehog-1.4.0.2-BmGQwjkJFIgK336SkPT5li [nothunks] Ready component graph: [nothunks]  definite nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks]  depends base-4.20.2.0-acb8 [nothunks]  depends bytestring-0.12.2.0-04d5 [nothunks]  depends containers-0.7-a3f6 [nothunks]  depends ghc-heap-9.10.3-30e2 [nothunks]  depends stm-2.5.3.1-62de [nothunks]  depends text-2.1.3-e138 [nothunks]  depends time-1.12.2-befd [nothunks]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [nothunks]  depends wherefrom-compat-0.1.1.1-76NaIyY2BhzAJrXOXpAjzp [nothunks]  definite nothunks-0.3.1-7bNIEWEBdl4BRnTdh3zIDH-nothunks-test [nothunks]  depends base-4.20.2.0-acb8 [nothunks]  depends containers-0.7-a3f6 [nothunks]  depends ghc-prim-0.12.0-f1e7 [nothunks]  depends hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [nothunks]  depends nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks]  depends random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [nothunks]  depends stm-2.5.3.1-62de [nothunks]  depends tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [nothunks]  depends tasty-hedgehog-1.4.0.2-BmGQwjkJFIgK336SkPT5li [nothunks] Using Cabal-3.12.1.0 compiled by ghc-9.10 [nothunks] Using compiler: ghc-9.10.3 [nothunks] Using install prefix: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1 [nothunks] Executables installed in: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/bin [nothunks] Libraries installed in: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks] Dynamic Libraries installed in: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [nothunks] Private executables installed in: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/libexec/x86_64-linux-ghc-9.10.3-5702/nothunks-0.3.1 [nothunks] Data files installed in: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/share/x86_64-linux-ghc-9.10.3-5702/nothunks-0.3.1 [nothunks] Documentation installed in: [nothunks] /nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc/share/doc/nothunks-0.3.1 [nothunks] Configuration files installed in: [nothunks] /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/etc [nothunks] No alex found [nothunks] Using ar found on system at: [nothunks] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [nothunks] No c2hs found [nothunks] No cpphs found [nothunks] No doctest found [nothunks] Using gcc version 14.3.0 given by user at: [nothunks] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [nothunks] Using ghc version 9.10.3 found on system at: [nothunks] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [nothunks] Using ghc-pkg version 9.10.3 found on system at: [nothunks] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [nothunks] No ghcjs found [nothunks] No ghcjs-pkg found [nothunks] No greencard found [nothunks] Using haddock version 2.31.1 found on system at: [nothunks] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [nothunks] No happy found [nothunks] Using haskell-suite found on system at: haskell-suite-dummy-location [nothunks] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [nothunks] No hmake found [nothunks] Using hpc version 0.69 found on system at: [nothunks] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [nothunks] Using hsc2hs version 0.68.10 found on system at: [nothunks] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [nothunks] Using hscolour version 1.25 found on system at: [nothunks] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [nothunks] No jhc found [nothunks] Using ld found on system at: [nothunks] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [nothunks] No pkg-config found [nothunks] Using runghc version 9.10.3 found on system at: [nothunks] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [nothunks] Using strip version 2.44 found on system at: [nothunks] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [nothunks] Using tar found on system at: [nothunks] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [nothunks] No uhc found [nothunks] Phase: buildPhase [nothunks] Preprocessing library for nothunks-0.3.1... [nothunks] Building library for nothunks-0.3.1... [nothunks] [1 of 1] Compiling NoThunks.Class ( src/NoThunks/Class.hs, dist/build/NoThunks/Class.o, dist/build/NoThunks/Class.dyn_o ) [nothunks] [1 of 1] Compiling NoThunks.Class ( src/NoThunks/Class.hs, dist/build/NoThunks/Class.p_o ) [nothunks] Preprocessing test suite 'nothunks-test' for nothunks-0.3.1... [nothunks] Building test suite 'nothunks-test' for nothunks-0.3.1... [nothunks] [1 of 2] Compiling Test.NoThunks.Class ( test/Test/NoThunks/Class.hs, dist/build/nothunks-test/nothunks-test-tmp/Test/NoThunks/Class.o ) [nothunks] [2 of 2] Compiling Main ( test/Main.hs, dist/build/nothunks-test/nothunks-test-tmp/Main.o ) [nothunks] [3 of 3] Linking dist/build/nothunks-test/nothunks-test [nothunks] Phase: checkPhase [nothunks] Running 1 test suites... [nothunks] Test suite nothunks-test: RUNNING... [nothunks] Tests [nothunks]  NoThunks.Class [nothunks]  Sanity [nothunks]  IntNotNF: OK [nothunks]  ✓ passed 1 test. [nothunks]  IntIsNF: OK [nothunks]  ✓ passed 1 test. [nothunks]  Pair: OK [nothunks]  ✓ passed 1 test. [nothunks]  Sum: OK [nothunks]  ✓ passed 1 test. [nothunks]  Fn: OK [nothunks]  ✓ passed 1 test. [nothunks]  IO: OK [nothunks]  ✓ passed 1 test. [nothunks]  InspectHeap [nothunks]  Int: OK (0.04s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int"] 50% ██████████·········· [nothunks]  Nothing 50% █████████▉·········· [nothunks]  IntInt: OK (0.04s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","Tuple2"] 39% ███████▊············ [nothunks]  Just ["Tuple2"] 50% ██████████·········· [nothunks]  Nothing 10% ██·················· [nothunks]  SumInt: OK (0.03s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Either"] 32% ██████▍············· [nothunks]  Just ["Int","Either"] 34% ██████▊············· [nothunks]  Nothing 34% ██████▋············· [nothunks]  ListInt: OK (0.03s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","List"] 23% ████▌··············· [nothunks]  Just ["List"] 43% ████████▋··········· [nothunks]  Nothing 34% ██████▊············· [nothunks]  IntListInt: OK (0.04s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","List","Tuple2"] 6% █··················· [nothunks]  Just ["Int","Tuple2"] 25% █████··············· [nothunks]  Just ["List","Tuple2"] 11% ██▏················· [nothunks]  Just ["Tuple2"] 51% ██████████▏········· [nothunks]  Nothing 7% █▍·················· [nothunks]  SeqInt: ✗ EXPECTED FAILURE failed at test/Test/NoThunks/Class.hs:179:7 [nothunks]  after 10 tests and 2 shrinks. [nothunks]  shrink path: 10:cA [nothunks]  Just ["Int","Seq"] 20% ████················ [nothunks]  Nothing  70% ██████████████······ [nothunks]  [nothunks]  ┏━━ test/Test/NoThunks/Class.hs ━━━ [nothunks]  166 ┃ testWithModel :: forall a. FromModel a [nothunks]  167 ┃  => (Maybe ThunkInfo -> Maybe [String] -> Bool) [nothunks]  168 ┃  -> Proxy a [nothunks]  169 ┃  -- ^ Compare @ThunkInfo@. When we use 'noThunks' this [nothunks]  170 ┃  -- can just be @(==)@; however, when we use 'isNormalForm', the [nothunks]  171 ┃  -- context we will get from the model will be too detailed. [nothunks]  172 ┃  -> Property [nothunks]  173 ┃ testWithModel compareInfo _proxy = withTests 1000 $ property $ do [nothunks]  174 ┃  m :: Model a <- forAll genModel [nothunks]    ┃ │ Wrap [nothunks]    ┃ │  { unwrap = [nothunks]    ┃ │  SeqEnqueue [nothunks]    ┃ │  (IntValue 0) [nothunks]    ┃ │  (SeqEnqueue [nothunks]    ┃ │  (IntValue 0) [nothunks]    ┃ │  (SeqEnqueue [nothunks]    ┃ │  (IntValue 0) [nothunks]    ┃ │  (SeqEnqueue [nothunks]    ┃ │  (IntValue 0) [nothunks]    ┃ │  (SeqEnqueue (IntValue 0) (SeqEnqueue (IntValue 0) SeqEmpty))))) [nothunks]    ┃ │  } [nothunks]  175 ┃  collect $ modelUnexpected [] m [nothunks]  176 ┃  fromModel m $ \a -> do [nothunks]  177 ┃  annotate $ show $ modelIsNF [] m [nothunks]    ┃ │ IsNF [nothunks]  178 ┃  isNF <- liftIO $ noThunks [] a [nothunks]  179 ┃  Hedgehog.diff isNF compareInfo (modelUnexpected [] m) [nothunks]    ┃ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [nothunks]    ┃ │ ━━━ Failed (- lhs) (+ rhs) ━━━ [nothunks]    ┃ │ - Just [nothunks]    ┃ │ - ThunkInfo [nothunks]    ┃ │ - { thunkContext = [ "..." , "Seq Int" ] , thunkInfo = Nothing } [nothunks]    ┃ │ + Nothing [nothunks]  [nothunks]  This failure can be reproduced by running: [nothunks]  > recheckAt (Seed 13621856459592471057 8508144162220375703) "10:cA" EXPECTED FAILURE [nothunks]  [nothunks] OK (0.07s) [nothunks]  ✓ passed 1 test. [nothunks]  Model [nothunks]  Int: OK (0.02s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int"] 48% █████████▋·········· [nothunks]  Nothing 52% ██████████▎········· [nothunks]  IntInt: OK (0.02s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","Tuple2"] 38% ███████▌············ [nothunks]  Just ["Tuple2"] 50% ██████████·········· [nothunks]  Nothing 12% ██▍················· [nothunks]  SumInt: OK (0.02s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Either"] 34% ██████▊············· [nothunks]  Just ["Int","Either"] 33% ██████▌············· [nothunks]  Nothing 33% ██████▌············· [nothunks]  ListInt: OK (0.03s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","List"] 22% ████▍··············· [nothunks]  Just ["List"] 45% ████████▉··········· [nothunks]  Nothing 33% ██████▋············· [nothunks]  IntListInt: OK (0.07s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","List","Tuple2"] 6% █··················· [nothunks]  Just ["Int","Tuple2"] 24% ████▊··············· [nothunks]  Just ["List","Tuple2"] 11% ██▎················· [nothunks]  Just ["Tuple2"] 50% █████████▉·········· [nothunks]  Nothing 9% █▊·················· [nothunks]  SeqInt: OK (0.12s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","Seq"] 47% █████████▍·········· [nothunks]  Nothing 53% ██████████▌········· [nothunks]  AllowThunksIn: OK (0.05s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["Int","field2","Record"] 25% █████··············· [nothunks]  Just ["Record"] 48% █████████▋·········· [nothunks]  Nothing 26% █████▎·············· [nothunks]  Fn: OK (0.02s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["->"] 26% █████▎·············· [nothunks]  Nothing 74% ██████████████▋····· [nothunks]  IO: OK (0.04s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["IO"] 25% ████▉··············· [nothunks]  Nothing 75% ███████████████····· [nothunks]  ThunkFreeFn: OK (0.05s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["->"] 27% █████▍·············· [nothunks]  Just ["...","->"] 35% ██████▉············· [nothunks]  Nothing 38% ███████▌············ [nothunks]  ThunkFreeIO: OK (0.05s) [nothunks]  ✓ passed 1000 tests. [nothunks]  Just ["...","IO"] 40% ███████▉············ [nothunks]  Just ["IO"] 24% ████▊··············· [nothunks]  Nothing 36% ███████▏············ [nothunks]  MutableVars [nothunks]  IORef [nothunks]  NotNF: OK [nothunks]  ✓ passed 1 test. [nothunks]  NF: OK [nothunks]  ✓ passed 1 test. [nothunks]  NotNFPure: OK [nothunks]  ✓ passed 1 test. [nothunks]  NFPure: OK [nothunks]  ✓ passed 1 test. [nothunks]  NotNFAtomically: OK [nothunks]  ✓ passed 1 test. [nothunks]  NFAtomically: OK [nothunks]  ✓ passed 1 test. [nothunks]  MVar [nothunks]  NotNF: OK [nothunks]  ✓ passed 1 test. [nothunks]  NF: OK [nothunks]  ✓ passed 1 test. [nothunks]  NotNFPure: OK [nothunks]  ✓ passed 1 test. [nothunks]  NFPure: OK [nothunks]  ✓ passed 1 test. [nothunks]  NotNFAtomically: OK [nothunks]  ✓ passed 1 test. [nothunks]  NFAtomically: OK [nothunks]  ✓ passed 1 test. [nothunks]  TVar [nothunks]  NotNF: OK [nothunks]  ✓ passed 1 test. [nothunks]  NF: OK [nothunks]  ✓ passed 1 test. [nothunks]  NotNFPure: OK [nothunks]  ✓ passed 1 test. [nothunks]  NFPure: OK [nothunks]  ✓ passed 1 test. [nothunks]  NotNFAtomically: OK [nothunks]  ✓ passed 1 test. [nothunks]  NFAtomically: OK [nothunks]  ✓ passed 1 test. [nothunks]  [nothunks] All 41 tests passed (0.77s) [nothunks] Test suite nothunks-test: PASS [nothunks] Test suite logged to: dist/test/nothunks-0.3.1-nothunks-test.log [nothunks] 1 of 1 test suites (1 of 1 test cases) passed. [nothunks] Phase: haddockPhase [nothunks] Preprocessing library for nothunks-0.3.1... [nothunks] Running Haddock on library for nothunks-0.3.1... [nothunks] Warning: The documentation for the following packages are not installed. No [nothunks] links will be generated to these packages: vector-0.13.2.0 [nothunks] [1 of 1] Compiling NoThunks.Class ( src/NoThunks/Class.hs, nothing ) [nothunks] Haddock coverage: [nothunks] Warning: 'AllowThunksIn' is ambiguous. It is defined [nothunks]  * at src/NoThunks/Class.hs:334:48 [nothunks]  * at src/NoThunks/Class.hs:334:1 [nothunks]  You may be able to disambiguate the identifier by qualifying it or [nothunks]  by specifying the type/value namespace explicitly. [nothunks]  Defaulting to the one defined at src/NoThunks/Class.hs:334:1 [nothunks] Warning: 'InspectHeap' is ambiguous. It is defined [nothunks]  * at src/NoThunks/Class.hs:353:25 [nothunks]  * at src/NoThunks/Class.hs:353:1 [nothunks]  You may be able to disambiguate the identifier by qualifying it or [nothunks]  by specifying the type/value namespace explicitly. [nothunks]  Defaulting to the one defined at src/NoThunks/Class.hs:353:1 [nothunks] Warning: 'InspectHeapNamed' is ambiguous. It is defined [nothunks]  * at src/NoThunks/Class.hs:358:47 [nothunks]  * at src/NoThunks/Class.hs:358:1 [nothunks]  You may be able to disambiguate the identifier by qualifying it or [nothunks]  by specifying the type/value namespace explicitly. [nothunks]  Defaulting to the one defined at src/NoThunks/Class.hs:358:1 [nothunks] Warning: 'OnlyCheckWhnf' is ambiguous. It is defined [nothunks]  * at src/NoThunks/Class.hs:308:27 [nothunks]  * at src/NoThunks/Class.hs:308:1 [nothunks]  You may be able to disambiguate the identifier by qualifying it or [nothunks]  by specifying the type/value namespace explicitly. [nothunks]  Defaulting to the one defined at src/NoThunks/Class.hs:308:1 [nothunks] Warning: 'ThunkInfo' is ambiguous. It is defined [nothunks]  * at src/NoThunks/Class.hs:230:18 [nothunks]  * at src/NoThunks/Class.hs:230:1 [nothunks]  You may be able to disambiguate the identifier by qualifying it or [nothunks]  by specifying the type/value namespace explicitly. [nothunks]  Defaulting to the one defined at src/NoThunks/Class.hs:230:1 [nothunks] Warning: 'GHC' is out of scope. [nothunks]  If you qualify the identifier, haddock can try to link it anyway. [nothunks] Warning: 'a' is out of scope. [nothunks]  If you qualify the identifier, haddock can try to link it anyway. [nothunks]  95% ( 20 / 21) in 'NoThunks.Class' [nothunks]  Missing documentation for: [nothunks]  Module header [nothunks] Warning: NoThunks.Class: could not find link destinations for: [nothunks]  - Data.Vector.Vector [nothunks]  - Data.Vector.Unboxed.Base.Vector [nothunks]  - NoThunks.Class.HasFields [nothunks]  - NoThunks.Class.Elem [nothunks]  - NoThunks.Class.GShowTypeOf [nothunks]  - NoThunks.Class.GWRecordField [nothunks]  - NoThunks.Class.checkContainsThunks [nothunks] Documentation created: dist/doc/html/nothunks/, [nothunks] dist/doc/html/nothunks/nothunks.txt [nothunks] Preprocessing test suite 'nothunks-test' for nothunks-0.3.1... [nothunks] Phase: installPhase [nothunks] Installing library in /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [nothunks] Phase: fixupPhase [nothunks] shrinking RPATHs of ELF executables and libraries in /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1 [nothunks] shrinking /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSnothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw-ghc9.10.3.so [nothunks] checking for references to /build/ in /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1... [nothunks] patching script interpreter paths in /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1 [nothunks] stripping (with command strip and flags -S -p) in /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1/lib [nothunks] shrinking RPATHs of ELF executables and libraries in /nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc [nothunks] checking for references to /build/ in /nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc... [nothunks] patching script interpreter paths in /nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1 /nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1 /nix/store/bvhgrjg93mh2k3x1aq7gi6c4shilcaj4-nothunks-0.3.1-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/9k9igq9hmwk576871xcmy6asml5mpf84-nothunks-0.3.1' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 10 of 19 built, 193 of 193 downloaded from cache Building unordered-containers [unordered-containers] Phase: setupCompilerEnvironmentPhase [unordered-containers] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [unordered-containers] Phase: unpackPhase [unordered-containers] unpacking source archive /nix/store/3jhrx7bdq3fc4fyqvqr344f82lb9n9iv-unordered-containers-0.2.20.1.tar.gz [unordered-containers] source root is unordered-containers-0.2.20.1 [unordered-containers] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "unordered-containers-0.2.20.1/unordered-containers.cabal" [unordered-containers] Phase: patchPhase [unordered-containers] Phase: compileBuildDriverPhase [unordered-containers] setupCompileFlags: -package-db=/build/tmp.sdS8mtmeoG/setup-package.conf.d -threaded [unordered-containers] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.sdS8mtmeoG/Main.o ) [unordered-containers] [2 of 2] Linking Setup [unordered-containers] Phase: updateAutotoolsGnuConfigScriptsPhase [unordered-containers] Phase: configurePhase [unordered-containers] configureFlags: --verbose --prefix=/nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc/share/doc/unordered-containers-0.2.20.1 --with-gcc=gcc --package-db=/build/tmp.sdS8mtmeoG/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib [unordered-containers] Using Parsec parser [unordered-containers] Configuring unordered-containers-0.2.20.1... [unordered-containers] Flags chosen: debug=False [unordered-containers] Dependency base >=4.10 && <5: using base-4.20.2.0 [unordered-containers] Dependency deepseq >=1.4.3: using deepseq-1.5.0.0 [unordered-containers] Dependency hashable >=1.4 && <1.6: using hashable-1.5.0.0 [unordered-containers] Dependency template-haskell <2.24: using template-haskell-2.22.0.0 [unordered-containers] Dependency ChasingBottoms: using ChasingBottoms-1.3.1.17 [unordered-containers] Dependency HUnit: using HUnit-1.6.2.0 [unordered-containers] Dependency QuickCheck >=2.4.0.1: using QuickCheck-2.15.0.1 [unordered-containers] Dependency base: using base-4.20.2.0 [unordered-containers] Dependency containers >=0.5.8: using containers-0.7 [unordered-containers] Dependency hashable: using hashable-1.5.0.0 [unordered-containers] Dependency nothunks >=0.1.3: using nothunks-0.3.1 [unordered-containers] Dependency random: using random-1.2.1.3 [unordered-containers] Dependency tasty >=1.4.0.3: using tasty-1.5.3 [unordered-containers] Dependency tasty-hunit >=0.10.0.3: using tasty-hunit-0.10.2 [unordered-containers] Dependency tasty-quickcheck >=0.10.1.2: using tasty-quickcheck-0.11.1 [unordered-containers] Dependency unordered-containers: using unordered-containers-0.2.20.1 [unordered-containers] Source component graph: [unordered-containers]  component lib [unordered-containers]  component test:unordered-containers-tests dependency lib [unordered-containers] Configured component graph: [unordered-containers]  component unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers]  include base-4.20.2.0-acb8 [unordered-containers]  include deepseq-1.5.0.0-7e72 [unordered-containers]  include hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [unordered-containers]  include template-haskell-2.22.0.0-af3f [unordered-containers]  component unordered-containers-0.2.20.1-JZdOX0D8V0nEwlQSGrk4Ru-unordered-containers-tests [unordered-containers]  include ChasingBottoms-1.3.1.17-9Ou18h7tNTBCFMwCxYVCQZ [unordered-containers]  include HUnit-1.6.2.0-DAl88OZhORF5tEe8jDORqh [unordered-containers]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [unordered-containers]  include base-4.20.2.0-acb8 [unordered-containers]  include containers-0.7-a3f6 [unordered-containers]  include hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [unordered-containers]  include nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [unordered-containers]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [unordered-containers]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [unordered-containers]  include tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [unordered-containers]  include tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [unordered-containers]  include unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers] Linked component graph: [unordered-containers]  unit unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers]  include base-4.20.2.0-acb8 [unordered-containers]  include deepseq-1.5.0.0-7e72 [unordered-containers]  include hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [unordered-containers]  include template-haskell-2.22.0.0-af3f [unordered-containers]  Data.HashMap.Internal=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Internal,Data.HashMap.Internal.Array=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Internal.Array,Data.HashMap.Internal.Debug=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Internal.Debug,Data.HashMap.Internal.List=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Internal.List,Data.HashMap.Internal.Strict=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Internal.Strict,Data.HashMap.Lazy=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Lazy,Data.HashMap.Strict=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashMap.Strict,Data.HashSet=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashSet,Data.HashSet.Internal=unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf:Data.HashSet.Internal [unordered-containers]  unit unordered-containers-0.2.20.1-JZdOX0D8V0nEwlQSGrk4Ru-unordered-containers-tests [unordered-containers]  include ChasingBottoms-1.3.1.17-9Ou18h7tNTBCFMwCxYVCQZ [unordered-containers]  include HUnit-1.6.2.0-DAl88OZhORF5tEe8jDORqh [unordered-containers]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [unordered-containers]  include base-4.20.2.0-acb8 [unordered-containers]  include containers-0.7-a3f6 [unordered-containers]  include hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [unordered-containers]  include nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [unordered-containers]  include random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [unordered-containers]  include tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [unordered-containers]  include tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [unordered-containers]  include tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [unordered-containers]  include unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers] Ready component graph: [unordered-containers]  definite unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers]  depends base-4.20.2.0-acb8 [unordered-containers]  depends deepseq-1.5.0.0-7e72 [unordered-containers]  depends hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [unordered-containers]  depends template-haskell-2.22.0.0-af3f [unordered-containers]  definite unordered-containers-0.2.20.1-JZdOX0D8V0nEwlQSGrk4Ru-unordered-containers-tests [unordered-containers]  depends ChasingBottoms-1.3.1.17-9Ou18h7tNTBCFMwCxYVCQZ [unordered-containers]  depends HUnit-1.6.2.0-DAl88OZhORF5tEe8jDORqh [unordered-containers]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [unordered-containers]  depends base-4.20.2.0-acb8 [unordered-containers]  depends containers-0.7-a3f6 [unordered-containers]  depends hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [unordered-containers]  depends nothunks-0.3.1-KvKZpAC4SdU4WmlwLzzLpw [unordered-containers]  depends random-1.2.1.3-L6E5fTaPoCA1FYvVkjhQhJ [unordered-containers]  depends tasty-1.5.3-6VVnV2MAaEEboaUHJkYU4 [unordered-containers]  depends tasty-hunit-0.10.2-2JVNHJhSfnl5p1jLlZfoyf [unordered-containers]  depends tasty-quickcheck-0.11.1-DVleGteNHvy4GOLXZpTqTG [unordered-containers]  depends unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers] Using Cabal-3.12.1.0 compiled by ghc-9.10 [unordered-containers] Using compiler: ghc-9.10.3 [unordered-containers] Using install prefix: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1 [unordered-containers] Executables installed in: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/bin [unordered-containers] Libraries installed in: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers] Dynamic Libraries installed in: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [unordered-containers] Private executables installed in: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/libexec/x86_64-linux-ghc-9.10.3-5702/unordered-containers-0.2.20.1 [unordered-containers] Data files installed in: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/share/x86_64-linux-ghc-9.10.3-5702/unordered-containers-0.2.20.1 [unordered-containers] Documentation installed in: [unordered-containers] /nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc/share/doc/unordered-containers-0.2.20.1 [unordered-containers] Configuration files installed in: [unordered-containers] /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/etc [unordered-containers] No alex found [unordered-containers] Using ar found on system at: [unordered-containers] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [unordered-containers] No c2hs found [unordered-containers] No cpphs found [unordered-containers] No doctest found [unordered-containers] Using gcc version 14.3.0 given by user at: [unordered-containers] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [unordered-containers] Using ghc version 9.10.3 found on system at: [unordered-containers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [unordered-containers] Using ghc-pkg version 9.10.3 found on system at: [unordered-containers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [unordered-containers] No ghcjs found [unordered-containers] No ghcjs-pkg found [unordered-containers] No greencard found [unordered-containers] Using haddock version 2.31.1 found on system at: [unordered-containers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [unordered-containers] No happy found [unordered-containers] Using haskell-suite found on system at: haskell-suite-dummy-location [unordered-containers] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [unordered-containers] No hmake found [unordered-containers] Using hpc version 0.69 found on system at: [unordered-containers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [unordered-containers] Using hsc2hs version 0.68.10 found on system at: [unordered-containers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [unordered-containers] Using hscolour version 1.25 found on system at: [unordered-containers] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [unordered-containers] No jhc found [unordered-containers] Using ld found on system at: [unordered-containers] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [unordered-containers] No pkg-config found [unordered-containers] Using runghc version 9.10.3 found on system at: [unordered-containers] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [unordered-containers] Using strip version 2.44 found on system at: [unordered-containers] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [unordered-containers] Using tar found on system at: [unordered-containers] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [unordered-containers] No uhc found [unordered-containers] Phase: buildPhase [unordered-containers] Preprocessing library for unordered-containers-0.2.20.1... [unordered-containers] Building library for unordered-containers-0.2.20.1... [unordered-containers] Data/HashMap/Internal.hs:12:14-23: warning: []8;;https://errors.haskell.org/messages/GHC-53692\GHC-53692]8;;\] [-Wdeprecated-flags] [unordered-containers]  -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead [unordered-containers]  | [unordered-containers] 12 | {-# LANGUAGE TypeInType #-} [unordered-containers]  | ^^^^^^^^^^ [unordered-containers]  [unordered-containers] [1 of 9] Compiling Data.HashMap.Internal.Array ( Data/HashMap/Internal/Array.hs, dist/build/Data/HashMap/Internal/Array.o, dist/build/Data/HashMap/Internal/Array.dyn_o ) [unordered-containers] Data/HashMap/Internal/Array.hs:83:1-35: warning: []8;;https://errors.haskell.org/messages/GHC-66111\GHC-66111]8;;\] [-Wunused-imports] [unordered-containers]  The import of ‘Control.Applicative’ is redundant [unordered-containers]  except perhaps to import instances from ‘Control.Applicative’ [unordered-containers]  To import instances alone, use: import Control.Applicative() [unordered-containers]  | [unordered-containers] 83 | import Control.Applicative (liftA2) [unordered-containers]  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [unordered-containers]  [unordered-containers] [2 of 9] Compiling Data.HashMap.Internal.List ( Data/HashMap/Internal/List.hs, dist/build/Data/HashMap/Internal/List.o, dist/build/Data/HashMap/Internal/List.dyn_o ) [unordered-containers] [3 of 9] Compiling Data.HashMap.Internal ( Data/HashMap/Internal.hs, dist/build/Data/HashMap/Internal.o, dist/build/Data/HashMap/Internal.dyn_o ) [unordered-containers] [4 of 9] Compiling Data.HashMap.Internal.Debug ( Data/HashMap/Internal/Debug.hs, dist/build/Data/HashMap/Internal/Debug.o, dist/build/Data/HashMap/Internal/Debug.dyn_o ) [unordered-containers] [5 of 9] Compiling Data.HashMap.Internal.Strict ( Data/HashMap/Internal/Strict.hs, dist/build/Data/HashMap/Internal/Strict.o, dist/build/Data/HashMap/Internal/Strict.dyn_o ) [unordered-containers] [6 of 9] Compiling Data.HashSet.Internal ( Data/HashSet/Internal.hs, dist/build/Data/HashSet/Internal.o, dist/build/Data/HashSet/Internal.dyn_o ) [unordered-containers] [7 of 9] Compiling Data.HashSet ( Data/HashSet.hs, dist/build/Data/HashSet.o, dist/build/Data/HashSet.dyn_o ) [unordered-containers] [8 of 9] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, dist/build/Data/HashMap/Strict.o, dist/build/Data/HashMap/Strict.dyn_o ) [unordered-containers] [9 of 9] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, dist/build/Data/HashMap/Lazy.o, dist/build/Data/HashMap/Lazy.dyn_o ) [unordered-containers] Data/HashMap/Internal.hs:12:14-23: warning: []8;;https://errors.haskell.org/messages/GHC-53692\GHC-53692]8;;\] [-Wdeprecated-flags] [unordered-containers]  -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead [unordered-containers]  | [unordered-containers] 12 | {-# LANGUAGE TypeInType #-} [unordered-containers]  | ^^^^^^^^^^ [unordered-containers]  [unordered-containers] [1 of 9] Compiling Data.HashMap.Internal.Array ( Data/HashMap/Internal/Array.hs, dist/build/Data/HashMap/Internal/Array.p_o ) [unordered-containers] Data/HashMap/Internal/Array.hs:83:1-35: warning: []8;;https://errors.haskell.org/messages/GHC-66111\GHC-66111]8;;\] [-Wunused-imports] [unordered-containers]  The import of ‘Control.Applicative’ is redundant [unordered-containers]  except perhaps to import instances from ‘Control.Applicative’ [unordered-containers]  To import instances alone, use: import Control.Applicative() [unordered-containers]  | [unordered-containers] 83 | import Control.Applicative (liftA2) [unordered-containers]  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [unordered-containers]  [unordered-containers] [2 of 9] Compiling Data.HashMap.Internal.List ( Data/HashMap/Internal/List.hs, dist/build/Data/HashMap/Internal/List.p_o ) [unordered-containers] [3 of 9] Compiling Data.HashMap.Internal ( Data/HashMap/Internal.hs, dist/build/Data/HashMap/Internal.p_o ) [unordered-containers] [4 of 9] Compiling Data.HashMap.Internal.Debug ( Data/HashMap/Internal/Debug.hs, dist/build/Data/HashMap/Internal/Debug.p_o ) [unordered-containers] [5 of 9] Compiling Data.HashMap.Internal.Strict ( Data/HashMap/Internal/Strict.hs, dist/build/Data/HashMap/Internal/Strict.p_o ) [unordered-containers] [6 of 9] Compiling Data.HashSet.Internal ( Data/HashSet/Internal.hs, dist/build/Data/HashSet/Internal.p_o ) [unordered-containers] [7 of 9] Compiling Data.HashSet ( Data/HashSet.hs, dist/build/Data/HashSet.p_o ) [unordered-containers] [8 of 9] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, dist/build/Data/HashMap/Strict.p_o ) [unordered-containers] [9 of 9] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, dist/build/Data/HashMap/Lazy.p_o ) [unordered-containers] Preprocessing test suite 'unordered-containers-tests' for unordered-containers-0.2.20.1... [unordered-containers] Building test suite 'unordered-containers-tests' for unordered-containers-0.2.20.1... [unordered-containers] [1 of 9] Compiling Properties.List ( tests/Properties/List.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/List.o ) [unordered-containers] [2 of 9] Compiling Regressions ( tests/Regressions.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Regressions.o ) [unordered-containers] tests/Regressions.hs:93:16: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [unordered-containers]  In the use of ‘head’ [unordered-containers]  (imported from Prelude, but defined in GHC.Internal.List): [unordered-containers]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [unordered-containers]  | [unordered-containers] 93 | k = head keys [unordered-containers]  | ^^^^ [unordered-containers]  [unordered-containers] [3 of 9] Compiling Util.Key ( tests/Util/Key.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Util/Key.o ) [unordered-containers] [4 of 9] Compiling Strictness ( tests/Strictness.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Strictness.o ) [unordered-containers] tests/Strictness.hs:7:1: warning: []8;;https://errors.haskell.org/messages/GHC-66111\GHC-66111]8;;\] [-Wunused-imports] [unordered-containers]  The import of ‘Data.Foldable’ is redundant [unordered-containers]  except perhaps to import instances from ‘Data.Foldable’ [unordered-containers]  To import instances alone, use: import Data.Foldable() [unordered-containers]  | [unordered-containers] 7 | import Data.Foldable (foldl') [unordered-containers]  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [unordered-containers]  [unordered-containers] [5 of 9] Compiling Properties.HashSet ( tests/Properties/HashSet.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/HashSet.o ) [unordered-containers] [6 of 9] Compiling Properties.HashMapStrict ( tests/Properties/HashMapStrict.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/HashMapStrict.o ) [unordered-containers] [7 of 9] Compiling Properties.HashMapLazy ( tests/Properties/HashMapLazy.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/HashMapLazy.o ) [unordered-containers] [8 of 9] Compiling Properties ( tests/Properties.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties.o ) [unordered-containers] [9 of 9] Compiling Main ( tests/Main.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Main.o ) [unordered-containers] [10 of 10] Linking dist/build/unordered-containers-tests/unordered-containers-tests [unordered-containers] buildPhase completed in 1 minutes 37 seconds [unordered-containers] Phase: checkPhase [unordered-containers] Running 1 test suites... [unordered-containers] Test suite unordered-containers-tests: RUNNING... [unordered-containers] All [unordered-containers]  Properties [unordered-containers]  Data.HashMap.Lazy [unordered-containers]  instances [unordered-containers]  Eq [unordered-containers]  ==: OK (0.16s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  /=: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Ord [unordered-containers]  compare reflexive: OK (0.15s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compare transitive: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compare antisymmetric: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Ord => Eq: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Read/Show: OK (0.62s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Functor: OK (0.29s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Foldable: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Bifoldable [unordered-containers]  bifoldMap: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  bifoldr: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  bifoldl: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Hashable: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  empty [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 1 test. [unordered-containers]  singleton [unordered-containers]  valid: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  size: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  member: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  lookup: OK (0.19s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  !?: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert [unordered-containers]  model: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insertWith [unordered-containers]  insertWith: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  delete [unordered-containers]  model: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  adjust [unordered-containers]  model: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  update [unordered-containers]  model: OK (0.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  alter [unordered-containers]  model: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  alterF [unordered-containers]  model [unordered-containers]  []: OK (0.24s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  adjust: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insertWith: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  delete: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  lookup: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  isSubmapOf [unordered-containers]  model: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m ⊆ m: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m1 ⊆ m1 ∪ m2: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m1\m2 ⊆ m1: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m1 ∩ m2 ≠ ∅ ⇒ m1 ⊈ m1\m2 : OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests; 196 discarded. [unordered-containers]  delete k m ⊆ m: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests; 13 discarded. [unordered-containers]  m ⊈ delete k m : OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests; 13 discarded. [unordered-containers]  k ∉ m ⇒ m ⊆ insert k v m: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests; 14 discarded. [unordered-containers]  k ∉ m ⇒ insert k v m ⊈ m: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests; 17 discarded. [unordered-containers]  union [unordered-containers]  model: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  unionWith [unordered-containers]  model: OK (0.17s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  unionWithKey [unordered-containers]  model: OK (0.24s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  unions [unordered-containers]  model: OK (2.43s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (1.30s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  difference [unordered-containers]  model: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.22s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  differenceWith [unordered-containers]  model: OK (0.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  intersection [unordered-containers]  model: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  intersectionWith [unordered-containers]  model: OK (0.19s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  intersectionWithKey [unordered-containers]  model: OK (0.22s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compose [unordered-containers]  valid: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  map [unordered-containers]  model: OK (0.31s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  traverseWithKey [unordered-containers]  model: OK (0.30s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  mapKeys [unordered-containers]  model: OK (0.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (1.44s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldr: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldl: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldrWithKey: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldlWithKey: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldrWithKey': OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldlWithKey': OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldl': OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldr': OK (0.17s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldMapWithKey: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  filter [unordered-containers]  model: OK (0.16s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.22s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  filterWithKey [unordered-containers]  model: OK (5.24s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (3.62s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  mapMaybe [unordered-containers]  model: OK (0.31s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.16s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  mapMaybeWithKey [unordered-containers]  model: OK (5.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (3.26s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  elems: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  keys: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromList [unordered-containers]  model: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromListWith [unordered-containers]  model: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromListWithKey [unordered-containers]  model: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  toList: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Data.HashMap.Strict [unordered-containers]  instances [unordered-containers]  Eq [unordered-containers]  ==: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  /=: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Ord [unordered-containers]  compare reflexive: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compare transitive: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compare antisymmetric: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Ord => Eq: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Read/Show: OK (1.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Functor: OK (0.27s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Foldable: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Bifoldable [unordered-containers]  bifoldMap: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  bifoldr: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  bifoldl: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Hashable: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  empty [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 1 test. [unordered-containers]  singleton [unordered-containers]  valid: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  size: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  member: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  lookup: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  !?: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert [unordered-containers]  model: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insertWith [unordered-containers]  insertWith: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  delete [unordered-containers]  model: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  adjust [unordered-containers]  model: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  update [unordered-containers]  model: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  alter [unordered-containers]  model: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  alterF [unordered-containers]  model [unordered-containers]  []: OK (0.60s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  adjust: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert: OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insertWith: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  delete: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  lookup: OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.16s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  isSubmapOf [unordered-containers]  model: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m ⊆ m: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m1 ⊆ m1 ∪ m2: OK (0.15s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m1\m2 ⊆ m1: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  m1 ∩ m2 ≠ ∅ ⇒ m1 ⊈ m1\m2 : OK (0.14s) [unordered-containers]  +++ OK, passed 100 tests; 128 discarded. [unordered-containers]  delete k m ⊆ m: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests; 19 discarded. [unordered-containers]  m ⊈ delete k m : OK [unordered-containers]  +++ OK, passed 100 tests; 14 discarded. [unordered-containers]  k ∉ m ⇒ m ⊆ insert k v m: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests; 12 discarded. [unordered-containers]  k ∉ m ⇒ insert k v m ⊈ m: OK (0.18s) [unordered-containers]  +++ OK, passed 100 tests; 6 discarded. [unordered-containers]  union [unordered-containers]  model: OK (0.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  unionWith [unordered-containers]  model: OK (0.23s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.29s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  unionWithKey [unordered-containers]  model: OK (0.39s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.19s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  unions [unordered-containers]  model: OK (3.74s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (2.17s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  difference [unordered-containers]  model: OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  differenceWith [unordered-containers]  model: OK (0.25s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.18s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  intersection [unordered-containers]  model: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.13s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  intersectionWith [unordered-containers]  model: OK (0.30s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.23s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  intersectionWithKey [unordered-containers]  model: OK (0.46s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.30s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compose [unordered-containers]  valid: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  map [unordered-containers]  model: OK (0.38s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.25s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  traverseWithKey [unordered-containers]  model: OK (0.77s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.18s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  mapKeys [unordered-containers]  model: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (2.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldr: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldl: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldrWithKey: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldlWithKey: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldrWithKey': OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldlWithKey': OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldl': OK (0.14s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldr': OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldMapWithKey: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  filter [unordered-containers]  model: OK (0.37s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.35s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  filterWithKey [unordered-containers]  model: OK (4.15s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (3.23s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  mapMaybe [unordered-containers]  model: OK (0.43s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.26s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  mapMaybeWithKey [unordered-containers]  model: OK (4.46s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (3.27s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  elems: OK (0.14s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  keys: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromList [unordered-containers]  model: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromListWith [unordered-containers]  model: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromListWithKey [unordered-containers]  model: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  valid: OK (0.20s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  toList: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Data.HashSet [unordered-containers]  instances [unordered-containers]  Eq [unordered-containers]  ==: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  == permutations: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  /=: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Ord [unordered-containers]  compare reflexive: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compare transitive: OK (0.16s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  compare antisymmetric: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Ord => Eq: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Read/Show: OK (1.33s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Foldable: OK (0.11s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Hashable: OK (0.15s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  size: OK (0.07s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  member: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  delete: OK (0.20s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  union: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  map: OK (3.18s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldr: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  foldl': OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  filter: OK (3.05s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  toList: OK (0.27s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Data.HashMap.Internal.List [unordered-containers]  isPermutationBy: OK (0.20s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  isPermutationBy of different length: OK (0.05s) [unordered-containers]  +++ OK, passed 100 tests; 19 discarded. [unordered-containers]  pUnorderedCompare: OK (0.25s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  modelUnorderedCompare [unordered-containers]  reflexive: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  anti-symmetric: OK (0.06s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  transitive: OK (0.10s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  Regression tests [unordered-containers]  issue32: OK [unordered-containers]  issue39a: OK [unordered-containers]  issue39b: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  issue254 lazy: OK (0.14s) [unordered-containers]  issue254 strict: OK (0.03s) [unordered-containers]  issue379 [unordered-containers]  Lazy.unionWith: OK (0.02s) [unordered-containers]  union: OK [unordered-containers]  Strict.unionWith: OK [unordered-containers]  Strict.unionWithKey: OK [unordered-containers]  issue381 [unordered-containers]  mapMaybe: OK [unordered-containers]  mapMaybeWithKey: OK [unordered-containers]  issue382: OK (0.02s) [unordered-containers]  issue383: OK [unordered-containers]  issue420: OK [unordered-containers]  issue491 [unordered-containers]  1: OK [unordered-containers]  2: OK [unordered-containers]  3: OK [unordered-containers]  Strictness [unordered-containers]  HashMap.Strict [unordered-containers]  singleton is key-strict: OK (0.01s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  singleton is value-strict: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  member is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  lookup is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  lookupDefault is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  findWithDefault is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  ! is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  delete is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  adjust is key-strict: OK (0.02s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  adjust is value-strict: OK (0.09s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert is key-strict: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insert is value-strict: OK (0.03s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insertWith is key-strict: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  insertWith is value-strict: OK (0.12s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromList is key-strict: OK (0.04s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromList is value-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromListWith is key-strict: OK [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  fromListWith is value-strict: OK (0.08s) [unordered-containers]  +++ OK, passed 100 tests. [unordered-containers]  [unordered-containers] All 257 tests passed (6.46s) [unordered-containers] Test suite unordered-containers-tests: PASS [unordered-containers] Test suite logged to: [unordered-containers] dist/test/unordered-containers-0.2.20.1-unordered-containers-tests.log [unordered-containers] 1 of 1 test suites (1 of 1 test cases) passed. [unordered-containers] Phase: haddockPhase [unordered-containers] Preprocessing library for unordered-containers-0.2.20.1... [unordered-containers] Running Haddock on library for unordered-containers-0.2.20.1... [unordered-containers] Data/HashMap/Internal.hs:12:14-23: warning: []8;;https://errors.haskell.org/messages/GHC-53692\GHC-53692]8;;\] [-Wdeprecated-flags] [unordered-containers]  -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead [unordered-containers]  | [unordered-containers] 12 | {-# LANGUAGE TypeInType #-} [unordered-containers]  | ^^^^^^^^^^ [unordered-containers]  [unordered-containers] [1 of 9] Compiling Data.HashMap.Internal.Array ( Data/HashMap/Internal/Array.hs, nothing ) [unordered-containers] Data/HashMap/Internal/Array.hs:83:1-35: warning: []8;;https://errors.haskell.org/messages/GHC-66111\GHC-66111]8;;\] [-Wunused-imports] [unordered-containers]  The import of ‘Control.Applicative’ is redundant [unordered-containers]  except perhaps to import instances from ‘Control.Applicative’ [unordered-containers]  To import instances alone, use: import Control.Applicative() [unordered-containers]  | [unordered-containers] 83 | import Control.Applicative (liftA2) [unordered-containers]  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [unordered-containers]  [unordered-containers] [2 of 9] Compiling Data.HashMap.Internal.List ( Data/HashMap/Internal/List.hs, nothing ) [unordered-containers] [3 of 9] Compiling Data.HashMap.Internal ( Data/HashMap/Internal.hs, nothing ) [unordered-containers] [4 of 9] Compiling Data.HashMap.Internal.Debug ( Data/HashMap/Internal/Debug.hs, nothing ) [unordered-containers] [5 of 9] Compiling Data.HashMap.Internal.Strict ( Data/HashMap/Internal/Strict.hs, nothing ) [unordered-containers] [6 of 9] Compiling Data.HashSet.Internal ( Data/HashSet/Internal.hs, nothing ) [unordered-containers] [7 of 9] Compiling Data.HashSet ( Data/HashSet.hs, nothing ) [unordered-containers] [8 of 9] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, nothing ) [unordered-containers] [9 of 9] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, nothing ) [unordered-containers] Haddock coverage: [unordered-containers]  33% ( 16 / 48) in 'Data.HashMap.Internal.Array' [unordered-containers]  Missing documentation for: [unordered-containers]  Array (Data/HashMap/Internal/Array.hs:125) [unordered-containers]  MArray (Data/HashMap/Internal/Array.hs:157) [unordered-containers]  new_ (Data/HashMap/Internal/Array.hs:208) [unordered-containers]  singleton (Data/HashMap/Internal/Array.hs:225) [unordered-containers]  singletonM (Data/HashMap/Internal/Array.hs:229) [unordered-containers]  snoc (Data/HashMap/Internal/Array.hs:233) [unordered-containers]  pair (Data/HashMap/Internal/Array.hs:242) [unordered-containers]  length (Data/HashMap/Internal/Array.hs:154) [unordered-containers]  lengthM (Data/HashMap/Internal/Array.hs:162) [unordered-containers]  read (Data/HashMap/Internal/Array.hs:249) [unordered-containers]  write (Data/HashMap/Internal/Array.hs:255) [unordered-containers]  index (Data/HashMap/Internal/Array.hs:262) [unordered-containers]  indexM (Data/HashMap/Internal/Array.hs:274) [unordered-containers]  index# (Data/HashMap/Internal/Array.hs:268) [unordered-containers]  sameArray1 (Data/HashMap/Internal/Array.hs:140) [unordered-containers]  unsafeFreeze (Data/HashMap/Internal/Array.hs:280) [unordered-containers]  unsafeThaw (Data/HashMap/Internal/Array.hs:286) [unordered-containers]  unsafeSameArray (Data/HashMap/Internal/Array.hs:136) [unordered-containers]  run (Data/HashMap/Internal/Array.hs:292) [unordered-containers]  cloneM (Data/HashMap/Internal/Array.hs:314) [unordered-containers]  foldl (Data/HashMap/Internal/Array.hs:404) [unordered-containers]  foldl' (Data/HashMap/Internal/Array.hs:375) [unordered-containers]  foldr (Data/HashMap/Internal/Array.hs:394) [unordered-containers]  foldr' (Data/HashMap/Internal/Array.hs:385) [unordered-containers]  foldMap (Data/HashMap/Internal/Array.hs:417) [unordered-containers]  thaw (Data/HashMap/Internal/Array.hs:436) [unordered-containers]  map (Data/HashMap/Internal/Array.hs:461) [unordered-containers]  traverse (Data/HashMap/Internal/Array.hs:537) [unordered-containers]  traverse' (Data/HashMap/Internal/Array.hs:553) [unordered-containers]  toList (Data/HashMap/Internal/Array.hs:529) [unordered-containers]  fromList (Data/HashMap/Internal/Array.hs:494) [unordered-containers]  fromList' (Data/HashMap/Internal/Array.hs:506) [unordered-containers]  25% ( 1 / 4) in 'Data.HashMap.Internal.List' [unordered-containers]  Missing documentation for: [unordered-containers]  isPermutationBy (Data/HashMap/Internal/List.hs:40) [unordered-containers]  deleteBy (Data/HashMap/Internal/List.hs:83) [unordered-containers]  unorderedCompare (Data/HashMap/Internal/List.hs:68) [unordered-containers] Warning: 'Leaf' is ambiguous. It is defined [unordered-containers]  * at Data/HashMap/Internal.hs:227:7 [unordered-containers]  * at Data/HashMap/Internal.hs:187:1 [unordered-containers]  You may be able to disambiguate the identifier by qualifying it or [unordered-containers]  by specifying the type/value namespace explicitly. [unordered-containers]  Defaulting to the one defined at Data/HashMap/Internal.hs:187:1 [unordered-containers] Warning: 'at' is out of scope. [unordered-containers]  If you qualify the identifier, haddock can try to link it anyway. [unordered-containers]  88% ( 93 /105) in 'Data.HashMap.Internal' [unordered-containers]  Missing documentation for: [unordered-containers]  Leaf (Data/HashMap/Internal.hs:187) [unordered-containers]  intersectionWithKey# (Data/HashMap/Internal.hs:1859) [unordered-containers]  updateOrConcatWithKey (Data/HashMap/Internal.hs:2373) [unordered-containers]  equalKeys (Data/HashMap/Internal.hs:513) [unordered-containers]  equalKeys1 (Data/HashMap/Internal.hs:497) [unordered-containers]  lookupRecordCollision (Data/HashMap/Internal.hs:680) [unordered-containers]  LookupRes (Data/HashMap/Internal.hs:659) [unordered-containers]  lookupResToMaybe (Data/HashMap/Internal.hs:662) [unordered-containers]  insert' (Data/HashMap/Internal.hs:808) [unordered-containers]  delete' (Data/HashMap/Internal.hs:1126) [unordered-containers]  insertNewKey (Data/HashMap/Internal.hs:850) [unordered-containers]  insertKeyExists (Data/HashMap/Internal.hs:885) [unordered-containers]  50% ( 3 / 6) in 'Data.HashMap.Internal.Debug' [unordered-containers]  Missing documentation for: [unordered-containers]  valid (Data/HashMap/Internal/Debug.hs:98) [unordered-containers]  Validity (Data/HashMap/Internal/Debug.hs:43) [unordered-containers]  SubHashPath (Data/HashMap/Internal/Debug.hs:75) [unordered-containers] Warning: 'lookup' is out of scope. [unordered-containers]  If you qualify the identifier, haddock can try to link it anyway. [unordered-containers] Warning: 'at' is out of scope. [unordered-containers]  If you qualify the identifier, haddock can try to link it anyway. [unordered-containers]  100% ( 67 / 67) in 'Data.HashMap.Internal.Strict' [unordered-containers] Warning: 'HashSet' is ambiguous. It is defined [unordered-containers]  * at Data/HashSet/Internal.hs:112:21 [unordered-containers]  * at Data/HashSet/Internal.hs:112:1 [unordered-containers]  You may be able to disambiguate the identifier by qualifying it or [unordered-containers]  by specifying the type/value namespace explicitly. [unordered-containers]  Defaulting to the one defined at Data/HashSet/Internal.hs:112:1 [unordered-containers]  100% ( 35 / 35) in 'Data.HashSet.Internal' [unordered-containers] Warning: 'HashSet' is ambiguous. It is defined [unordered-containers]  * at Data/HashSet/Internal.hs:112:21 [unordered-containers]  * at Data/HashSet/Internal.hs:112:1 [unordered-containers]  You may be able to disambiguate the identifier by qualifying it or [unordered-containers]  by specifying the type/value namespace explicitly. [unordered-containers]  Defaulting to the one defined at Data/HashSet/Internal.hs:112:1 [unordered-containers]  100% ( 32 / 32) in 'Data.HashSet' [unordered-containers]  100% ( 69 / 69) in 'Data.HashMap.Strict' [unordered-containers]  100% ( 69 / 69) in 'Data.HashMap.Lazy' [unordered-containers] Documentation created: dist/doc/html/unordered-containers/, [unordered-containers] dist/doc/html/unordered-containers/unordered-containers.txt [unordered-containers] Preprocessing test suite 'unordered-containers-tests' for unordered-containers-0.2.20.1... [unordered-containers] Phase: installPhase [unordered-containers] Installing library in /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [unordered-containers] Phase: fixupPhase [unordered-containers] shrinking RPATHs of ELF executables and libraries in /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1 [unordered-containers] shrinking /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSunordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf-ghc9.10.3.so [unordered-containers] checking for references to /build/ in /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1... [unordered-containers] patching script interpreter paths in /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1 [unordered-containers] stripping (with command strip and flags -S -p) in /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1/lib [unordered-containers] shrinking RPATHs of ELF executables and libraries in /nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc [unordered-containers] checking for references to /build/ in /nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc... [unordered-containers] patching script interpreter paths in /nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1 [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/5mmx8gm8jsg9rh4w354js5i8am1gw13p-unordered-containers-0.2.20.1-doc /nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1 [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/anvw6q6502w539fmmxkj9ypzh19nldni-unordered-containers-0.2.20.1' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 11 of 19 built, 193 of 193 downloaded from cache Building quickcheck-instances [quickcheck-instances] Phase: setupCompilerEnvironmentPhase [quickcheck-instances] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [quickcheck-instances] Phase: unpackPhase [quickcheck-instances] unpacking source archive /nix/store/ix9xgbag8470whifn4mzlsji4yz8vrc1-quickcheck-instances-0.3.33.tar.gz [quickcheck-instances] source root is quickcheck-instances-0.3.33 [quickcheck-instances] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "quickcheck-instances-0.3.33/test/Tests.hs" [quickcheck-instances] Phase: patchPhase [quickcheck-instances] Replace Cabal file with edited version from mirror://hackage/quickcheck-instances-0.3.33/revision/1.cabal. [quickcheck-instances] Phase: compileBuildDriverPhase [quickcheck-instances] setupCompileFlags: -package-db=/build/tmp.Stu7nxCuAS/setup-package.conf.d -threaded [quickcheck-instances] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.Stu7nxCuAS/Main.o ) [quickcheck-instances] [2 of 2] Linking Setup [quickcheck-instances] Phase: updateAutotoolsGnuConfigScriptsPhase [quickcheck-instances] Phase: configurePhase [quickcheck-instances] configureFlags: --verbose --prefix=/nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc/share/doc/quickcheck-instances-0.3.33 --with-gcc=gcc --package-db=/build/tmp.Stu7nxCuAS/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib [quickcheck-instances] Using Parsec parser [quickcheck-instances] Configuring quickcheck-instances-0.3.33... [quickcheck-instances] Dependency OneTuple >=0.4.2 && <0.5: using OneTuple-0.4.2 [quickcheck-instances] Dependency QuickCheck >=2.14.2 && <2.16.1: using QuickCheck-2.15.0.1 [quickcheck-instances] Dependency array >=0.5.3.0 && <0.6: using array-0.5.8.0 [quickcheck-instances] Dependency base >=4.12.0.0 && <4.22: using base-4.20.2.0 [quickcheck-instances] Dependency bytestring >=0.10.8.2 && <0.13: using bytestring-0.12.2.0 [quickcheck-instances] Dependency case-insensitive >=1.2.0.11 && <1.3: using case-insensitive-1.2.1.0 [quickcheck-instances] Dependency containers >=0.6.0.1 && <0.8: using containers-0.7 [quickcheck-instances] Dependency data-fix >=0.3 && <0.4: using data-fix-0.3.4 [quickcheck-instances] Dependency hashable >=1.4.4.0 && <1.6: using hashable-1.5.0.0 [quickcheck-instances] Dependency integer-logarithms >=1.0.3.1 && <1.1: using [quickcheck-instances] integer-logarithms-1.0.4 [quickcheck-instances] Dependency old-time >=1.1.0.0 && <1.2: using old-time-1.1.0.4 [quickcheck-instances] Dependency primitive >=0.9.0.0 && <0.10: using primitive-0.9.1.0 [quickcheck-instances] Dependency scientific >=0.3.8.0 && <0.4: using scientific-0.3.8.0 [quickcheck-instances] Dependency splitmix >=0.1.0.5 && <0.2: using splitmix-0.1.3.1 [quickcheck-instances] Dependency strict >=0.5 && <0.6: using strict-0.5.1 [quickcheck-instances] Dependency tagged >=0.8.8 && <0.9: using tagged-0.8.9 [quickcheck-instances] Dependency text >=1.2.3.0 && <1.3 || >=2.0 && <2.2: using text-2.1.3 [quickcheck-instances] Dependency text-short >=0.1.4 && <0.2: using text-short-0.1.6 [quickcheck-instances] Dependency these >=1.2.1 && <1.3: using these-1.2.1 [quickcheck-instances] Dependency time-compat >=1.9.4 && <1.10: using time-compat-1.9.8 [quickcheck-instances] Dependency transformers >=0.5.6.2 && <0.7: using transformers-0.6.1.1 [quickcheck-instances] Dependency unordered-containers >=0.2.20 && <0.3: using [quickcheck-instances] unordered-containers-0.2.20.1 [quickcheck-instances] Dependency uuid-types >=1.0.6 && <1.1: using uuid-types-1.0.6 [quickcheck-instances] Dependency vector >=0.13.2.0 && <0.14: using vector-0.13.2.0 [quickcheck-instances] Dependency QuickCheck: using QuickCheck-2.15.0.1 [quickcheck-instances] Dependency base: using base-4.20.2.0 [quickcheck-instances] Dependency containers: using containers-0.7 [quickcheck-instances] Dependency primitive: using primitive-0.9.1.0 [quickcheck-instances] Dependency quickcheck-instances: using quickcheck-instances-0.3.33 [quickcheck-instances] Dependency tagged: using tagged-0.8.9 [quickcheck-instances] Dependency uuid-types: using uuid-types-1.0.6 [quickcheck-instances] Source component graph: [quickcheck-instances]  component lib [quickcheck-instances]  component test:self-test dependency lib [quickcheck-instances] Configured component graph: [quickcheck-instances]  component quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances]  include OneTuple-0.4.2-FyDXXJxd68Y9jTC7VxsRZq [quickcheck-instances]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [quickcheck-instances]  include array-0.5.8.0-78a1 [quickcheck-instances]  include base-4.20.2.0-acb8 [quickcheck-instances]  include bytestring-0.12.2.0-04d5 [quickcheck-instances]  include case-insensitive-1.2.1.0-Ctc9JutduFF2D0dK2Xysr7 [quickcheck-instances]  include containers-0.7-a3f6 [quickcheck-instances]  include data-fix-0.3.4-9yERijClVHm7aLi2wKvMUx [quickcheck-instances]  include hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [quickcheck-instances]  include integer-logarithms-1.0.4-JAvo9izUTxA8wBq9muGdU8 [quickcheck-instances]  include old-time-1.1.0.4-KdoNf3UNdMG7Q2AiOvfcA8 [quickcheck-instances]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [quickcheck-instances]  include scientific-0.3.8.0-IpVOxD0V8927oVTYb6GgE [quickcheck-instances]  include splitmix-0.1.3.1-1NkY18pzkc6CKWzhmiYn4u [quickcheck-instances]  include strict-0.5.1-JyokuSJrXwYGeFesEkaEwG [quickcheck-instances]  include tagged-0.8.9-C6nZztreY4T8aonnaC6mrs [quickcheck-instances]  include text-2.1.3-e138 [quickcheck-instances]  include text-short-0.1.6-r1vhOAgHHr3TnFZaYcqZr [quickcheck-instances]  include these-1.2.1-J38nvrZc9Pg6DEkxcKUfl5 [quickcheck-instances]  include time-compat-1.9.8-7kyDhbeIppD4AgHq2X4xCx [quickcheck-instances]  include transformers-0.6.1.1-74e0 [quickcheck-instances]  include unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [quickcheck-instances]  include uuid-types-1.0.6-1jxbkc1uSfzG2mjp9WkBtZ [quickcheck-instances]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [quickcheck-instances]  component quickcheck-instances-0.3.33-CWXsN6DMjs1E6LMHqJuRhG-self-test [quickcheck-instances]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [quickcheck-instances]  include base-4.20.2.0-acb8 [quickcheck-instances]  include containers-0.7-a3f6 [quickcheck-instances]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [quickcheck-instances]  include quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances]  include tagged-0.8.9-C6nZztreY4T8aonnaC6mrs [quickcheck-instances]  include uuid-types-1.0.6-1jxbkc1uSfzG2mjp9WkBtZ [quickcheck-instances] Linked component graph: [quickcheck-instances]  unit quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances]  include OneTuple-0.4.2-FyDXXJxd68Y9jTC7VxsRZq [quickcheck-instances]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [quickcheck-instances]  include array-0.5.8.0-78a1 [quickcheck-instances]  include base-4.20.2.0-acb8 [quickcheck-instances]  include bytestring-0.12.2.0-04d5 [quickcheck-instances]  include case-insensitive-1.2.1.0-Ctc9JutduFF2D0dK2Xysr7 [quickcheck-instances]  include containers-0.7-a3f6 [quickcheck-instances]  include data-fix-0.3.4-9yERijClVHm7aLi2wKvMUx [quickcheck-instances]  include hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [quickcheck-instances]  include integer-logarithms-1.0.4-JAvo9izUTxA8wBq9muGdU8 [quickcheck-instances]  include old-time-1.1.0.4-KdoNf3UNdMG7Q2AiOvfcA8 [quickcheck-instances]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [quickcheck-instances]  include scientific-0.3.8.0-IpVOxD0V8927oVTYb6GgE [quickcheck-instances]  include splitmix-0.1.3.1-1NkY18pzkc6CKWzhmiYn4u [quickcheck-instances]  include strict-0.5.1-JyokuSJrXwYGeFesEkaEwG [quickcheck-instances]  include tagged-0.8.9-C6nZztreY4T8aonnaC6mrs [quickcheck-instances]  include text-2.1.3-e138 [quickcheck-instances]  include text-short-0.1.6-r1vhOAgHHr3TnFZaYcqZr [quickcheck-instances]  include these-1.2.1-J38nvrZc9Pg6DEkxcKUfl5 [quickcheck-instances]  include time-compat-1.9.8-7kyDhbeIppD4AgHq2X4xCx [quickcheck-instances]  include transformers-0.6.1.1-74e0 [quickcheck-instances]  include unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [quickcheck-instances]  include uuid-types-1.0.6-1jxbkc1uSfzG2mjp9WkBtZ [quickcheck-instances]  include vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [quickcheck-instances]  Test.QuickCheck.Instances=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances,Test.QuickCheck.Instances.Array=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Array,Test.QuickCheck.Instances.Array.Byte=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Array.Byte,Test.QuickCheck.Instances.ByteString=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.ByteString,Test.QuickCheck.Instances.CaseInsensitive=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.CaseInsensitive,Test.QuickCheck.Instances.Containers=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Containers,Test.QuickCheck.Instances.DataFix=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.DataFix,Test.QuickCheck.Instances.Hashable=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Hashable,Test.QuickCheck.Instances.Natural=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Natural,Test.QuickCheck.Instances.OldTime=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.OldTime,Test.QuickCheck.Instances.Primitive=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Primitive,Test.QuickCheck.Instances.Scientific=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Scientific,Test.QuickCheck.Instances.Semigroup=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Semigroup,Test.QuickCheck.Instances.Solo=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Solo,Test.QuickCheck.Instances.Strict=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Strict,Test.QuickCheck.Instances.Tagged=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Tagged,Test.QuickCheck.Instances.Text=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Text,Test.QuickCheck.Instances.Text.Short=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Text.Short,Test.QuickCheck.Instances.These=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.These,Test.QuickCheck.Instances.Time=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Time,Test.QuickCheck.Instances.Transformer=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Transformer,Test.QuickCheck.Instances.UUID=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.UUID,Test.QuickCheck.Instances.UnorderedContainers=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.UnorderedContainers,Test.QuickCheck.Instances.Vector=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Vector,Test.QuickCheck.Instances.Void=quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH:Test.QuickCheck.Instances.Void [quickcheck-instances]  unit quickcheck-instances-0.3.33-CWXsN6DMjs1E6LMHqJuRhG-self-test [quickcheck-instances]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [quickcheck-instances]  include base-4.20.2.0-acb8 [quickcheck-instances]  include containers-0.7-a3f6 [quickcheck-instances]  include primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [quickcheck-instances]  include quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances]  include tagged-0.8.9-C6nZztreY4T8aonnaC6mrs [quickcheck-instances]  include uuid-types-1.0.6-1jxbkc1uSfzG2mjp9WkBtZ [quickcheck-instances] Ready component graph: [quickcheck-instances]  definite quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances]  depends OneTuple-0.4.2-FyDXXJxd68Y9jTC7VxsRZq [quickcheck-instances]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [quickcheck-instances]  depends array-0.5.8.0-78a1 [quickcheck-instances]  depends base-4.20.2.0-acb8 [quickcheck-instances]  depends bytestring-0.12.2.0-04d5 [quickcheck-instances]  depends case-insensitive-1.2.1.0-Ctc9JutduFF2D0dK2Xysr7 [quickcheck-instances]  depends containers-0.7-a3f6 [quickcheck-instances]  depends data-fix-0.3.4-9yERijClVHm7aLi2wKvMUx [quickcheck-instances]  depends hashable-1.5.0.0-2Qh22RqWcWZLH1ENrPtkux [quickcheck-instances]  depends integer-logarithms-1.0.4-JAvo9izUTxA8wBq9muGdU8 [quickcheck-instances]  depends old-time-1.1.0.4-KdoNf3UNdMG7Q2AiOvfcA8 [quickcheck-instances]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [quickcheck-instances]  depends scientific-0.3.8.0-IpVOxD0V8927oVTYb6GgE [quickcheck-instances]  depends splitmix-0.1.3.1-1NkY18pzkc6CKWzhmiYn4u [quickcheck-instances]  depends strict-0.5.1-JyokuSJrXwYGeFesEkaEwG [quickcheck-instances]  depends tagged-0.8.9-C6nZztreY4T8aonnaC6mrs [quickcheck-instances]  depends text-2.1.3-e138 [quickcheck-instances]  depends text-short-0.1.6-r1vhOAgHHr3TnFZaYcqZr [quickcheck-instances]  depends these-1.2.1-J38nvrZc9Pg6DEkxcKUfl5 [quickcheck-instances]  depends time-compat-1.9.8-7kyDhbeIppD4AgHq2X4xCx [quickcheck-instances]  depends transformers-0.6.1.1-74e0 [quickcheck-instances]  depends unordered-containers-0.2.20.1-IsJ5aT5jnQ3KSsNAnBcjlf [quickcheck-instances]  depends uuid-types-1.0.6-1jxbkc1uSfzG2mjp9WkBtZ [quickcheck-instances]  depends vector-0.13.2.0-C7udN8tjbRJSFYBuRqTlg [quickcheck-instances]  definite quickcheck-instances-0.3.33-CWXsN6DMjs1E6LMHqJuRhG-self-test [quickcheck-instances]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [quickcheck-instances]  depends base-4.20.2.0-acb8 [quickcheck-instances]  depends containers-0.7-a3f6 [quickcheck-instances]  depends primitive-0.9.1.0-IS5mNjix18uGyoj1SAdDIy [quickcheck-instances]  depends quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances]  depends tagged-0.8.9-C6nZztreY4T8aonnaC6mrs [quickcheck-instances]  depends uuid-types-1.0.6-1jxbkc1uSfzG2mjp9WkBtZ [quickcheck-instances] Using Cabal-3.12.1.0 compiled by ghc-9.10 [quickcheck-instances] Using compiler: ghc-9.10.3 [quickcheck-instances] Using install prefix: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33 [quickcheck-instances] Executables installed in: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/bin [quickcheck-instances] Libraries installed in: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances] Dynamic Libraries installed in: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [quickcheck-instances] Private executables installed in: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/libexec/x86_64-linux-ghc-9.10.3-5702/quickcheck-instances-0.3.33 [quickcheck-instances] Data files installed in: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/share/x86_64-linux-ghc-9.10.3-5702/quickcheck-instances-0.3.33 [quickcheck-instances] Documentation installed in: [quickcheck-instances] /nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc/share/doc/quickcheck-instances-0.3.33 [quickcheck-instances] Configuration files installed in: [quickcheck-instances] /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/etc [quickcheck-instances] No alex found [quickcheck-instances] Using ar found on system at: [quickcheck-instances] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [quickcheck-instances] No c2hs found [quickcheck-instances] No cpphs found [quickcheck-instances] No doctest found [quickcheck-instances] Using gcc version 14.3.0 given by user at: [quickcheck-instances] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [quickcheck-instances] Using ghc version 9.10.3 found on system at: [quickcheck-instances] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [quickcheck-instances] Using ghc-pkg version 9.10.3 found on system at: [quickcheck-instances] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [quickcheck-instances] No ghcjs found [quickcheck-instances] No ghcjs-pkg found [quickcheck-instances] No greencard found [quickcheck-instances] Using haddock version 2.31.1 found on system at: [quickcheck-instances] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [quickcheck-instances] No happy found [quickcheck-instances] Using haskell-suite found on system at: haskell-suite-dummy-location [quickcheck-instances] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [quickcheck-instances] No hmake found [quickcheck-instances] Using hpc version 0.69 found on system at: [quickcheck-instances] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [quickcheck-instances] Using hsc2hs version 0.68.10 found on system at: [quickcheck-instances] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [quickcheck-instances] Using hscolour version 1.25 found on system at: [quickcheck-instances] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [quickcheck-instances] No jhc found [quickcheck-instances] Using ld found on system at: [quickcheck-instances] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [quickcheck-instances] No pkg-config found [quickcheck-instances] Using runghc version 9.10.3 found on system at: [quickcheck-instances] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [quickcheck-instances] Using strip version 2.44 found on system at: [quickcheck-instances] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [quickcheck-instances] Using tar found on system at: [quickcheck-instances] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [quickcheck-instances] No uhc found [quickcheck-instances] Phase: buildPhase [quickcheck-instances] Preprocessing library for quickcheck-instances-0.3.33... [quickcheck-instances] Building library for quickcheck-instances-0.3.33... [quickcheck-instances] [ 1 of 26] Compiling Test.QuickCheck.Instances.Containers ( src/Test/QuickCheck/Instances/Containers.hs, dist/build/Test/QuickCheck/Instances/Containers.o, dist/build/Test/QuickCheck/Instances/Containers.dyn_o ) [quickcheck-instances] [ 2 of 26] Compiling Test.QuickCheck.Instances.CustomPrelude ( src/Test/QuickCheck/Instances/CustomPrelude.hs, dist/build/Test/QuickCheck/Instances/CustomPrelude.o, dist/build/Test/QuickCheck/Instances/CustomPrelude.dyn_o ) [quickcheck-instances] [ 3 of 26] Compiling Test.QuickCheck.Instances.CaseInsensitive ( src/Test/QuickCheck/Instances/CaseInsensitive.hs, dist/build/Test/QuickCheck/Instances/CaseInsensitive.o, dist/build/Test/QuickCheck/Instances/CaseInsensitive.dyn_o ) [quickcheck-instances] [ 4 of 26] Compiling Test.QuickCheck.Instances.ByteString ( src/Test/QuickCheck/Instances/ByteString.hs, dist/build/Test/QuickCheck/Instances/ByteString.o, dist/build/Test/QuickCheck/Instances/ByteString.dyn_o ) [quickcheck-instances] [ 5 of 26] Compiling Test.QuickCheck.Instances.Array ( src/Test/QuickCheck/Instances/Array.hs, dist/build/Test/QuickCheck/Instances/Array.o, dist/build/Test/QuickCheck/Instances/Array.dyn_o ) [quickcheck-instances] [ 6 of 26] Compiling Test.QuickCheck.Instances.DataFix ( src/Test/QuickCheck/Instances/DataFix.hs, dist/build/Test/QuickCheck/Instances/DataFix.o, dist/build/Test/QuickCheck/Instances/DataFix.dyn_o ) [quickcheck-instances] [ 7 of 26] Compiling Test.QuickCheck.Instances.Hashable ( src/Test/QuickCheck/Instances/Hashable.hs, dist/build/Test/QuickCheck/Instances/Hashable.o, dist/build/Test/QuickCheck/Instances/Hashable.dyn_o ) [quickcheck-instances] [ 8 of 26] Compiling Test.QuickCheck.Instances.Natural ( src/Test/QuickCheck/Instances/Natural.hs, dist/build/Test/QuickCheck/Instances/Natural.o, dist/build/Test/QuickCheck/Instances/Natural.dyn_o ) [quickcheck-instances] [ 9 of 26] Compiling Test.QuickCheck.Instances.OldTime ( src/Test/QuickCheck/Instances/OldTime.hs, dist/build/Test/QuickCheck/Instances/OldTime.o, dist/build/Test/QuickCheck/Instances/OldTime.dyn_o ) [quickcheck-instances] [10 of 26] Compiling Test.QuickCheck.Instances.Primitive ( src/Test/QuickCheck/Instances/Primitive.hs, dist/build/Test/QuickCheck/Instances/Primitive.o, dist/build/Test/QuickCheck/Instances/Primitive.dyn_o ) [quickcheck-instances] [11 of 26] Compiling Test.QuickCheck.Instances.Array.Byte ( src/Test/QuickCheck/Instances/Array/Byte.hs, dist/build/Test/QuickCheck/Instances/Array/Byte.o, dist/build/Test/QuickCheck/Instances/Array/Byte.dyn_o ) [quickcheck-instances] [12 of 26] Compiling Test.QuickCheck.Instances.Scientific ( src/Test/QuickCheck/Instances/Scientific.hs, dist/build/Test/QuickCheck/Instances/Scientific.o, dist/build/Test/QuickCheck/Instances/Scientific.dyn_o ) [quickcheck-instances] [13 of 26] Compiling Test.QuickCheck.Instances.Semigroup ( src/Test/QuickCheck/Instances/Semigroup.hs, dist/build/Test/QuickCheck/Instances/Semigroup.o, dist/build/Test/QuickCheck/Instances/Semigroup.dyn_o ) [quickcheck-instances] [14 of 26] Compiling Test.QuickCheck.Instances.Solo ( src/Test/QuickCheck/Instances/Solo.hs, dist/build/Test/QuickCheck/Instances/Solo.o, dist/build/Test/QuickCheck/Instances/Solo.dyn_o ) [quickcheck-instances] [15 of 26] Compiling Test.QuickCheck.Instances.Strict ( src/Test/QuickCheck/Instances/Strict.hs, dist/build/Test/QuickCheck/Instances/Strict.o, dist/build/Test/QuickCheck/Instances/Strict.dyn_o ) [quickcheck-instances] [16 of 26] Compiling Test.QuickCheck.Instances.Tagged ( src/Test/QuickCheck/Instances/Tagged.hs, dist/build/Test/QuickCheck/Instances/Tagged.o, dist/build/Test/QuickCheck/Instances/Tagged.dyn_o ) [quickcheck-instances] [17 of 26] Compiling Test.QuickCheck.Instances.Text ( src/Test/QuickCheck/Instances/Text.hs, dist/build/Test/QuickCheck/Instances/Text.o, dist/build/Test/QuickCheck/Instances/Text.dyn_o ) [quickcheck-instances] [18 of 26] Compiling Test.QuickCheck.Instances.Text.Short ( src/Test/QuickCheck/Instances/Text/Short.hs, dist/build/Test/QuickCheck/Instances/Text/Short.o, dist/build/Test/QuickCheck/Instances/Text/Short.dyn_o ) [quickcheck-instances] [19 of 26] Compiling Test.QuickCheck.Instances.These ( src/Test/QuickCheck/Instances/These.hs, dist/build/Test/QuickCheck/Instances/These.o, dist/build/Test/QuickCheck/Instances/These.dyn_o ) [quickcheck-instances] [20 of 26] Compiling Test.QuickCheck.Instances.Time ( src/Test/QuickCheck/Instances/Time.hs, dist/build/Test/QuickCheck/Instances/Time.o, dist/build/Test/QuickCheck/Instances/Time.dyn_o ) [quickcheck-instances] [21 of 26] Compiling Test.QuickCheck.Instances.Transformer ( src/Test/QuickCheck/Instances/Transformer.hs, dist/build/Test/QuickCheck/Instances/Transformer.o, dist/build/Test/QuickCheck/Instances/Transformer.dyn_o ) [quickcheck-instances] [22 of 26] Compiling Test.QuickCheck.Instances.UUID ( src/Test/QuickCheck/Instances/UUID.hs, dist/build/Test/QuickCheck/Instances/UUID.o, dist/build/Test/QuickCheck/Instances/UUID.dyn_o ) [quickcheck-instances] [23 of 26] Compiling Test.QuickCheck.Instances.UnorderedContainers ( src/Test/QuickCheck/Instances/UnorderedContainers.hs, dist/build/Test/QuickCheck/Instances/UnorderedContainers.o, dist/build/Test/QuickCheck/Instances/UnorderedContainers.dyn_o ) [quickcheck-instances] [24 of 26] Compiling Test.QuickCheck.Instances.Vector ( src/Test/QuickCheck/Instances/Vector.hs, dist/build/Test/QuickCheck/Instances/Vector.o, dist/build/Test/QuickCheck/Instances/Vector.dyn_o ) [quickcheck-instances] [25 of 26] Compiling Test.QuickCheck.Instances.Void ( src/Test/QuickCheck/Instances/Void.hs, dist/build/Test/QuickCheck/Instances/Void.o, dist/build/Test/QuickCheck/Instances/Void.dyn_o ) [quickcheck-instances] [26 of 26] Compiling Test.QuickCheck.Instances ( src/Test/QuickCheck/Instances.hs, dist/build/Test/QuickCheck/Instances.o, dist/build/Test/QuickCheck/Instances.dyn_o ) [quickcheck-instances] [ 1 of 26] Compiling Test.QuickCheck.Instances.Containers ( src/Test/QuickCheck/Instances/Containers.hs, dist/build/Test/QuickCheck/Instances/Containers.p_o ) [quickcheck-instances] [ 2 of 26] Compiling Test.QuickCheck.Instances.CustomPrelude ( src/Test/QuickCheck/Instances/CustomPrelude.hs, dist/build/Test/QuickCheck/Instances/CustomPrelude.p_o ) [quickcheck-instances] [ 3 of 26] Compiling Test.QuickCheck.Instances.CaseInsensitive ( src/Test/QuickCheck/Instances/CaseInsensitive.hs, dist/build/Test/QuickCheck/Instances/CaseInsensitive.p_o ) [quickcheck-instances] [ 4 of 26] Compiling Test.QuickCheck.Instances.ByteString ( src/Test/QuickCheck/Instances/ByteString.hs, dist/build/Test/QuickCheck/Instances/ByteString.p_o ) [quickcheck-instances] [ 5 of 26] Compiling Test.QuickCheck.Instances.Array ( src/Test/QuickCheck/Instances/Array.hs, dist/build/Test/QuickCheck/Instances/Array.p_o ) [quickcheck-instances] [ 6 of 26] Compiling Test.QuickCheck.Instances.DataFix ( src/Test/QuickCheck/Instances/DataFix.hs, dist/build/Test/QuickCheck/Instances/DataFix.p_o ) [quickcheck-instances] [ 7 of 26] Compiling Test.QuickCheck.Instances.Hashable ( src/Test/QuickCheck/Instances/Hashable.hs, dist/build/Test/QuickCheck/Instances/Hashable.p_o ) [quickcheck-instances] [ 8 of 26] Compiling Test.QuickCheck.Instances.Natural ( src/Test/QuickCheck/Instances/Natural.hs, dist/build/Test/QuickCheck/Instances/Natural.p_o ) [quickcheck-instances] [ 9 of 26] Compiling Test.QuickCheck.Instances.OldTime ( src/Test/QuickCheck/Instances/OldTime.hs, dist/build/Test/QuickCheck/Instances/OldTime.p_o ) [quickcheck-instances] [10 of 26] Compiling Test.QuickCheck.Instances.Primitive ( src/Test/QuickCheck/Instances/Primitive.hs, dist/build/Test/QuickCheck/Instances/Primitive.p_o ) [quickcheck-instances] [11 of 26] Compiling Test.QuickCheck.Instances.Array.Byte ( src/Test/QuickCheck/Instances/Array/Byte.hs, dist/build/Test/QuickCheck/Instances/Array/Byte.p_o ) [quickcheck-instances] [12 of 26] Compiling Test.QuickCheck.Instances.Scientific ( src/Test/QuickCheck/Instances/Scientific.hs, dist/build/Test/QuickCheck/Instances/Scientific.p_o ) [quickcheck-instances] [13 of 26] Compiling Test.QuickCheck.Instances.Semigroup ( src/Test/QuickCheck/Instances/Semigroup.hs, dist/build/Test/QuickCheck/Instances/Semigroup.p_o ) [quickcheck-instances] [14 of 26] Compiling Test.QuickCheck.Instances.Solo ( src/Test/QuickCheck/Instances/Solo.hs, dist/build/Test/QuickCheck/Instances/Solo.p_o ) [quickcheck-instances] [15 of 26] Compiling Test.QuickCheck.Instances.Strict ( src/Test/QuickCheck/Instances/Strict.hs, dist/build/Test/QuickCheck/Instances/Strict.p_o ) [quickcheck-instances] [16 of 26] Compiling Test.QuickCheck.Instances.Tagged ( src/Test/QuickCheck/Instances/Tagged.hs, dist/build/Test/QuickCheck/Instances/Tagged.p_o ) [quickcheck-instances] [17 of 26] Compiling Test.QuickCheck.Instances.Text ( src/Test/QuickCheck/Instances/Text.hs, dist/build/Test/QuickCheck/Instances/Text.p_o ) [quickcheck-instances] [18 of 26] Compiling Test.QuickCheck.Instances.Text.Short ( src/Test/QuickCheck/Instances/Text/Short.hs, dist/build/Test/QuickCheck/Instances/Text/Short.p_o ) [quickcheck-instances] [19 of 26] Compiling Test.QuickCheck.Instances.These ( src/Test/QuickCheck/Instances/These.hs, dist/build/Test/QuickCheck/Instances/These.p_o ) [quickcheck-instances] [20 of 26] Compiling Test.QuickCheck.Instances.Time ( src/Test/QuickCheck/Instances/Time.hs, dist/build/Test/QuickCheck/Instances/Time.p_o ) [quickcheck-instances] [21 of 26] Compiling Test.QuickCheck.Instances.Transformer ( src/Test/QuickCheck/Instances/Transformer.hs, dist/build/Test/QuickCheck/Instances/Transformer.p_o ) [quickcheck-instances] [22 of 26] Compiling Test.QuickCheck.Instances.UUID ( src/Test/QuickCheck/Instances/UUID.hs, dist/build/Test/QuickCheck/Instances/UUID.p_o ) [quickcheck-instances] [23 of 26] Compiling Test.QuickCheck.Instances.UnorderedContainers ( src/Test/QuickCheck/Instances/UnorderedContainers.hs, dist/build/Test/QuickCheck/Instances/UnorderedContainers.p_o ) [quickcheck-instances] [24 of 26] Compiling Test.QuickCheck.Instances.Vector ( src/Test/QuickCheck/Instances/Vector.hs, dist/build/Test/QuickCheck/Instances/Vector.p_o ) [quickcheck-instances] [25 of 26] Compiling Test.QuickCheck.Instances.Void ( src/Test/QuickCheck/Instances/Void.hs, dist/build/Test/QuickCheck/Instances/Void.p_o ) [quickcheck-instances] [26 of 26] Compiling Test.QuickCheck.Instances ( src/Test/QuickCheck/Instances.hs, dist/build/Test/QuickCheck/Instances.p_o ) [quickcheck-instances] Preprocessing test suite 'self-test' for quickcheck-instances-0.3.33... [quickcheck-instances] Building test suite 'self-test' for quickcheck-instances-0.3.33... [quickcheck-instances] [1 of 1] Compiling Main ( test/Tests.hs, dist/build/self-test/self-test-tmp/Main.o ) [quickcheck-instances] [2 of 2] Linking dist/build/self-test/self-test [quickcheck-instances] Phase: checkPhase [quickcheck-instances] Running 1 test suites... [quickcheck-instances] Test suite self-test: RUNNING... [quickcheck-instances] +++ OK, passed 100 tests. [quickcheck-instances] +++ OK, passed 100 tests. [quickcheck-instances] +++ OK, passed 100 tests. [quickcheck-instances] +++ OK, passed 100 tests. [quickcheck-instances] +++ OK, passed 100 tests. [quickcheck-instances] Test suite self-test: PASS [quickcheck-instances] Test suite logged to: dist/test/quickcheck-instances-0.3.33-self-test.log [quickcheck-instances] 1 of 1 test suites (1 of 1 test cases) passed. [quickcheck-instances] Phase: haddockPhase [quickcheck-instances] Preprocessing library for quickcheck-instances-0.3.33... [quickcheck-instances] Running Haddock on library for quickcheck-instances-0.3.33... [quickcheck-instances] Warning: The documentation for the following packages are not installed. No [quickcheck-instances] links will be generated to these packages: vector-0.13.2.0 [quickcheck-instances] [ 1 of 26] Compiling Test.QuickCheck.Instances.Containers ( src/Test/QuickCheck/Instances/Containers.hs, nothing ) [quickcheck-instances] [ 2 of 26] Compiling Test.QuickCheck.Instances.CustomPrelude ( src/Test/QuickCheck/Instances/CustomPrelude.hs, nothing ) [quickcheck-instances] [ 3 of 26] Compiling Test.QuickCheck.Instances.CaseInsensitive ( src/Test/QuickCheck/Instances/CaseInsensitive.hs, nothing ) [quickcheck-instances] [ 4 of 26] Compiling Test.QuickCheck.Instances.ByteString ( src/Test/QuickCheck/Instances/ByteString.hs, nothing ) [quickcheck-instances] [ 5 of 26] Compiling Test.QuickCheck.Instances.Array ( src/Test/QuickCheck/Instances/Array.hs, nothing ) [quickcheck-instances] [ 6 of 26] Compiling Test.QuickCheck.Instances.DataFix ( src/Test/QuickCheck/Instances/DataFix.hs, nothing ) [quickcheck-instances] [ 7 of 26] Compiling Test.QuickCheck.Instances.Hashable ( src/Test/QuickCheck/Instances/Hashable.hs, nothing ) [quickcheck-instances] [ 8 of 26] Compiling Test.QuickCheck.Instances.Natural ( src/Test/QuickCheck/Instances/Natural.hs, nothing ) [quickcheck-instances] [ 9 of 26] Compiling Test.QuickCheck.Instances.OldTime ( src/Test/QuickCheck/Instances/OldTime.hs, nothing ) [quickcheck-instances] [10 of 26] Compiling Test.QuickCheck.Instances.Primitive ( src/Test/QuickCheck/Instances/Primitive.hs, nothing ) [quickcheck-instances] [11 of 26] Compiling Test.QuickCheck.Instances.Array.Byte ( src/Test/QuickCheck/Instances/Array/Byte.hs, nothing ) [quickcheck-instances] [12 of 26] Compiling Test.QuickCheck.Instances.Scientific ( src/Test/QuickCheck/Instances/Scientific.hs, nothing ) [quickcheck-instances] [13 of 26] Compiling Test.QuickCheck.Instances.Semigroup ( src/Test/QuickCheck/Instances/Semigroup.hs, nothing ) [quickcheck-instances] [14 of 26] Compiling Test.QuickCheck.Instances.Solo ( src/Test/QuickCheck/Instances/Solo.hs, nothing ) [quickcheck-instances] [15 of 26] Compiling Test.QuickCheck.Instances.Strict ( src/Test/QuickCheck/Instances/Strict.hs, nothing ) [quickcheck-instances] [16 of 26] Compiling Test.QuickCheck.Instances.Tagged ( src/Test/QuickCheck/Instances/Tagged.hs, nothing ) [quickcheck-instances] [17 of 26] Compiling Test.QuickCheck.Instances.Text ( src/Test/QuickCheck/Instances/Text.hs, nothing ) [quickcheck-instances] [18 of 26] Compiling Test.QuickCheck.Instances.Text.Short ( src/Test/QuickCheck/Instances/Text/Short.hs, nothing ) [quickcheck-instances] [19 of 26] Compiling Test.QuickCheck.Instances.These ( src/Test/QuickCheck/Instances/These.hs, nothing ) [quickcheck-instances] [20 of 26] Compiling Test.QuickCheck.Instances.Time ( src/Test/QuickCheck/Instances/Time.hs, nothing ) [quickcheck-instances] [21 of 26] Compiling Test.QuickCheck.Instances.Transformer ( src/Test/QuickCheck/Instances/Transformer.hs, nothing ) [quickcheck-instances] [22 of 26] Compiling Test.QuickCheck.Instances.UUID ( src/Test/QuickCheck/Instances/UUID.hs, nothing ) [quickcheck-instances] [23 of 26] Compiling Test.QuickCheck.Instances.UnorderedContainers ( src/Test/QuickCheck/Instances/UnorderedContainers.hs, nothing ) [quickcheck-instances] [24 of 26] Compiling Test.QuickCheck.Instances.Vector ( src/Test/QuickCheck/Instances/Vector.hs, nothing ) [quickcheck-instances] [25 of 26] Compiling Test.QuickCheck.Instances.Void ( src/Test/QuickCheck/Instances/Void.hs, nothing ) [quickcheck-instances] [26 of 26] Compiling Test.QuickCheck.Instances ( src/Test/QuickCheck/Instances.hs, nothing ) [quickcheck-instances] Haddock coverage: [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Containers' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.CaseInsensitive' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.ByteString' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Array' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.DataFix' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Hashable' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Natural' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.OldTime' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Primitive' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Array.Byte' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Scientific' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Semigroup' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Solo' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Strict' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Tagged' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Text' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Text.Short' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.These' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Time' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Transformer' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.UUID' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.UnorderedContainers' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Vector' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  0% ( 0 / 1) in 'Test.QuickCheck.Instances.Void' [quickcheck-instances]  Missing documentation for: [quickcheck-instances]  Module header [quickcheck-instances]  100% ( 1 / 1) in 'Test.QuickCheck.Instances' [quickcheck-instances] Warning: Test.QuickCheck.Instances.Vector: could not find link destinations for: [quickcheck-instances]  - Data.Vector.Vector [quickcheck-instances]  - Data.Vector.Primitive.Vector [quickcheck-instances]  - Data.Vector.Storable.Vector [quickcheck-instances]  - Data.Vector.Unboxed.Base.Unbox [quickcheck-instances]  - Data.Vector.Unboxed.Base.Vector [quickcheck-instances]  - Data.Vector.Strict.Vector [quickcheck-instances] Documentation created: dist/doc/html/quickcheck-instances/, [quickcheck-instances] dist/doc/html/quickcheck-instances/quickcheck-instances.txt [quickcheck-instances] Preprocessing test suite 'self-test' for quickcheck-instances-0.3.33... [quickcheck-instances] Phase: installPhase [quickcheck-instances] Installing library in /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [quickcheck-instances] Phase: fixupPhase [quickcheck-instances] shrinking RPATHs of ELF executables and libraries in /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33 [quickcheck-instances] shrinking /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSquickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH-ghc9.10.3.so [quickcheck-instances] checking for references to /build/ in /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33... [quickcheck-instances] patching script interpreter paths in /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33 [quickcheck-instances] stripping (with command strip and flags -S -p) in /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33/lib [quickcheck-instances] shrinking RPATHs of ELF executables and libraries in /nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc [quickcheck-instances] checking for references to /build/ in /nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc... [quickcheck-instances] patching script interpreter paths in /nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33 /nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33 /nix/store/cak7xz9nkl9jzqfvvyycx9md4cyvj1xi-quickcheck-instances-0.3.33-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/2cfapk9r5921y38hziw37119dc7k715z-quickcheck-instances-0.3.33' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 12 of 19 built, 193 of 193 downloaded from cache Building extra [extra] Phase: setupCompilerEnvironmentPhase [extra] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [extra] Phase: unpackPhase [extra] unpacking source archive /nix/store/3nprda3kdyhj8zkmv2z32yi6n0gwc966-extra-1.8.1.tar.gz [extra] source root is extra-1.8.1 [extra] setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "extra-1.8.1/test/TestUtil.hs" [extra] Phase: patchPhase [extra] Phase: compileBuildDriverPhase [extra] setupCompileFlags: -package-db=/build/tmp.w0rxG4a3Pr/setup-package.conf.d -threaded [extra] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.w0rxG4a3Pr/Main.o ) [extra] [2 of 2] Linking Setup [extra] Phase: updateAutotoolsGnuConfigScriptsPhase [extra] Phase: configurePhase [extra] configureFlags: --verbose --prefix=/nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc/share/doc/extra-1.8.1 --with-gcc=gcc --package-db=/build/tmp.w0rxG4a3Pr/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib [extra] Using Parsec parser [extra] Configuring extra-1.8.1... [extra] Dependency base >=4.9 && <5: using base-4.20.2.0 [extra] Dependency clock >=0.7: using clock-0.8.4 [extra] Dependency directory: using directory-1.3.8.5 [extra] Dependency filepath: using filepath-1.5.4.0 [extra] Dependency process: using process-1.6.26.1 [extra] Dependency time: using time-1.12.2 [extra] Dependency unix: using unix-2.8.7.0 [extra] Dependency QuickCheck >=2.10: using QuickCheck-2.15.0.1 [extra] Dependency base >=4 && <5: using base-4.20.2.0 [extra] Dependency directory: using directory-1.3.8.5 [extra] Dependency extra: using extra-1.8.1 [extra] Dependency filepath: using filepath-1.5.4.0 [extra] Dependency quickcheck-instances >=0.3.17: using quickcheck-instances-0.3.33 [extra] Dependency unix: using unix-2.8.7.0 [extra] Source component graph: [extra]  component lib [extra]  component test:extra-test dependency lib [extra] Configured component graph: [extra]  component extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra]  include base-4.20.2.0-acb8 [extra]  include clock-0.8.4-2xr44ThigeC8PNOcnMLGAS [extra]  include directory-1.3.8.5-e377 [extra]  include filepath-1.5.4.0-c4eb [extra]  include process-1.6.26.1-c5d9 [extra]  include time-1.12.2-befd [extra]  include unix-2.8.7.0-61f9 [extra]  component extra-1.8.1-LEgS7m2yLxk9dspNzVXQGb-extra-test [extra]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [extra]  include base-4.20.2.0-acb8 [extra]  include directory-1.3.8.5-e377 [extra]  include extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra]  include filepath-1.5.4.0-c4eb [extra]  include quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [extra]  include unix-2.8.7.0-61f9 [extra] Linked component graph: [extra]  unit extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra]  include base-4.20.2.0-acb8 [extra]  include clock-0.8.4-2xr44ThigeC8PNOcnMLGAS [extra]  include directory-1.3.8.5-e377 [extra]  include filepath-1.5.4.0-c4eb [extra]  include process-1.6.26.1-c5d9 [extra]  include time-1.12.2-befd [extra]  include unix-2.8.7.0-61f9 [extra]  Control.Concurrent.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Control.Concurrent.Extra,Control.Exception.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Control.Exception.Extra,Control.Monad.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Control.Monad.Extra,Data.Either.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.Either.Extra,Data.Foldable.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.Foldable.Extra,Data.IORef.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.IORef.Extra,Data.List.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.List.Extra,Data.List.NonEmpty.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.List.NonEmpty.Extra,Data.Monoid.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.Monoid.Extra,Data.Tuple.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.Tuple.Extra,Data.Typeable.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.Typeable.Extra,Data.Version.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Data.Version.Extra,Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Extra,Numeric.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Numeric.Extra,System.Directory.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:System.Directory.Extra,System.Environment.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:System.Environment.Extra,System.IO.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:System.IO.Extra,System.Info.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:System.Info.Extra,System.Process.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:System.Process.Extra,System.Time.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:System.Time.Extra,Text.Read.Extra=extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp:Text.Read.Extra [extra]  unit extra-1.8.1-LEgS7m2yLxk9dspNzVXQGb-extra-test [extra]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [extra]  include base-4.20.2.0-acb8 [extra]  include directory-1.3.8.5-e377 [extra]  include extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra]  include filepath-1.5.4.0-c4eb [extra]  include quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [extra]  include unix-2.8.7.0-61f9 [extra] Ready component graph: [extra]  definite extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra]  depends base-4.20.2.0-acb8 [extra]  depends clock-0.8.4-2xr44ThigeC8PNOcnMLGAS [extra]  depends directory-1.3.8.5-e377 [extra]  depends filepath-1.5.4.0-c4eb [extra]  depends process-1.6.26.1-c5d9 [extra]  depends time-1.12.2-befd [extra]  depends unix-2.8.7.0-61f9 [extra]  definite extra-1.8.1-LEgS7m2yLxk9dspNzVXQGb-extra-test [extra]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [extra]  depends base-4.20.2.0-acb8 [extra]  depends directory-1.3.8.5-e377 [extra]  depends extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra]  depends filepath-1.5.4.0-c4eb [extra]  depends quickcheck-instances-0.3.33-3eFKN7WZHQsLajXQM30KdH [extra]  depends unix-2.8.7.0-61f9 [extra] Using Cabal-3.12.1.0 compiled by ghc-9.10 [extra] Using compiler: ghc-9.10.3 [extra] Using install prefix: /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1 [extra] Executables installed in: [extra] /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/bin [extra] Libraries installed in: [extra] /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra] Dynamic Libraries installed in: [extra] /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [extra] Private executables installed in: [extra] /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/libexec/x86_64-linux-ghc-9.10.3-5702/extra-1.8.1 [extra] Data files installed in: [extra] /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/share/x86_64-linux-ghc-9.10.3-5702/extra-1.8.1 [extra] Documentation installed in: [extra] /nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc/share/doc/extra-1.8.1 [extra] Configuration files installed in: [extra] /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/etc [extra] No alex found [extra] Using ar found on system at: [extra] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [extra] No c2hs found [extra] No cpphs found [extra] No doctest found [extra] Using gcc version 14.3.0 given by user at: [extra] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [extra] Using ghc version 9.10.3 found on system at: [extra] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [extra] Using ghc-pkg version 9.10.3 found on system at: [extra] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [extra] No ghcjs found [extra] No ghcjs-pkg found [extra] No greencard found [extra] Using haddock version 2.31.1 found on system at: [extra] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [extra] No happy found [extra] Using haskell-suite found on system at: haskell-suite-dummy-location [extra] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [extra] No hmake found [extra] Using hpc version 0.69 found on system at: [extra] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [extra] Using hsc2hs version 0.68.10 found on system at: [extra] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [extra] Using hscolour version 1.25 found on system at: [extra] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [extra] No jhc found [extra] Using ld found on system at: [extra] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [extra] No pkg-config found [extra] Using runghc version 9.10.3 found on system at: [extra] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [extra] Using strip version 2.44 found on system at: [extra] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [extra] Using tar found on system at: [extra] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [extra] No uhc found [extra] Phase: buildPhase [extra] Preprocessing library for extra-1.8.1... [extra] Building library for extra-1.8.1... [extra] [ 1 of 22] Compiling Data.IORef.Extra ( src/Data/IORef/Extra.hs, dist/build/Data/IORef/Extra.o, dist/build/Data/IORef/Extra.dyn_o ) [extra] [ 2 of 22] Compiling Data.Monoid.Extra ( src/Data/Monoid/Extra.hs, dist/build/Data/Monoid/Extra.o, dist/build/Data/Monoid/Extra.dyn_o ) [extra] [ 3 of 22] Compiling Data.Tuple.Extra ( src/Data/Tuple/Extra.hs, dist/build/Data/Tuple/Extra.o, dist/build/Data/Tuple/Extra.dyn_o ) [extra] [ 4 of 22] Compiling Data.Typeable.Extra ( src/Data/Typeable/Extra.hs, dist/build/Data/Typeable/Extra.o, dist/build/Data/Typeable/Extra.dyn_o ) [extra] [ 5 of 22] Compiling Numeric.Extra ( src/Numeric/Extra.hs, dist/build/Numeric/Extra.o, dist/build/Numeric/Extra.dyn_o ) [extra] [ 6 of 22] Compiling Partial ( src/Partial.hs, dist/build/Partial.o, dist/build/Partial.dyn_o ) [extra] [ 7 of 22] Compiling Data.List.Extra ( src/Data/List/Extra.hs, dist/build/Data/List/Extra.o, dist/build/Data/List/Extra.dyn_o ) [extra] [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, dist/build/Data/Version/Extra.o, dist/build/Data/Version/Extra.dyn_o ) [extra] [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, dist/build/Data/List/NonEmpty/Extra.o, dist/build/Data/List/NonEmpty/Extra.dyn_o ) [extra] [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, dist/build/Data/Either/Extra.o, dist/build/Data/Either/Extra.dyn_o ) [extra] [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, dist/build/Control/Exception/Extra.o, dist/build/Control/Exception/Extra.dyn_o ) [extra] [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, dist/build/Control/Monad/Extra.o, dist/build/Control/Monad/Extra.dyn_o ) [extra] [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, dist/build/Data/Foldable/Extra.o, dist/build/Data/Foldable/Extra.dyn_o ) [extra] [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, dist/build/Control/Concurrent/Extra.o, dist/build/Control/Concurrent/Extra.dyn_o ) [extra] [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, dist/build/System/Directory/Extra.o, dist/build/System/Directory/Extra.dyn_o ) [extra] [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, dist/build/System/Environment/Extra.o, dist/build/System/Environment/Extra.dyn_o ) [extra] [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, dist/build/System/IO/Extra.o, dist/build/System/IO/Extra.dyn_o ) [extra] [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, dist/build/System/Info/Extra.o, dist/build/System/Info/Extra.dyn_o ) [extra] [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, dist/build/System/Process/Extra.o, dist/build/System/Process/Extra.dyn_o ) [extra] [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, dist/build/System/Time/Extra.o, dist/build/System/Time/Extra.dyn_o ) [extra] [21 of 22] Compiling Extra ( src/Extra.hs, dist/build/Extra.o, dist/build/Extra.dyn_o ) [extra] [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, dist/build/Text/Read/Extra.o, dist/build/Text/Read/Extra.dyn_o ) [extra] [ 1 of 22] Compiling Data.IORef.Extra ( src/Data/IORef/Extra.hs, dist/build/Data/IORef/Extra.p_o ) [extra] [ 2 of 22] Compiling Data.Monoid.Extra ( src/Data/Monoid/Extra.hs, dist/build/Data/Monoid/Extra.p_o ) [extra] [ 3 of 22] Compiling Data.Tuple.Extra ( src/Data/Tuple/Extra.hs, dist/build/Data/Tuple/Extra.p_o ) [extra] [ 4 of 22] Compiling Data.Typeable.Extra ( src/Data/Typeable/Extra.hs, dist/build/Data/Typeable/Extra.p_o ) [extra] [ 5 of 22] Compiling Numeric.Extra ( src/Numeric/Extra.hs, dist/build/Numeric/Extra.p_o ) [extra] [ 6 of 22] Compiling Partial ( src/Partial.hs, dist/build/Partial.p_o ) [extra] [ 7 of 22] Compiling Data.List.Extra ( src/Data/List/Extra.hs, dist/build/Data/List/Extra.p_o ) [extra] [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, dist/build/Data/Version/Extra.p_o ) [extra] [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, dist/build/Data/List/NonEmpty/Extra.p_o ) [extra] [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, dist/build/Data/Either/Extra.p_o ) [extra] [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, dist/build/Control/Exception/Extra.p_o ) [extra] [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, dist/build/Control/Monad/Extra.p_o ) [extra] [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, dist/build/Data/Foldable/Extra.p_o ) [extra] [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, dist/build/Control/Concurrent/Extra.p_o ) [extra] [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, dist/build/System/Directory/Extra.p_o ) [extra] [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, dist/build/System/Environment/Extra.p_o ) [extra] [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, dist/build/System/IO/Extra.p_o ) [extra] [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, dist/build/System/Info/Extra.p_o ) [extra] [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, dist/build/System/Process/Extra.p_o ) [extra] [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, dist/build/System/Time/Extra.p_o ) [extra] [21 of 22] Compiling Extra ( src/Extra.hs, dist/build/Extra.p_o ) [extra] [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, dist/build/Text/Read/Extra.p_o ) [extra] Preprocessing test suite 'extra-test' for extra-1.8.1... [extra] Building test suite 'extra-test' for extra-1.8.1... [extra] [1 of 4] Compiling TestUtil ( test/TestUtil.hs, dist/build/extra-test/extra-test-tmp/TestUtil.o ) [extra] [2 of 4] Compiling TestGen ( test/TestGen.hs, dist/build/extra-test/extra-test-tmp/TestGen.o ) [extra] [3 of 4] Compiling TestCustom ( test/TestCustom.hs, dist/build/extra-test/extra-test-tmp/TestCustom.o ) [extra] [4 of 4] Compiling Test ( test/Test.hs, dist/build/extra-test/extra-test-tmp/Test.o ) [extra] [5 of 5] Linking dist/build/extra-test/extra-test [extra] Phase: checkPhase [extra] Running 1 test suites... [extra] Test suite extra-test: RUNNING... [extra] withTempFile [extra] +++ OK, passed 100 tests. [extra] captureOutput [extra] +++ OK, passed 100 tests. [extra] \(x :: IO Int) -> void (once x) == pure () [extra] +++ OK, passed 100 tests. [extra] \(x :: IO Int) -> join (once x) == x [extra] +++ OK, passed 100 tests. [extra] \(x :: IO Int) -> (do y <- once x; y; y) == x [extra] +++ OK, passed 100 tests. [extra] \(x :: IO Int) -> (do y <- once x; y ||| y) == x [extra] +++ OK, passed 100 tests. [extra] \(x :: IO Int) -> join (onceFork x) == x [extra] +++ OK, passed 100 tests. [extra] \(x :: IO Int) -> (do a <- onceFork x; a; a) == x [extra] +++ OK, passed 100 tests. [extra] stringException "test" == pure "test" [extra] +++ OK, passed 100 tests. [extra] stringException ("test" ++ undefined) == pure "test" [extra] +++ OK, passed 100 tests. [extra] stringException ("test" ++ undefined ++ "hello") == pure "test" [extra] +++ OK, passed 100 tests. [extra] stringException ['t','e','s','t',undefined] == pure "test" [extra] +++ OK, passed 100 tests. [extra] ignore (print 1) == print 1 [extra] +++ OK, passed 100 tests. [extra] ignore (fail "die") == pure () [extra] +++ OK, passed 100 tests. [extra] catch (errorIO "Hello") (\(ErrorCall x) -> pure x) == pure "Hello" [extra] +++ OK, passed 100 tests. [extra] seq (errorIO "foo") (print 1) == print 1 [extra] +++ OK, passed 100 tests. [extra] catch (assertIO True >> pure 1) (\(x :: AssertionFailed) -> pure 2) == pure 1 [extra] +++ OK, passed 100 tests. [extra] seq (assertIO False) (print 1) == print 1 [extra] +++ OK, passed 100 tests. [extra] retry 1 (print "x") == print "x" [extra] +++ OK, passed 100 tests. [extra] retry 3 (fail "die") == fail "die" [extra] +++ OK, passed 100 tests. [extra] whenJust Nothing print == pure () [extra] +++ OK, passed 100 tests. [extra] whenJust (Just 1) print == print 1 [extra] +++ OK, passed 100 tests. [extra] pureIf @Maybe True 5 == Just 5 [extra] +++ OK, passed 100 tests. [extra] pureIf @Maybe False 5 == Nothing [extra] +++ OK, passed 100 tests. [extra] pureIf @[] True 5 == [5] [extra] +++ OK, passed 100 tests. [extra] pureIf @[] False 5 == [] [extra] +++ OK, passed 100 tests. [extra] whenMaybe True (print 1) == fmap Just (print 1) [extra] +++ OK, passed 100 tests. [extra] whenMaybe False (print 1) == pure Nothing [extra] +++ OK, passed 100 tests. [extra] \(x :: Maybe ()) -> unit x == x [extra] +++ OK, passed 100 tests. [extra] guarded even 2 == [2] [extra] +++ OK, passed 100 tests. [extra] guarded odd 2 == Nothing [extra] +++ OK, passed 100 tests. [extra] guarded (not.null) "My Name" == Just "My Name" [extra] +++ OK, passed 100 tests. [extra] guardedA (return . even) 42 == Just [42] [extra] +++ OK, passed 100 tests. [extra] guardedA (return . odd) 42 == Just [] [extra] +++ OK, passed 100 tests. [extra] guardedA (const Nothing) 42 == (Nothing :: Maybe [Int]) [extra] +++ OK, passed 100 tests. [extra] fold1M (\x y -> Just x) [] == undefined [extra] +++ OK, passed 100 tests. [extra] fold1M (\x y -> Just $ x + y) [1, 2, 3] == Just 6 [extra] +++ OK, passed 100 tests. [extra] partitionM (Just . even) [1,2,3] == Just ([2], [1,3]) [extra] +++ OK, passed 100 tests. [extra] partitionM (const Nothing) [1,2,3] == Nothing [extra] +++ OK, passed 100 tests. [extra] loop (\x -> if x < 10 then Left $ x * 2 else Right $ show x) 1 == "16" [extra] +++ OK, passed 100 tests. [extra] Just True ||^ undefined == Just True [extra] +++ OK, passed 100 tests. [extra] Just False ||^ Just True == Just True [extra] +++ OK, passed 100 tests. [extra] Just False ||^ Just False == Just False [extra] +++ OK, passed 100 tests. [extra] Just False &&^ undefined == Just False [extra] +++ OK, passed 100 tests. [extra] Just True &&^ Just True == Just True [extra] +++ OK, passed 100 tests. [extra] Just True &&^ Just False == Just False [extra] +++ OK, passed 100 tests. [extra] anyM Just [False,True ,undefined] == Just True [extra] +++ OK, passed 100 tests. [extra] anyM Just [False,False,undefined] == undefined [extra] +++ OK, passed 100 tests. [extra] \(f :: Int -> Maybe Bool) xs -> anyM f xs == orM (map f xs) [extra] +++ OK, passed 100 tests. [extra] allM Just [True,False,undefined] == Just False [extra] +++ OK, passed 100 tests. [extra] allM Just [True,True ,undefined] == undefined [extra] +++ OK, passed 100 tests. [extra] \(f :: Int -> Maybe Bool) xs -> anyM f xs == orM (map f xs) [extra] +++ OK, passed 100 tests. [extra] orM [Just False,Just True ,undefined] == Just True [extra] +++ OK, passed 100 tests. [extra] orM [Just False,Just False,undefined] == undefined [extra] +++ OK, passed 100 tests. [extra] \xs -> Just (or xs) == orM (map Just xs) [extra] +++ OK, passed 100 tests. [extra] andM [Just True,Just False,undefined] == Just False [extra] +++ OK, passed 100 tests. [extra] andM [Just True,Just True ,undefined] == undefined [extra] +++ OK, passed 100 tests. [extra] \xs -> Just (and xs) == andM (map Just xs) [extra] +++ OK, passed 100 tests. [extra] findM (Just . isUpper) "teST" == Just (Just 'S') [extra] +++ OK, passed 100 tests. [extra] findM (Just . isUpper) "test" == Just Nothing [extra] +++ OK, passed 100 tests. [extra] findM (Just . const True) ["x",undefined] == Just (Just "x") [extra] +++ OK, passed 100 tests. [extra] fromLeft 1 (Left 3) == 3 [extra] +++ OK, passed 100 tests. [extra] fromLeft 1 (Right "foo") == 1 [extra] +++ OK, passed 100 tests. [extra] fromRight 1 (Right 3) == 3 [extra] +++ OK, passed 100 tests. [extra] fromRight 1 (Left "foo") == 1 [extra] +++ OK, passed 100 tests. [extra] \x -> fromLeft' (Left x) == x [extra] +++ OK, passed 100 tests. [extra] \x -> fromLeft' (Right x) == undefined [extra] +++ OK, passed 100 tests. [extra] \x -> fromRight' (Right x) == x [extra] +++ OK, passed 100 tests. [extra] \x -> fromRight' (Left x) == undefined [extra] +++ OK, passed 100 tests. [extra] \x -> fromEither (Left x ) == x [extra] +++ OK, passed 100 tests. [extra] \x -> fromEither (Right x) == x [extra] +++ OK, passed 100 tests. [extra] \a b -> maybeToEither a (Just b) == Right b [extra] +++ OK, passed 100 tests. [extra] \a -> maybeToEither a Nothing == Left a [extra] +++ OK, passed 100 tests. [extra] \x -> eitherToMaybe (Left x) == Nothing [extra] +++ OK, passed 100 tests. [extra] \x -> eitherToMaybe (Right x) == Just x [extra] +++ OK, passed 100 tests. [extra] mapLeft show (Left 1) == Left "1" [extra] +++ OK, passed 100 tests. [extra] mapLeft show (Right True) == Right True [extra] +++ OK, passed 100 tests. [extra] mapRight show (Left 1) == Left 1 [extra] +++ OK, passed 100 tests. [extra] mapRight show (Right True) == Right "True" [extra] +++ OK, passed 100 tests. [extra] \xs -> repeatedly (splitAt 3) xs == chunksOf 3 xs [extra] +++ OK, passed 100 tests. [extra] \xs -> repeatedly word1 (trim xs) == words xs [extra] +++ OK, passed 100 tests. [extra] \xs -> repeatedly line1 xs == lines xs [extra] +++ OK, passed 100 tests. [extra] disjoint [1,2,3] [4,5] == True [extra] +++ OK, passed 100 tests. [extra] disjoint [1,2,3] [4,1] == False [extra] +++ OK, passed 100 tests. [extra] disjointOrd [1,2,3] [4,5] == True [extra] +++ OK, passed 100 tests. [extra] disjointOrd [1,2,3] [4,1] == False [extra] +++ OK, passed 100 tests. [extra] disjointOrdBy (compare `on` (`mod` 7)) [1,2,3] [4,5] == True [extra] +++ OK, passed 100 tests. [extra] disjointOrdBy (compare `on` (`mod` 7)) [1,2,3] [4,8] == False [extra] +++ OK, passed 100 tests. [extra] anySame [1,1,2] == True [extra] +++ OK, passed 100 tests. [extra] anySame [1,2,3] == False [extra] +++ OK, passed 100 tests. [extra] anySame (1:2:1:undefined) == True [extra] +++ OK, passed 100 tests. [extra] anySame [] == False [extra] +++ OK, passed 100 tests. [extra] \xs -> anySame xs == (length (nub xs) < length xs) [extra] +++ OK, passed 100 tests. [extra] allSame [1,1,2] == False [extra] +++ OK, passed 100 tests. [extra] allSame [1,1,1] == True [extra] +++ OK, passed 100 tests. [extra] allSame [1] == True [extra] +++ OK, passed 100 tests. [extra] allSame [] == True [extra] +++ OK, passed 100 tests. [extra] allSame (1:1:2:undefined) == False [extra] +++ OK, passed 100 tests. [extra] \xs -> allSame xs == (length (nub xs) <= 1) [extra] +++ OK, passed 100 tests. [extra] headDef 1 [] == 1 [extra] +++ OK, passed 100 tests. [extra] headDef 1 [2,3,4] == 2 [extra] +++ OK, passed 100 tests. [extra] \x xs -> headDef x xs == fromMaybe x (listToMaybe xs) [extra] +++ OK, passed 100 tests. [extra] lastDef 1 [] == 1 [extra] +++ OK, passed 100 tests. [extra] lastDef 1 [2,3,4] == 4 [extra] +++ OK, passed 100 tests. [extra] \x xs -> lastDef x xs == last (x:xs) [extra] +++ OK, passed 100 tests. [extra] [2,3,4] !? 1 == Just 3 [extra] +++ OK, passed 100 tests. [extra] [2,3,4] !? (-1) == Nothing [extra] +++ OK, passed 100 tests. [extra] [] !? 0 == Nothing [extra] +++ OK, passed 100 tests. [extra] notNull [] == False [extra] +++ OK, passed 100 tests. [extra] notNull [1] == True [extra] +++ OK, passed 100 tests. [extra] \xs -> notNull xs == not (null xs) [extra] +++ OK, passed 100 tests. [extra] list 1 (\v _ -> v - 2) [5,6,7] == 3 [extra] +++ OK, passed 100 tests. [extra] list 1 (\v _ -> v - 2) [] == 1 [extra] +++ OK, passed 100 tests. [extra] \nil cons xs -> maybe nil (uncurry cons) (uncons xs) == list nil cons xs [extra] +++ OK, passed 100 tests. [extra] unsnoc "test" == Just ("tes",'t') [extra] +++ OK, passed 100 tests. [extra] unsnoc "" == Nothing [extra] +++ OK, passed 100 tests. [extra] \xs -> unsnoc xs == if null xs then Nothing else Just (init xs, last xs) [extra] +++ OK, passed 100 tests. [extra] cons 't' "est" == "test" [extra] +++ OK, passed 100 tests. [extra] \x xs -> uncons (cons x xs) == Just (x,xs) [extra] +++ OK, passed 100 tests. [extra] snoc "tes" 't' == "test" [extra] +++ OK, passed 100 tests. [extra] \xs x -> unsnoc (snoc xs x) == Just (xs,x) [extra] +++ OK, passed 100 tests. [extra] enumerate == [False, True] [extra] +++ OK, passed 100 tests. [extra] takeEnd 3 "hello" == "llo" [extra] +++ OK, passed 100 tests. [extra] takeEnd 5 "bye" == "bye" [extra] +++ OK, passed 100 tests. [extra] takeEnd (-1) "bye" == "" [extra] +++ OK, passed 100 tests. [extra] \i xs -> takeEnd i xs `isSuffixOf` xs [extra] +++ OK, passed 100 tests. [extra] \i xs -> length (takeEnd i xs) == min (max 0 i) (length xs) [extra] +++ OK, passed 100 tests. [extra] dropEnd 3 "hello" == "he" [extra] +++ OK, passed 100 tests. [extra] dropEnd 5 "bye" == "" [extra] +++ OK, passed 100 tests. [extra] dropEnd (-1) "bye" == "bye" [extra] +++ OK, passed 100 tests. [extra] \i xs -> dropEnd i xs `isPrefixOf` xs [extra] +++ OK, passed 100 tests. [extra] \i xs -> length (dropEnd i xs) == max 0 (length xs - max 0 i) [extra] +++ OK, passed 100 tests. [extra] \i -> take 3 (dropEnd 5 [i..]) == take 3 [i..] [extra] +++ OK, passed 100 tests. [extra] splitAtEnd 3 "hello" == ("he","llo") [extra] +++ OK, passed 100 tests. [extra] splitAtEnd 3 "he" == ("", "he") [extra] +++ OK, passed 100 tests. [extra] \i xs -> uncurry (++) (splitAt i xs) == xs [extra] +++ OK, passed 100 tests. [extra] \i xs -> splitAtEnd i xs == (dropEnd i xs, takeEnd i xs) [extra] +++ OK, passed 100 tests. [extra] \i xs -> zip [i..] xs == zipFrom i xs [extra] +++ OK, passed 100 tests. [extra] zipFrom False [1..3] == [(False,1),(True, 2)] [extra] +++ OK, passed 100 tests. [extra] \i xs -> zipWithFrom (,) i xs == zipFrom i xs [extra] +++ OK, passed 100 tests. [extra] concatUnzip [("a","AB"),("bc","C")] == ("abc","ABC") [extra] +++ OK, passed 100 tests. [extra] concatUnzip3 [("a","AB",""),("bc","C","123")] == ("abc","ABC","123") [extra] +++ OK, passed 100 tests. [extra] takeWhileEnd even [2,3,4,6] == [4,6] [extra] +++ OK, passed 100 tests. [extra] trim " hello " == "hello" [extra] +++ OK, passed 100 tests. [extra] trimStart " hello " == "hello " [extra] +++ OK, passed 100 tests. [extra] trimEnd " hello " == " hello" [extra] +++ OK, passed 100 tests. [extra] \s -> trim s == trimEnd (trimStart s) [extra] +++ OK, passed 100 tests. [extra] lower "This is A TEST" == "this is a test" [extra] +++ OK, passed 100 tests. [extra] lower "" == "" [extra] +++ OK, passed 100 tests. [extra] upper "This is A TEST" == "THIS IS A TEST" [extra] +++ OK, passed 100 tests. [extra] upper "" == "" [extra] +++ OK, passed 100 tests. [extra] word1 "" == ("", "") [extra] +++ OK, passed 100 tests. [extra] word1 "keyword rest of string" == ("keyword","rest of string") [extra] +++ OK, passed 100 tests. [extra] word1 " keyword\n rest of string" == ("keyword","rest of string") [extra] +++ OK, passed 100 tests. [extra] \s -> fst (word1 s) == concat (take 1 $ words s) [extra] +++ OK, passed 100 tests. [extra] \s -> words (snd $ word1 s) == drop 1 (words s) [extra] +++ OK, passed 100 tests. [extra] line1 "" == ("", "") [extra] +++ OK, passed 100 tests. [extra] line1 "test" == ("test","") [extra] +++ OK, passed 100 tests. [extra] line1 "test\n" == ("test","") [extra] +++ OK, passed 100 tests. [extra] line1 "test\nrest" == ("test","rest") [extra] +++ OK, passed 100 tests. [extra] line1 "test\nrest\nmore" == ("test","rest\nmore") [extra] +++ OK, passed 100 tests. [extra] escapeHTML "this is a test" == "this is a test" [extra] +++ OK, passed 100 tests. [extra] escapeHTML "\"g&t\"" == "<b>"g&t"</n>" [extra] +++ OK, passed 100 tests. [extra] escapeHTML "t'was another test" == "t'was another test" [extra] +++ OK, passed 100 tests. [extra] \xs -> unescapeHTML (escapeHTML xs) == xs [extra] +++ OK, passed 100 tests. [extra] escapeJSON "this is a test" == "this is a test" [extra] +++ OK, passed 100 tests. [extra] escapeJSON "\ttab\nnewline\\" == "\\ttab\\nnewline\\\\" [extra] +++ OK, passed 100 tests. [extra] escapeJSON "\ESC[0mHello" == "\\u001b[0mHello" [extra] +++ OK, passed 100 tests. [extra] \xs -> unescapeJSON (escapeJSON xs) == xs [extra] +++ OK, passed 100 tests. [extra] groupOn abs [1,-1,2] == [[1,-1], [2]] [extra] +++ OK, passed 100 tests. [extra] groupOnKey abs [1,-1,2] == [(1, [1,-1]), (2, [2])] [extra] +++ OK, passed 100 tests. [extra] maximumOn id [] == undefined [extra] +++ OK, passed 100 tests. [extra] maximumOn length ["test","extra","a"] == "extra" [extra] +++ OK, passed 100 tests. [extra] minimumOn id [] == undefined [extra] +++ OK, passed 100 tests. [extra] minimumOn length ["test","extra","a"] == "a" [extra] +++ OK, passed 100 tests. [extra] groupSort [(1,'t'),(3,'t'),(2,'e'),(2,'s')] == [(1,"t"),(2,"es"),(3,"t")] [extra] +++ OK, passed 100 tests. [extra] \xs -> map fst (groupSort xs) == sort (nub (map fst xs)) [extra] +++ OK, passed 100 tests. [extra] \xs -> concatMap snd (groupSort xs) == map snd (sortOn fst xs) [extra] +++ OK, passed 100 tests. [extra] groupSortOn length ["test","of","sized","item"] == [["of"],["test","item"],["sized"]] [extra] +++ OK, passed 100 tests. [extra] groupSortBy (compare `on` length) ["test","of","sized","item"] == [["of"],["test","item"],["sized"]] [extra] +++ OK, passed 100 tests. [extra] sum' [1, 2, 3] == 6 [extra] +++ OK, passed 100 tests. [extra] sumOn' read ["1", "2", "3"] == 6 [extra] +++ OK, passed 100 tests. [extra] product' [1, 2, 4] == 8 [extra] +++ OK, passed 100 tests. [extra] productOn' read ["1", "2", "4"] == 8 [extra] +++ OK, passed 100 tests. [extra] merge "ace" "bd" == "abcde" [extra] +++ OK, passed 100 tests. [extra] \xs ys -> merge (sort xs) (sort ys) == sort (xs ++ ys) [extra] +++ OK, passed 100 tests. [extra] replace "el" "_" "Hello Bella" == "H_lo B_la" [extra] +++ OK, passed 100 tests. [extra] replace "el" "e" "Hello" == "Helo" [extra] +++ OK, passed 100 tests. [extra] replace "" "x" "Hello" == "xHxexlxlxox" [extra] +++ OK, passed 100 tests. [extra] replace "" "x" "" == "x" [extra] +++ OK, passed 100 tests. [extra] \xs ys -> replace xs xs ys == ys [extra] +++ OK, passed 100 tests. [extra] breakEnd isLower "youRE" == ("you","RE") [extra] +++ OK, passed 100 tests. [extra] breakEnd isLower "youre" == ("youre","") [extra] +++ OK, passed 100 tests. [extra] breakEnd isLower "YOURE" == ("","YOURE") [extra] +++ OK, passed 100 tests. [extra] \f xs -> breakEnd (not . f) xs == spanEnd f xs [extra] +++ OK, passed 100 tests. [extra] spanEnd isUpper "youRE" == ("you","RE") [extra] +++ OK, passed 100 tests. [extra] spanEnd (not . isSpace) "x y z" == ("x y ","z") [extra] +++ OK, passed 100 tests. [extra] \f xs -> uncurry (++) (spanEnd f xs) == xs [extra] +++ OK, passed 100 tests. [extra] \f xs -> spanEnd f xs == swap (both reverse (span f (reverse xs))) [extra] +++ OK, passed 100 tests. [extra] wordsBy (== ':') "::xyz:abc::123::" == ["xyz","abc","123"] [extra] +++ OK, passed 100 tests. [extra] \s -> wordsBy isSpace s == words s [extra] +++ OK, passed 100 tests. [extra] linesBy (== ':') "::xyz:abc::123::" == ["","","xyz","abc","","123",""] [extra] +++ OK, passed 100 tests. [extra] \s -> linesBy (== '\n') s == lines s [extra] +++ OK, passed 100 tests. [extra] linesBy (== ';') "my;list;here;" == ["my","list","here"] [extra] +++ OK, passed 100 tests. [extra] firstJust id [Nothing,Just 3] == Just 3 [extra] +++ OK, passed 100 tests. [extra] firstJust id [Nothing,Nothing] == Nothing [extra] +++ OK, passed 100 tests. [extra] drop1 "" == "" [extra] +++ OK, passed 100 tests. [extra] drop1 "test" == "est" [extra] +++ OK, passed 100 tests. [extra] \xs -> drop 1 xs == drop1 xs [extra] +++ OK, passed 100 tests. [extra] dropEnd1 "" == "" [extra] +++ OK, passed 100 tests. [extra] dropEnd1 "test" == "tes" [extra] +++ OK, passed 100 tests. [extra] \xs -> dropEnd 1 xs == dropEnd1 xs [extra] +++ OK, passed 100 tests. [extra] mconcatMap Sum [1,2,3] == Sum 6 [extra] +++ OK, passed 100 tests. [extra] \f xs -> mconcatMap f xs == concatMap f xs [extra] +++ OK, passed 100 tests. [extra] breakOn "::" "a::b::c" == ("a", "::b::c") [extra] +++ OK, passed 100 tests. [extra] breakOn "/" "foobar" == ("foobar", "") [extra] +++ OK, passed 100 tests. [extra] \needle haystack -> let (prefix,match) = breakOn needle haystack in prefix ++ match == haystack [extra] +++ OK, passed 100 tests. [extra] breakOnEnd "::" "a::b::c" == ("a::b::", "c") [extra] +++ OK, passed 100 tests. [extra] splitOn "\r\n" "a\r\nb\r\nd\r\ne" == ["a","b","d","e"] [extra] +++ OK, passed 100 tests. [extra] splitOn "aaa" "aaaXaaaXaaaXaaa" == ["","X","X","X",""] [extra] +++ OK, passed 100 tests. [extra] splitOn "x" "x" == ["",""] [extra] +++ OK, passed 100 tests. [extra] splitOn "x" "" == [""] [extra] +++ OK, passed 100 tests. [extra] \s x -> s /= "" ==> intercalate s (splitOn s x) == x [extra] +++ OK, passed 100 tests; 13 discarded. [extra] \c x -> splitOn [c] x == split (==c) x [extra] +++ OK, passed 100 tests. [extra] split (== 'a') "aabbaca" == ["","","bb","c",""] [extra] +++ OK, passed 100 tests. [extra] split (== 'a') "" == [""] [extra] +++ OK, passed 100 tests. [extra] split (== ':') "::xyz:abc::123::" == ["","","xyz","abc","","123","",""] [extra] +++ OK, passed 100 tests. [extra] split (== ',') "my,list,here" == ["my","list","here"] [extra] +++ OK, passed 100 tests. [extra] dropWhileEnd isSpace "ab cde " == "ab cde" [extra] +++ OK, passed 100 tests. [extra] dropWhileEnd' isSpace "ab cde " == "ab cde" [extra] +++ OK, passed 100 tests. [extra] last (dropWhileEnd even [undefined,3]) == undefined [extra] +++ OK, passed 100 tests. [extra] last (dropWhileEnd' even [undefined,3]) == 3 [extra] +++ OK, passed 100 tests. [extra] head (dropWhileEnd even (3:undefined)) == 3 [extra] +++ OK, passed 100 tests. [extra] head (dropWhileEnd' even (3:undefined)) == undefined [extra] +++ OK, passed 100 tests. [extra] dropPrefix "Mr. " "Mr. Men" == "Men" [extra] +++ OK, passed 100 tests. [extra] dropPrefix "Mr. " "Dr. Men" == "Dr. Men" [extra] +++ OK, passed 100 tests. [extra] dropSuffix "!" "Hello World!" == "Hello World" [extra] +++ OK, passed 100 tests. [extra] dropSuffix "!" "Hello World!!" == "Hello World!" [extra] +++ OK, passed 100 tests. [extra] dropSuffix "!" "Hello World." == "Hello World." [extra] +++ OK, passed 100 tests. [extra] stripSuffix "bar" "foobar" == Just "foo" [extra] +++ OK, passed 100 tests. [extra] stripSuffix "" "baz" == Just "baz" [extra] +++ OK, passed 100 tests. [extra] stripSuffix "foo" "quux" == Nothing [extra] +++ OK, passed 100 tests. [extra] stripInfix "::" "a::b::c" == Just ("a", "b::c") [extra] +++ OK, passed 100 tests. [extra] stripInfix "/" "foobar" == Nothing [extra] +++ OK, passed 100 tests. [extra] stripInfixEnd "::" "a::b::c" == Just ("a::b", "c") [extra] +++ OK, passed 100 tests. [extra] chunksOf 3 "my test" == ["my ","tes","t"] [extra] +++ OK, passed 100 tests. [extra] chunksOf 3 "mytest" == ["myt","est"] [extra] +++ OK, passed 100 tests. [extra] chunksOf 8 "" == [] [extra] +++ OK, passed 100 tests. [extra] chunksOf 0 "test" == undefined [extra] +++ OK, passed 100 tests. [extra] nubSort "this is a test" == " aehist" [extra] +++ OK, passed 100 tests. [extra] \xs -> nubSort xs == nub (sort xs) [extra] +++ OK, passed 100 tests. [extra] nubSortOn length ["a","test","of","this"] == ["a","of","test"] [extra] +++ OK, passed 100 tests. [extra] nubSortBy (compare `on` length) ["a","test","of","this"] == ["a","of","test"] [extra] +++ OK, passed 100 tests. [extra] nubOrd "this is a test" == "this ae" [extra] +++ OK, passed 100 tests. [extra] nubOrd (take 4 ("this" ++ undefined)) == "this" [extra] +++ OK, passed 100 tests. [extra] \xs -> nubOrd xs == nub xs [extra] +++ OK, passed 100 tests. [extra] nubOrdOn length ["a","test","of","this"] == ["a","test","of"] [extra] +++ OK, passed 100 tests. [extra] nubOrdBy (compare `on` length) ["a","test","of","this"] == ["a","test","of"] [extra] +++ OK, passed 100 tests. [extra] zipWithLongest (,) "a" "xyz" == [(Just 'a', Just 'x'), (Nothing, Just 'y'), (Nothing, Just 'z')] [extra] +++ OK, passed 100 tests. [extra] zipWithLongest (,) "a" "x" == [(Just 'a', Just 'x')] [extra] +++ OK, passed 100 tests. [extra] zipWithLongest (,) "" "x" == [(Nothing, Just 'x')] [extra] +++ OK, passed 100 tests. [extra] comparingLength [1,2,3] [False] == GT [extra] +++ OK, passed 100 tests. [extra] comparingLength [1,2] "ab" == EQ [extra] +++ OK, passed 100 tests. [extra] \(xs :: [Int]) (ys :: [Int]) -> comparingLength xs ys == Data.Ord.comparing length xs ys [extra] +++ OK, passed 100 tests. [extra] comparingLength [1,2] (1:2:3:undefined) == LT [extra] +++ OK, passed 100 tests. [extra] comparingLength (1:2:3:undefined) [1,2] == GT [extra] +++ OK, passed 100 tests. [extra] mwhen True "test" == "test" [extra] +++ OK, passed 100 tests. [extra] mwhen False "test" == "" [extra] +++ OK, passed 100 tests. [extra] first succ (1,"test") == (2,"test") [extra] +++ OK, passed 100 tests. [extra] second reverse (1,"test") == (1,"tset") [extra] +++ OK, passed 100 tests. [extra] firstM (\x -> [x-1, x+1]) (1,"test") == [(0,"test"),(2,"test")] [extra] +++ OK, passed 100 tests. [extra] secondM (\x -> [reverse x, x]) (1,"test") == [(1,"tset"),(1,"test")] [extra] +++ OK, passed 100 tests. [extra] (succ *** reverse) (1,"test") == (2,"tset") [extra] +++ OK, passed 100 tests. [extra] (succ &&& pred) 1 == (2,0) [extra] +++ OK, passed 100 tests. [extra] dupe 12 == (12, 12) [extra] +++ OK, passed 100 tests. [extra] both succ (1,2) == (2,3) [extra] +++ OK, passed 100 tests. [extra] first3 succ (1,1,1) == (2,1,1) [extra] +++ OK, passed 100 tests. [extra] second3 succ (1,1,1) == (1,2,1) [extra] +++ OK, passed 100 tests. [extra] third3 succ (1,1,1) == (1,1,2) [extra] +++ OK, passed 100 tests. [extra] \x -> readVersion (showVersion x) == x [extra] +++ OK, passed 100 tests. [extra] readVersion "hello" == undefined [extra] +++ OK, passed 100 tests. [extra] showDP 4 pi == "3.1416" [extra] +++ OK, passed 100 tests. [extra] showDP 0 pi == "3" [extra] +++ OK, passed 100 tests. [extra] showDP 2 3 == "3.00" [extra] +++ OK, passed 100 tests. [extra] withTempDir $ \dir -> do writeFile (dir "foo.txt") ""; withCurrentDirectory dir $ doesFileExist "foo.txt" [extra] +++ OK, passed 100 tests. [extra] withTempDir $ \dir -> do writeFile (dir "test.txt") ""; (== [dir "test.txt"]) <$> listContents dir [extra] +++ OK, passed 100 tests. [extra] listTest listContents ["bar.txt","foo/baz.txt","zoo"] ["bar.txt","foo","zoo"] [extra] +++ OK, passed 100 tests. [extra] listTest listDirectories ["bar.txt","foo/baz.txt","zoo"] ["foo"] [extra] +++ OK, passed 100 tests. [extra] listTest listFiles ["bar.txt","foo/baz.txt","zoo"] ["bar.txt","zoo"] [extra] +++ OK, passed 100 tests. [extra] listTest listFilesRecursive ["bar.txt","zoo","foo" "baz.txt"] ["bar.txt","zoo","foo" "baz.txt"] [extra] +++ OK, passed 100 tests. [extra] listTest (listFilesInside $ pure . not . isPrefixOf "." . takeFileName) ["bar.txt","foo" "baz.txt",".foo" "baz2.txt", "zoo"] ["bar.txt","zoo","foo" "baz.txt"] [extra] +++ OK, passed 100 tests. [extra] listTest (listFilesInside $ const $ pure False) ["bar.txt"] [] [extra] +++ OK, passed 100 tests. [extra] isWindows == (os == "mingw32") [extra] +++ OK, passed 100 tests. [extra] \(filter isHexDigit -> s) -> fmap (== s) $ withTempFile $ \file -> do writeFile file s; readFile' file [extra] +++ OK, passed 100 tests. [extra] \s -> withTempFile $ \file -> do writeFileUTF8 file s; fmap (== s) $ readFileUTF8' file [extra] +++ OK, passed 100 tests. [extra] \(ASCIIString s) -> withTempFile $ \file -> do writeFileBinary file s; fmap (== s) $ readFileBinary' file [extra] +++ OK, passed 100 tests. [extra] captureOutput (print 1) == pure ("1\n",()) [extra] +++ OK, passed 100 tests. [extra] withTempFile doesFileExist == pure True [extra] +++ OK, passed 100 tests. [extra] (doesFileExist =<< withTempFile pure) == pure False [extra] +++ OK, passed 100 tests. [extra] withTempFile readFile' == pure "" [extra] +++ OK, passed 100 tests. [extra] withTempDir doesDirectoryExist == pure True [extra] +++ OK, passed 100 tests. [extra] (doesDirectoryExist =<< withTempDir pure) == pure False [extra] +++ OK, passed 100 tests. [extra] withTempDir listFiles == pure [] [extra] +++ OK, passed 100 tests. [extra] fileEq "does_not_exist1" "does_not_exist2" == undefined [extra] +++ OK, passed 100 tests. [extra] fileEq "does_not_exist" "does_not_exist" == undefined [extra] +++ OK, passed 100 tests. [extra] withTempFile $ \f1 -> fileEq "does_not_exist" f1 == undefined [extra] +++ OK, passed 100 tests. [extra] withTempFile $ \f1 -> withTempFile $ \f2 -> fileEq f1 f2 [extra] +++ OK, passed 100 tests. [extra] withTempFile $ \f1 -> withTempFile $ \f2 -> writeFile f1 "a" >> writeFile f2 "a" >> fileEq f1 f2 [extra] +++ OK, passed 100 tests. [extra] withTempFile $ \f1 -> withTempFile $ \f2 -> writeFile f1 "a" >> writeFile f2 "b" >> notM (fileEq f1 f2) [extra] +++ OK, passed 100 tests. [extra] fmap (round . fst) (duration $ sleep 1) == pure 1 [extra] +++ OK, passed 100 tests. [extra] timeout (-3) (print 1) == pure Nothing [extra] +++ OK, passed 100 tests. [extra] timeout 0.1 (print 1) == fmap Just (print 1) [extra] +++ OK, passed 100 tests. [extra] do (t, _) <- duration $ timeout 0.1 $ sleep 1000; print t; pure $ t < 1 [extra] 0.102222407 [extra] +++ OK, passed 100 tests. [extra] timeout 0.1 (sleep 2 >> print 1) == pure Nothing [extra] +++ OK, passed 100 tests. [extra] showDuration 3.435 == "3.44s" [extra] +++ OK, passed 100 tests. [extra] showDuration 623.8 == "10m24s" [extra] +++ OK, passed 100 tests. [extra] showDuration 62003.8 == "17h13m" [extra] +++ OK, passed 100 tests. [extra] showDuration 1e8 == "27777h47m" [extra] +++ OK, passed 100 tests. [extra] do f <- offsetTime; xs <- replicateM 10 f; pure $ xs == sort xs [extra] +++ OK, passed 100 tests. [extra] do (a,_) <- duration $ sleep 1; pure $ a >= 1 && a <= 1.5 [extra] +++ OK, passed 100 tests. [extra] Extra export [extra] +++ OK, passed 100 tests. [extra] withTempFile [extra] ....done [extra] withTempDir [extra] ....done [extra] retry [extra] +++ OK, passed 100 tests. [extra] barrier [extra] Success (325 tests) [extra] Test suite extra-test: PASS [extra] Test suite logged to: dist/test/extra-1.8.1-extra-test.log [extra] 1 of 1 test suites (1 of 1 test cases) passed. [extra] Phase: haddockPhase [extra] Preprocessing library for extra-1.8.1... [extra] Running Haddock on library for extra-1.8.1... [extra] [ 1 of 22] Compiling Data.IORef.Extra ( src/Data/IORef/Extra.hs, nothing ) [extra] [ 2 of 22] Compiling Data.Monoid.Extra ( src/Data/Monoid/Extra.hs, nothing ) [extra] [ 3 of 22] Compiling Data.Tuple.Extra ( src/Data/Tuple/Extra.hs, nothing ) [extra] [ 4 of 22] Compiling Data.Typeable.Extra ( src/Data/Typeable/Extra.hs, nothing ) [extra] [ 5 of 22] Compiling Numeric.Extra ( src/Numeric/Extra.hs, nothing ) [extra] [ 6 of 22] Compiling Partial ( src/Partial.hs, nothing ) [extra] [ 7 of 22] Compiling Data.List.Extra ( src/Data/List/Extra.hs, nothing ) [extra] [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, nothing ) [extra] [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, nothing ) [extra] [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, nothing ) [extra] [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, nothing ) [extra] [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, nothing ) [extra] [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, nothing ) [extra] [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, nothing ) [extra] [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, nothing ) [extra] [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, nothing ) [extra] [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, nothing ) [extra] [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, nothing ) [extra] [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, nothing ) [extra] [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, nothing ) [extra] [21 of 22] Compiling Extra ( src/Extra.hs, nothing ) [extra] [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, nothing ) [extra] Haddock coverage: [extra]  100% ( 6 / 6) in 'Data.IORef.Extra' [extra]  100% ( 4 / 4) in 'Data.Monoid.Extra' [extra] Warning: 'Arrow' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra]  100% ( 22 / 22) in 'Data.Tuple.Extra' [extra]  100% ( 2 / 2) in 'Data.Typeable.Extra' [extra]  100% ( 7 / 7) in 'Numeric.Extra' [extra] Warning: '(:)' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra] Warning: 'unzip' is ambiguous. It is defined [extra]  * in ‘GHC.Internal.Data.Functor’ [extra]  * in ‘GHC.Internal.List’ [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined in ‘GHC.Internal.List’ [extra] Warning: 'firstJustM' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra]  100% ( 85 / 85) in 'Data.List.Extra' [extra] Warning: 'Version' is ambiguous. It is defined [extra]  * in ‘GHC.Internal.Data.Version’ [extra]  * in ‘GHC.Internal.Data.Version’ [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined in ‘GHC.Internal.Data.Version’ [extra]  100% ( 3 / 3) in 'Data.Version.Extra' [extra] Warning: 'length' is ambiguous. It is defined [extra]  * in ‘Data.List.NonEmpty’ [extra]  * in ‘GHC.Internal.Data.Foldable’ [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined in ‘GHC.Internal.Data.Foldable’ [extra]  100% ( 23 / 23) in 'Data.List.NonEmpty.Extra' [extra] Warning: 'fromJust' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra]  100% ( 11 / 11) in 'Data.Either.Extra' [extra] Warning: 'ErrorCall' is ambiguous. It is defined [extra]  * in ‘GHC.Internal.Exception’ [extra]  * in ‘GHC.Internal.Exception’ [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined in ‘GHC.Internal.Exception’ [extra] Warning: 'AssertionFailed' is ambiguous. It is defined [extra]  * in ‘GHC.Internal.IO.Exception’ [extra]  * in ‘GHC.Internal.IO.Exception’ [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined in ‘GHC.Internal.IO.Exception’ [extra] Warning: 'SomeException' is ambiguous. It is defined [extra]  * in ‘GHC.Internal.Exception.Type’ [extra]  * in ‘GHC.Internal.Exception.Type’ [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined in ‘GHC.Internal.Exception.Type’ [extra]  100% ( 21 / 21) in 'Control.Exception.Extra' [extra] Warning: 'partition' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra] Warning: 'mconcatMap' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra] Warning: 'find' is out of scope. [extra]  If you qualify the identifier, haddock can try to link it anyway. [extra]  100% ( 40 / 40) in 'Control.Monad.Extra' [extra]  92% ( 13 / 14) in 'Data.Foldable.Extra' [extra]  Missing documentation for: [extra]  Module header [extra] Warning: 'Lock' is ambiguous. It is defined [extra]  * at src/Control/Concurrent/Extra.hs:106:16 [extra]  * at src/Control/Concurrent/Extra.hs:106:1 [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined at src/Control/Concurrent/Extra.hs:106:1 [extra] Warning: 'Var' is ambiguous. It is defined [extra]  * at src/Control/Concurrent/Extra.hs:146:17 [extra]  * at src/Control/Concurrent/Extra.hs:146:1 [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined at src/Control/Concurrent/Extra.hs:146:1 [extra] Warning: 'Barrier' is ambiguous. It is defined [extra]  * at src/Control/Concurrent/Extra.hs:210:21 [extra]  * at src/Control/Concurrent/Extra.hs:210:1 [extra]  You may be able to disambiguate the identifier by qualifying it or [extra]  by specifying the type/value namespace explicitly. [extra]  Defaulting to the one defined at src/Control/Concurrent/Extra.hs:210:1 [extra]  100% ( 27 / 27) in 'Control.Concurrent.Extra' [extra]  100% ( 8 / 8) in 'System.Directory.Extra' [extra]  100% ( 2 / 2) in 'System.Environment.Extra' [extra]  100% ( 26 / 26) in 'System.IO.Extra' [extra]  100% ( 4 / 4) in 'System.Info.Extra' [extra]  100% ( 5 / 5) in 'System.Process.Extra' [extra]  100% ( 8 / 8) in 'System.Time.Extra' [extra]  100% (270 /270) in 'Extra' [extra]  100% ( 2 / 2) in 'Text.Read.Extra' [extra] Documentation created: dist/doc/html/extra/, dist/doc/html/extra/extra.txt [extra] Preprocessing test suite 'extra-test' for extra-1.8.1... [extra] Phase: installPhase [extra] Installing library in /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [extra] Phase: fixupPhase [extra] shrinking RPATHs of ELF executables and libraries in /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1 [extra] shrinking /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSextra-1.8.1-6dBP7svJ0dU8qAqNvDulTp-ghc9.10.3.so [extra] checking for references to /build/ in /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1... [extra] patching script interpreter paths in /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1 [extra] stripping (with command strip and flags -S -p) in /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1/lib [extra] shrinking RPATHs of ELF executables and libraries in /nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc [extra] checking for references to /build/ in /nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc... [extra] patching script interpreter paths in /nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1 /nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1 /nix/store/xl87s3zj8l5q6nqj44y3sjia0lh1xk1n-extra-1.8.1-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/3fij2i6yj9mimssh8rvq82af9aj1g4d9-extra-1.8.1' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 13 of 19 built, 193 of 193 downloaded from cache Building algebraic-graphs [algebraic-graphs] Phase: setupCompilerEnvironmentPhase [algebraic-graphs] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [algebraic-graphs] Phase: unpackPhase [algebraic-graphs] unpacking source archive /nix/store/gfjyfw1hcshbfclk91difmkphwib8nbd-algebraic-graphs-0.7.tar.gz [algebraic-graphs] source root is algebraic-graphs-0.7 [algebraic-graphs] setting SOURCE_DATE_EPOCH to timestamp 1655769405 of file "algebraic-graphs-0.7/test/Data/Graph/Test/Typed.hs" [algebraic-graphs] Phase: patchPhase [algebraic-graphs] Replace Cabal file with edited version from mirror://hackage/algebraic-graphs-0.7/revision/3.cabal. [algebraic-graphs] applying patch /nix/store/fgaciccwb2z0jmfhs30a1vq03azpd9qd-algebraic-graphs-0.7-allow-inspection-testing-0.6.patch [algebraic-graphs] patching file algebraic-graphs.cabal [algebraic-graphs] Phase: compileBuildDriverPhase [algebraic-graphs] setupCompileFlags: -package-db=/build/tmp.Vq4dS5nPZ3/setup-package.conf.d -threaded [algebraic-graphs] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.Vq4dS5nPZ3/Main.o ) [algebraic-graphs] [2 of 2] Linking Setup [algebraic-graphs] Phase: updateAutotoolsGnuConfigScriptsPhase [algebraic-graphs] Phase: configurePhase [algebraic-graphs] configureFlags: --verbose --prefix=/nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc/share/doc/algebraic-graphs-0.7 --with-gcc=gcc --package-db=/build/tmp.Vq4dS5nPZ3/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [algebraic-graphs] Using Parsec parser [algebraic-graphs] Configuring algebraic-graphs-0.7... [algebraic-graphs] Dependency array >=0.4 && <0.6: using array-0.5.8.0 [algebraic-graphs] Dependency base >=4.11 && <5: using base-4.20.2.0 [algebraic-graphs] Dependency containers >=0.5.5.1 && <0.8: using containers-0.7 [algebraic-graphs] Dependency deepseq >=1.3.0.1 && <1.6: using deepseq-1.5.0.0 [algebraic-graphs] Dependency transformers >=0.4 && <0.7: using transformers-0.6.1.1 [algebraic-graphs] Dependency QuickCheck >=2.14 && <2.16: using QuickCheck-2.15.0.1 [algebraic-graphs] Dependency algebraic-graphs: using algebraic-graphs-0.7 [algebraic-graphs] Dependency array >=0.4 && <0.6: using array-0.5.8.0 [algebraic-graphs] Dependency base >=4.11 && <5: using base-4.20.2.0 [algebraic-graphs] Dependency containers >=0.5.5.1 && <0.8: using containers-0.7 [algebraic-graphs] Dependency deepseq >=1.3.0.1 && <1.6: using deepseq-1.5.0.0 [algebraic-graphs] Dependency extra >=1.4 && <2: using extra-1.8.1 [algebraic-graphs] Dependency inspection-testing >=0.4.2.2 && <0.7: using [algebraic-graphs] inspection-testing-0.6.2 [algebraic-graphs] Dependency transformers >=0.4 && <0.7: using transformers-0.6.1.1 [algebraic-graphs] Source component graph: [algebraic-graphs]  component lib [algebraic-graphs]  component test:main dependency lib [algebraic-graphs] Configured component graph: [algebraic-graphs]  component algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs]  include array-0.5.8.0-78a1 [algebraic-graphs]  include base-4.20.2.0-acb8 [algebraic-graphs]  include containers-0.7-a3f6 [algebraic-graphs]  include deepseq-1.5.0.0-7e72 [algebraic-graphs]  include transformers-0.6.1.1-74e0 [algebraic-graphs]  component algebraic-graphs-0.7-HpZp3e1XogHtfWLbBhV75-main [algebraic-graphs]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [algebraic-graphs]  include algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs]  include array-0.5.8.0-78a1 [algebraic-graphs]  include base-4.20.2.0-acb8 [algebraic-graphs]  include containers-0.7-a3f6 [algebraic-graphs]  include deepseq-1.5.0.0-7e72 [algebraic-graphs]  include extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [algebraic-graphs]  include inspection-testing-0.6.2-3gcuTx3N9ZQ9Hfgft9cZtB [algebraic-graphs]  include transformers-0.6.1.1-74e0 [algebraic-graphs] Linked component graph: [algebraic-graphs]  unit algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs]  include array-0.5.8.0-78a1 [algebraic-graphs]  include base-4.20.2.0-acb8 [algebraic-graphs]  include containers-0.7-a3f6 [algebraic-graphs]  include deepseq-1.5.0.0-7e72 [algebraic-graphs]  include transformers-0.6.1.1-74e0 [algebraic-graphs]  Algebra.Graph=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph,Algebra.Graph.Acyclic.AdjacencyMap=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Acyclic.AdjacencyMap,Algebra.Graph.AdjacencyIntMap=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.AdjacencyIntMap,Algebra.Graph.AdjacencyIntMap.Algorithm=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.AdjacencyIntMap.Algorithm,Algebra.Graph.AdjacencyMap=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.AdjacencyMap,Algebra.Graph.AdjacencyMap.Algorithm=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.AdjacencyMap.Algorithm,Algebra.Graph.Bipartite.AdjacencyMap=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Bipartite.AdjacencyMap,Algebra.Graph.Bipartite.AdjacencyMap.Algorithm=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Bipartite.AdjacencyMap.Algorithm,Algebra.Graph.Class=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Class,Algebra.Graph.Example.Todo=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Example.Todo,Algebra.Graph.Export=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Export,Algebra.Graph.Export.Dot=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Export.Dot,Algebra.Graph.HigherKinded.Class=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.HigherKinded.Class,Algebra.Graph.Internal=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Internal,Algebra.Graph.Label=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Label,Algebra.Graph.Labelled=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Labelled,Algebra.Graph.Labelled.AdjacencyMap=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Labelled.AdjacencyMap,Algebra.Graph.Labelled.Example.Automaton=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Labelled.Example.Automaton,Algebra.Graph.Labelled.Example.Network=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Labelled.Example.Network,Algebra.Graph.NonEmpty=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.NonEmpty,Algebra.Graph.NonEmpty.AdjacencyMap=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.NonEmpty.AdjacencyMap,Algebra.Graph.Relation=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Relation,Algebra.Graph.Relation.Preorder=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Relation.Preorder,Algebra.Graph.Relation.Reflexive=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Relation.Reflexive,Algebra.Graph.Relation.Symmetric=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Relation.Symmetric,Algebra.Graph.Relation.Transitive=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Relation.Transitive,Algebra.Graph.ToGraph=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.ToGraph,Algebra.Graph.Undirected=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Algebra.Graph.Undirected,Data.Graph.Typed=algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW:Data.Graph.Typed [algebraic-graphs]  unit algebraic-graphs-0.7-HpZp3e1XogHtfWLbBhV75-main [algebraic-graphs]  include QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [algebraic-graphs]  include algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs]  include array-0.5.8.0-78a1 [algebraic-graphs]  include base-4.20.2.0-acb8 [algebraic-graphs]  include containers-0.7-a3f6 [algebraic-graphs]  include deepseq-1.5.0.0-7e72 [algebraic-graphs]  include extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [algebraic-graphs]  include inspection-testing-0.6.2-3gcuTx3N9ZQ9Hfgft9cZtB [algebraic-graphs]  include transformers-0.6.1.1-74e0 [algebraic-graphs] Ready component graph: [algebraic-graphs]  definite algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs]  depends array-0.5.8.0-78a1 [algebraic-graphs]  depends base-4.20.2.0-acb8 [algebraic-graphs]  depends containers-0.7-a3f6 [algebraic-graphs]  depends deepseq-1.5.0.0-7e72 [algebraic-graphs]  depends transformers-0.6.1.1-74e0 [algebraic-graphs]  definite algebraic-graphs-0.7-HpZp3e1XogHtfWLbBhV75-main [algebraic-graphs]  depends QuickCheck-2.15.0.1-5qqrNw9iI8fH7J9EyrDE [algebraic-graphs]  depends algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs]  depends array-0.5.8.0-78a1 [algebraic-graphs]  depends base-4.20.2.0-acb8 [algebraic-graphs]  depends containers-0.7-a3f6 [algebraic-graphs]  depends deepseq-1.5.0.0-7e72 [algebraic-graphs]  depends extra-1.8.1-6dBP7svJ0dU8qAqNvDulTp [algebraic-graphs]  depends inspection-testing-0.6.2-3gcuTx3N9ZQ9Hfgft9cZtB [algebraic-graphs]  depends transformers-0.6.1.1-74e0 [algebraic-graphs] Using Cabal-3.12.1.0 compiled by ghc-9.10 [algebraic-graphs] Using compiler: ghc-9.10.3 [algebraic-graphs] Using install prefix: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7 [algebraic-graphs] Executables installed in: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/bin [algebraic-graphs] Libraries installed in: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs] Dynamic Libraries installed in: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [algebraic-graphs] Private executables installed in: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/libexec/x86_64-linux-ghc-9.10.3-5702/algebraic-graphs-0.7 [algebraic-graphs] Data files installed in: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/share/x86_64-linux-ghc-9.10.3-5702/algebraic-graphs-0.7 [algebraic-graphs] Documentation installed in: [algebraic-graphs] /nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc/share/doc/algebraic-graphs-0.7 [algebraic-graphs] Configuration files installed in: [algebraic-graphs] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/etc [algebraic-graphs] No alex found [algebraic-graphs] Using ar found on system at: [algebraic-graphs] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [algebraic-graphs] No c2hs found [algebraic-graphs] No cpphs found [algebraic-graphs] No doctest found [algebraic-graphs] Using gcc version 14.3.0 given by user at: [algebraic-graphs] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [algebraic-graphs] Using ghc version 9.10.3 found on system at: [algebraic-graphs] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [algebraic-graphs] Using ghc-pkg version 9.10.3 found on system at: [algebraic-graphs] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [algebraic-graphs] No ghcjs found [algebraic-graphs] No ghcjs-pkg found [algebraic-graphs] No greencard found [algebraic-graphs] Using haddock version 2.31.1 found on system at: [algebraic-graphs] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [algebraic-graphs] No happy found [algebraic-graphs] Using haskell-suite found on system at: haskell-suite-dummy-location [algebraic-graphs] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [algebraic-graphs] No hmake found [algebraic-graphs] Using hpc version 0.69 found on system at: [algebraic-graphs] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [algebraic-graphs] Using hsc2hs version 0.68.10 found on system at: [algebraic-graphs] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [algebraic-graphs] Using hscolour version 1.25 found on system at: [algebraic-graphs] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [algebraic-graphs] No jhc found [algebraic-graphs] Using ld found on system at: [algebraic-graphs] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [algebraic-graphs] No pkg-config found [algebraic-graphs] Using runghc version 9.10.3 found on system at: [algebraic-graphs] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [algebraic-graphs] Using strip version 2.44 found on system at: [algebraic-graphs] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [algebraic-graphs] Using tar found on system at: [algebraic-graphs] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [algebraic-graphs] No uhc found [algebraic-graphs] Phase: buildPhase [algebraic-graphs] Preprocessing library for algebraic-graphs-0.7... [algebraic-graphs] Building library for algebraic-graphs-0.7... [algebraic-graphs] [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, dist/build/Algebra/Graph/AdjacencyMap.o, dist/build/Algebra/Graph/AdjacencyMap.dyn_o ) [algebraic-graphs] [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, dist/build/Algebra/Graph/AdjacencyIntMap.o, dist/build/Algebra/Graph/AdjacencyIntMap.dyn_o ) [algebraic-graphs] [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.o, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.dyn_o ) [algebraic-graphs] [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, dist/build/Algebra/Graph/Internal.o, dist/build/Algebra/Graph/Internal.dyn_o ) [algebraic-graphs] [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, dist/build/Algebra/Graph.o, dist/build/Algebra/Graph.dyn_o ) [algebraic-graphs] [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, dist/build/Algebra/Graph/HigherKinded/Class.o, dist/build/Algebra/Graph/HigherKinded/Class.dyn_o ) [algebraic-graphs] [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.o, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.dyn_o ) [algebraic-graphs] [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.o, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.dyn_o ) [algebraic-graphs] [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, dist/build/Algebra/Graph/Label.o, dist/build/Algebra/Graph/Label.dyn_o ) [algebraic-graphs] [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.o, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.dyn_o ) [algebraic-graphs] [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.o, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.dyn_o ) [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:384:43: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘head’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 384 | exit v = do newComponent <- (v==).snd.head <$> gets boundaryStack [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:391:21: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘tail’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 391 | pth' = tail v_pth' -- Here we know that v_pth' starts with v [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:395:26: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘head’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 395 | p_v = fst $ head bnd [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:397:21: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘tail’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 397 | bnd' = tail bnd [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.o, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.dyn_o ) [algebraic-graphs] [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, dist/build/Algebra/Graph/ToGraph.o, dist/build/Algebra/Graph/ToGraph.dyn_o ) [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, dist/build/Algebra/Graph/Relation.o, dist/build/Algebra/Graph/Relation.dyn_o ) [algebraic-graphs] [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, dist/build/Algebra/Graph/Relation/Symmetric.o, dist/build/Algebra/Graph/Relation/Symmetric.dyn_o ) [algebraic-graphs] [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, dist/build/Algebra/Graph/NonEmpty.o, dist/build/Algebra/Graph/NonEmpty.dyn_o ) [algebraic-graphs] [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, dist/build/Algebra/Graph/Labelled/AdjacencyMap.o, dist/build/Algebra/Graph/Labelled/AdjacencyMap.dyn_o ) [algebraic-graphs] [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, dist/build/Algebra/Graph/Labelled.o, dist/build/Algebra/Graph/Labelled.dyn_o ) [algebraic-graphs] [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, dist/build/Algebra/Graph/Labelled/Example/Network.o, dist/build/Algebra/Graph/Labelled/Example/Network.dyn_o ) [algebraic-graphs] [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, dist/build/Algebra/Graph/Labelled/Example/Automaton.o, dist/build/Algebra/Graph/Labelled/Example/Automaton.dyn_o ) [algebraic-graphs] [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, dist/build/Algebra/Graph/Export.o, dist/build/Algebra/Graph/Export.dyn_o ) [algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, dist/build/Algebra/Graph/Export/Dot.o, dist/build/Algebra/Graph/Export/Dot.dyn_o ) [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, dist/build/Algebra/Graph/Undirected.o, dist/build/Algebra/Graph/Undirected.dyn_o ) [algebraic-graphs] [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, dist/build/Algebra/Graph/Class.o, dist/build/Algebra/Graph/Class.dyn_o ) [algebraic-graphs] [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, dist/build/Algebra/Graph/Relation/Transitive.o, dist/build/Algebra/Graph/Relation/Transitive.dyn_o ) [algebraic-graphs] [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, dist/build/Algebra/Graph/Relation/Reflexive.o, dist/build/Algebra/Graph/Relation/Reflexive.dyn_o ) [algebraic-graphs] [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, dist/build/Algebra/Graph/Relation/Preorder.o, dist/build/Algebra/Graph/Relation/Preorder.dyn_o ) [algebraic-graphs] [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, dist/build/Algebra/Graph/Example/Todo.o, dist/build/Algebra/Graph/Example/Todo.dyn_o ) [algebraic-graphs] [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, dist/build/Data/Graph/Typed.o, dist/build/Data/Graph/Typed.dyn_o ) [algebraic-graphs] [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, dist/build/Algebra/Graph/AdjacencyMap.p_o ) [algebraic-graphs] [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, dist/build/Algebra/Graph/AdjacencyIntMap.p_o ) [algebraic-graphs] [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.p_o ) [algebraic-graphs] [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, dist/build/Algebra/Graph/Internal.p_o ) [algebraic-graphs] [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, dist/build/Algebra/Graph.p_o ) [algebraic-graphs] [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, dist/build/Algebra/Graph/HigherKinded/Class.p_o ) [algebraic-graphs] [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.p_o ) [algebraic-graphs] [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.p_o ) [algebraic-graphs] [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, dist/build/Algebra/Graph/Label.p_o ) [algebraic-graphs] [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.p_o ) [algebraic-graphs] [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.p_o ) [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:384:43: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘head’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 384 | exit v = do newComponent <- (v==).snd.head <$> gets boundaryStack [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:391:21: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘tail’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 391 | pth' = tail v_pth' -- Here we know that v_pth' starts with v [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:395:26: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘head’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 395 | p_v = fst $ head bnd [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:397:21: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘tail’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 397 | bnd' = tail bnd [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.p_o ) [algebraic-graphs] [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, dist/build/Algebra/Graph/ToGraph.p_o ) [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, dist/build/Algebra/Graph/Relation.p_o ) [algebraic-graphs] [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, dist/build/Algebra/Graph/Relation/Symmetric.p_o ) [algebraic-graphs] [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, dist/build/Algebra/Graph/NonEmpty.p_o ) [algebraic-graphs] [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, dist/build/Algebra/Graph/Labelled/AdjacencyMap.p_o ) [algebraic-graphs] [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, dist/build/Algebra/Graph/Labelled.p_o ) [algebraic-graphs] [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, dist/build/Algebra/Graph/Labelled/Example/Network.p_o ) [algebraic-graphs] [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, dist/build/Algebra/Graph/Labelled/Example/Automaton.p_o ) [algebraic-graphs] [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, dist/build/Algebra/Graph/Export.p_o ) [algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, dist/build/Algebra/Graph/Export/Dot.p_o ) [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, dist/build/Algebra/Graph/Undirected.p_o ) [algebraic-graphs] [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, dist/build/Algebra/Graph/Class.p_o ) [algebraic-graphs] [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, dist/build/Algebra/Graph/Relation/Transitive.p_o ) [algebraic-graphs] [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, dist/build/Algebra/Graph/Relation/Reflexive.p_o ) [algebraic-graphs] [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, dist/build/Algebra/Graph/Relation/Preorder.p_o ) [algebraic-graphs] [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, dist/build/Algebra/Graph/Example/Todo.p_o ) [algebraic-graphs] [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, dist/build/Data/Graph/Typed.p_o ) [algebraic-graphs] Preprocessing test suite 'main' for algebraic-graphs-0.7... [algebraic-graphs] Building test suite 'main' for algebraic-graphs-0.7... [algebraic-graphs] [ 1 of 23] Compiling Algebra.Graph.Test.Arbitrary ( test/Algebra/Graph/Test/Arbitrary.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Arbitrary.o, dist/build/main/main-tmp/Algebra/Graph/Test/Arbitrary.dyn_o ) [algebraic-graphs] [ 2 of 23] Compiling Algebra.Graph.Test.API ( test/Algebra/Graph/Test/API.hs, dist/build/main/main-tmp/Algebra/Graph/Test/API.o, dist/build/main/main-tmp/Algebra/Graph/Test/API.dyn_o ) [algebraic-graphs] [ 3 of 23] Compiling Algebra.Graph.Test ( test/Algebra/Graph/Test.hs, dist/build/main/main-tmp/Algebra/Graph/Test.o, dist/build/main/main-tmp/Algebra/Graph/Test.dyn_o ) [algebraic-graphs] [ 4 of 23] Compiling Algebra.Graph.Test.Acyclic.AdjacencyMap ( test/Algebra/Graph/Test/Acyclic/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Acyclic/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Acyclic/AdjacencyMap.dyn_o ) [algebraic-graphs] [ 5 of 23] Compiling Algebra.Graph.Test.Bipartite.AdjacencyMap ( test/Algebra/Graph/Test/Bipartite/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Bipartite/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Bipartite/AdjacencyMap.dyn_o ) [algebraic-graphs] [ 6 of 23] Compiling Algebra.Graph.Test.Example.Todo ( test/Algebra/Graph/Test/Example/Todo.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Example/Todo.o, dist/build/main/main-tmp/Algebra/Graph/Test/Example/Todo.dyn_o ) [algebraic-graphs] [ 7 of 23] Compiling Algebra.Graph.Test.Export ( test/Algebra/Graph/Test/Export.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Export.o, dist/build/main/main-tmp/Algebra/Graph/Test/Export.dyn_o ) [algebraic-graphs] [ 8 of 23] Compiling Algebra.Graph.Test.Generic ( test/Algebra/Graph/Test/Generic.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Generic.o, dist/build/main/main-tmp/Algebra/Graph/Test/Generic.dyn_o ) [algebraic-graphs] [ 9 of 23] Compiling Algebra.Graph.Test.AdjacencyMap ( test/Algebra/Graph/Test/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyMap.dyn_o ) [algebraic-graphs] [10 of 23] Compiling Algebra.Graph.Test.AdjacencyIntMap ( test/Algebra/Graph/Test/AdjacencyIntMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyIntMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyIntMap.dyn_o ) [algebraic-graphs] [11 of 23] Compiling Algebra.Graph.Test.Graph ( test/Algebra/Graph/Test/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/Graph.dyn_o ) [algebraic-graphs] [12 of 23] Compiling Algebra.Graph.Test.Internal ( test/Algebra/Graph/Test/Internal.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Internal.o, dist/build/main/main-tmp/Algebra/Graph/Test/Internal.dyn_o ) [algebraic-graphs] [13 of 23] Compiling Algebra.Graph.Test.Label ( test/Algebra/Graph/Test/Label.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Label.o, dist/build/main/main-tmp/Algebra/Graph/Test/Label.dyn_o ) [algebraic-graphs] [14 of 23] Compiling Algebra.Graph.Test.Labelled.AdjacencyMap ( test/Algebra/Graph/Test/Labelled/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/AdjacencyMap.dyn_o ) [algebraic-graphs] [15 of 23] Compiling Algebra.Graph.Test.Labelled.Graph ( test/Algebra/Graph/Test/Labelled/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/Graph.dyn_o ) [algebraic-graphs] [16 of 23] Compiling Algebra.Graph.Test.NonEmpty.AdjacencyMap ( test/Algebra/Graph/Test/NonEmpty/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/AdjacencyMap.dyn_o ) [algebraic-graphs] [17 of 23] Compiling Algebra.Graph.Test.NonEmpty.Graph ( test/Algebra/Graph/Test/NonEmpty/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/Graph.dyn_o ) [algebraic-graphs] [18 of 23] Compiling Algebra.Graph.Test.Relation ( test/Algebra/Graph/Test/Relation.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Relation.o, dist/build/main/main-tmp/Algebra/Graph/Test/Relation.dyn_o ) [algebraic-graphs] [19 of 23] Compiling Algebra.Graph.Test.Relation.Symmetric ( test/Algebra/Graph/Test/Relation/Symmetric.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Relation/Symmetric.o, dist/build/main/main-tmp/Algebra/Graph/Test/Relation/Symmetric.dyn_o ) [algebraic-graphs] [20 of 23] Compiling Algebra.Graph.Test.RewriteRules ( test/Algebra/Graph/Test/RewriteRules.hs, dist/build/main/main-tmp/Algebra/Graph/Test/RewriteRules.o, dist/build/main/main-tmp/Algebra/Graph/Test/RewriteRules.dyn_o ) [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:43:1: emptyI === emptyIR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:49:1: vertexI === vertexIR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:56:1: overlayI === overlayIR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:63:1: connectI === connectIR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:69:1: overlaysC `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:76:1: overlaysP === overlaysPR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:82:1: verticesCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:83:1: verticesCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:89:1: connectsC `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:96:1: connectsP === connectsPR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:102:1: isSubgraphOfC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:108:1: cliqueCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:109:1: cliqueCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:115:1: edgesCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:116:1: edgesCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:122:1: starCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:123:1: starCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:130:1: fmapCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:137:1: bindC === bindCR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:144:1: bindP === bindPR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:151:1: apC === apCR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:159:1: apP === apPR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:165:1: eqC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:170:1: eqT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:176:1: ordC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:181:1: ordT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:187:1: isEmptyC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:193:1: sizeC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:199:1: vertexSetC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:205:1: vertexSetC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:210:1: vertexCountT `hasNoType` Data.Set.Internal.Set passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:216:1: edgeCountC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:221:1: edgeCountT `hasNoType` Data.Set.Internal.Set passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:227:1: vertexListCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:228:1: vertexListCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:233:1: vertexListT `hasNoType` Data.Set.Internal.Set passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:239:1: edgeSetC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:244:1: vertexListT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:250:1: edgeListCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:251:1: edgeListCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:256:1: edgeListT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:262:1: hasVertexC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:268:1: hasEdgeC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:274:1: adjacencyListC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:280:1: pathP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:286:1: circuitP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:292:1: bicliqueCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:293:1: bicliqueCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:301:1: replaceVertexCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:309:1: mergeVerticesCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:316:1: splitVertexCP `hasNoType` GHC.Types.List passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:317:1: splitVertexCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:324:1: transposeCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:339:1: simplifyC === simplifyCR passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:345:1: composeCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:352:1: induceCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:359:1: induceJustCP `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:365:1: contextC `hasNoType` Algebra.Graph.Graph passed. [algebraic-graphs] inspection testing successful [algebraic-graphs]  expected successes: 58 [algebraic-graphs] [21 of 23] Compiling Algebra.Graph.Test.Undirected ( test/Algebra/Graph/Test/Undirected.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Undirected.o, dist/build/main/main-tmp/Algebra/Graph/Test/Undirected.dyn_o ) [algebraic-graphs] [22 of 23] Compiling Data.Graph.Test.Typed ( test/Data/Graph/Test/Typed.hs, dist/build/main/main-tmp/Data/Graph/Test/Typed.o, dist/build/main/main-tmp/Data/Graph/Test/Typed.dyn_o ) [algebraic-graphs] [23 of 23] Compiling Main ( test/Main.hs, dist/build/main/main-tmp/Main.o, dist/build/main/main-tmp/Main.dyn_o ) [algebraic-graphs] [24 of 24] Linking dist/build/main/main [algebraic-graphs] buildPhase completed in 1 minutes 6 seconds [algebraic-graphs] Phase: checkPhase [algebraic-graphs] Running 1 test suites... [algebraic-graphs] Test suite main: RUNNING... [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.Show ============ [algebraic-graphs] OK: show empty == "empty" [algebraic-graphs] OK: show (shrink 1) == "vertex 1" [algebraic-graphs] OK: show (shrink $ 1 + 2) == "vertices [1,2]" [algebraic-graphs] OK: show (shrink $ 1 * 2) == "(fromJust . toAcyclic) (edge 1 2)" [algebraic-graphs] OK: show (shrink $ 1 * 2 * 3) == "(fromJust . toAcyclic) (edges [(1,2),(1,3),(2,3)])" [algebraic-graphs] OK: show (shrink $ 1 * 2 + 3) == "(fromJust . toAcyclic) (overlay (vertex 3) (edge 1 2))" [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.fromAcyclic ============ [algebraic-graphs] OK: fromAcyclic empty == empty [algebraic-graphs] OK: fromAcyclic . vertex == vertex [algebraic-graphs] OK: fromAcyclic (shrink $ 1 * 3 * 2) == star 1 [2,3] [algebraic-graphs] OK: vertexCount . fromAcyclic == vertexCount [algebraic-graphs] OK: edgeCount . fromAcyclic == edgeCount [algebraic-graphs] OK: isAcyclic . fromAcyclic == const True [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.union ============ [algebraic-graphs] OK: vertexSet (union x y) == [algebraic-graphs] OK: edgeSet (union x y) == [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.join ============ [algebraic-graphs] OK: vertexSet (join x y) == [algebraic-graphs] OK: edgeSet (join x y) == [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs] OK: isSubgraphOf x (transitiveClosure x) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge 1 2 $ shrink $ 1 * 2) == False [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge 1 2 (shrink $ 1 * 2) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (shrink $ 1 * 2) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (shrink $ 2 * 1) == [(2,1)] [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.adjacencyList ============ [algebraic-graphs] OK: adjacencyList empty == [] [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])] [algebraic-graphs] OK: adjacencyList (shrink $ 1 * 2) == [(1, [2]), (2, [])] [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (shrink $ 1 * 2) == Set.singleton (1,2) [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (shrink $ 1 * 2) == Set.empty [algebraic-graphs] OK: preSet 2 (shrink $ 1 * 2) == Set.fromList [1] [algebraic-graphs] OK: Set.member x . preSet x == const False [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet 1 (shrink $ 1 * 2) == Set.fromList [2] [algebraic-graphs] OK: postSet 2 (shrink $ 1 * 2) == Set.empty [algebraic-graphs] OK: Set.member x . postSet x == const False [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex 1 (shrink $ 1 * 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.removeEdge ============ [algebraic-graphs] OK: removeEdge 1 2 (shrink $ 1 * 2) == vertices [1,2] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 2 (shrink $ 1 * 2 * 3) == shrink ((1 + 2) * 3) [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust . vertex . Just == vertex [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.box ============ [algebraic-graphs] OK: edgeList (box (shrink $ 1 * 2) (shrink $ 10 * 20)) == [algebraic-graphs]  [algebraic-graphs] OK: box x y ~~ box y x [algebraic-graphs] OK: box x (vertex ()) ~~ x [algebraic-graphs] OK: box x empty ~~ empty [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y) [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure empty == empty [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (shrink $ 1 * 2 + 2 * 3) == shrink (1 * 2 + 1 * 3 + 2 * 3) [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.topSort ============ [algebraic-graphs] OK: topSort empty == [] [algebraic-graphs] OK: topSort (vertex x) == [x] [algebraic-graphs] OK: topSort (shrink $ 1 * (2 + 4) + 3 * 4) == [1, 2, 3, 4] [algebraic-graphs] OK: topSort (join x y) == fmap Left (topSort x) ++ fmap Right (topSort y) [algebraic-graphs] OK: Right . topSort == AM.topSort . fromAcyclic [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.scc ============ [algebraic-graphs] OK: scc empty == empty [algebraic-graphs] OK: scc (vertex x) == vertex (NonEmpty.vertex x) [algebraic-graphs] OK: scc (edge 1 1) == vertex (NonEmpty.edge 1 1) [algebraic-graphs] OK: edgeList $ scc (edge 1 2) == [ (NonEmpty.vertex 1, NonEmpty.vertex 2) ] [algebraic-graphs] OK: edgeList $ scc (3 * 1 * 4 * 1 * 5) == [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.toAcyclic ============ [algebraic-graphs] OK: toAcyclic (path [1,2,3]) == Just (shrink $ 1 * 2 + 2 * 3) [algebraic-graphs] OK: toAcyclic (clique [3,2,1]) == Just (transpose (shrink $ 1 * 2 * 3)) [algebraic-graphs] OK: toAcyclic (circuit [1,2,3]) == Nothing [algebraic-graphs] OK: toAcyclic . fromAcyclic == Just [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.toAcyclicOrd ============ [algebraic-graphs] OK: toAcyclicOrd empty == empty [algebraic-graphs] OK: toAcyclicOrd . vertex == vertex [algebraic-graphs] OK: toAcyclicOrd (1 + 2) == shrink (1 + 2) [algebraic-graphs] OK: toAcyclicOrd (1 * 2) == shrink (1 * 2) [algebraic-graphs] OK: toAcyclicOrd (2 * 1) == shrink (1 + 2) [algebraic-graphs] OK: toAcyclicOrd (1 * 2 * 1) == shrink (1 * 2) [algebraic-graphs] OK: toAcyclicOrd (1 * 2 * 3) == shrink (1 * 2 * 3) [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.shrink ============ [algebraic-graphs] OK: shrink . AM.vertex == vertex [algebraic-graphs] OK: shrink . AM.vertices == vertices [algebraic-graphs] OK: shrink . fromAcyclic == id [algebraic-graphs]  [algebraic-graphs] ============ Acyclic.AdjacencyMap.consistent ============ [algebraic-graphs] OK: Arbitrary [algebraic-graphs] OK: empty [algebraic-graphs] OK: vertex [algebraic-graphs] OK: vertices [algebraic-graphs] OK: union [algebraic-graphs] OK: join [algebraic-graphs] OK: transpose [algebraic-graphs] OK: box [algebraic-graphs] OK: transitiveClosure [algebraic-graphs] OK: scc [algebraic-graphs] OK: toAcyclic [algebraic-graphs] OK: toAcyclicOrd [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap ============ [algebraic-graphs] OK: Axioms of graphs [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.fromAdjacencyMap ============ [algebraic-graphs] OK: fromAdjacencyMap == stars . AdjacencyMap.adjacencyList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.consistent ============ [algebraic-graphs] OK: Consistency of the Arbitrary instance [algebraic-graphs]  [algebraic-graphs] OK: consistent empty == True [algebraic-graphs] OK: consistent (vertex x) == True [algebraic-graphs] OK: consistent (overlay x y) == True [algebraic-graphs] OK: consistent (connect x y) == True [algebraic-graphs] OK: consistent (edge x y) == True [algebraic-graphs] OK: consistent (edges xs) == True [algebraic-graphs] OK: consistent (stars xs) == True [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.Show ============ [algebraic-graphs] OK: show (empty ) == "empty" [algebraic-graphs] OK: show (1 ) == "vertex 1" [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]" [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" [algebraic-graphs]  [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)" [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.Ord ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 1 2 < edge 1 3 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.connect ============ [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges == overlays . map (uncurry edge) [algebraic-graphs] OK: edgeCount . edges == length . nub [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.fromAdjacencyIntSets ============ [algebraic-graphs] OK: fromAdjacencyIntSets [] == empty [algebraic-graphs] OK: fromAdjacencyIntSets [(x, IntSet.empty)] == vertex x [algebraic-graphs] OK: fromAdjacencyIntSets [(x, IntSet.singleton y)] == edge x y [algebraic-graphs] OK: fromAdjacencyIntSets . map (fmap IntSet.fromList) == stars [algebraic-graphs] OK: overlay (fromAdjacencyIntSets xs) (fromAdjacencyIntSets ys) == fromAdjacencyIntSets (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.toGraph et al. ============ [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&) [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+) [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||) [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph [algebraic-graphs] OK: vertexCount == Set.size . vertexSet [algebraic-graphs] OK: edgeCount == Set.size . edgeSet [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.foldg ============ [algebraic-graphs] OK: foldg empty vertex overlay connect == id [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.vertexIntSet ============ [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] [algebraic-graphs] OK: edgeList . edges == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.adjacencyList ============ [algebraic-graphs] OK: adjacencyList empty == [] [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])] [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.preIntSet ============ [algebraic-graphs] OK: preIntSet x empty == IntSet.empty [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.postIntSet ============ [algebraic-graphs] OK: postIntSet x empty == IntSet.empty [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.path ============ [algebraic-graphs] OK: path [] == empty [algebraic-graphs] OK: path [x] == vertex x [algebraic-graphs] OK: path [x,y] == edge x y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [x] == edge x x [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.clique ============ [algebraic-graphs] OK: clique [] == empty [algebraic-graphs] OK: clique [x] == vertex x [algebraic-graphs] OK: clique [x,y] == edge x y [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique [x] [] == vertex x [algebraic-graphs] OK: biclique [] [y] == vertex y [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == vertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: stars . adjacencyList == id [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.forest ============ [algebraic-graphs] OK: forest [] == empty [algebraic-graphs] OK: forest [x] == tree x [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] [algebraic-graphs] OK: forest == overlays . map tree [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge x y) == edge y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.compose ============ [algebraic-graphs] OK: compose empty x == empty [algebraic-graphs] OK: compose x empty == empty [algebraic-graphs] OK: compose (vertex x) y == empty [algebraic-graphs] OK: compose x (vertex y) == empty [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z) [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z) [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.closure ============ [algebraic-graphs] OK: closure empty == empty [algebraic-graphs] OK: closure (vertex x) == edge x x [algebraic-graphs] OK: closure (edge x x) == edge x x [algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs) [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure [algebraic-graphs] OK: closure . closure == closure [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.reflexiveClosure ============ [algebraic-graphs] OK: reflexiveClosure empty == empty [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.symmetricClosure ============ [algebraic-graphs] OK: symmetricClosure empty == empty [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x [algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)] [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x) [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure empty == empty [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y [algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs) [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.bfsForest ============ [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0] == empty [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [1] == edge 1 2 [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2] == vertex 2 [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0,1,2] == vertices [1,2] [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2,1,0] == vertices [1,2] [algebraic-graphs] OK: forest $ bfsForest (edge 1 1) [1] == vertex 1 [algebraic-graphs] OK: isSubgraphOf (forest $ bfsForest x vs) x == True [algebraic-graphs] OK: bfsForest x (vertexList x) == map ( -> Node v []) (nub $ vertexList x) [algebraic-graphs] OK: bfsForest x [] == [] [algebraic-graphs] OK: bfsForest empty vs == [] [algebraic-graphs] OK: bfsForest (3 * (1 + 4) * (1 + 5)) [1,4] == [algebraic-graphs] OK: forest $ bfsForest (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1] + path [3,4,5] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.bfs ============ [algebraic-graphs] OK: bfs (edge 1 2) [0] == [] [algebraic-graphs] OK: bfs (edge 1 2) [1] == [[1], [2]] [algebraic-graphs] OK: bfs (edge 1 2) [2] == [[2]] [algebraic-graphs] OK: bfs (edge 1 2) [1,2] == [[1,2]] [algebraic-graphs] OK: bfs (edge 1 2) [2,1] == [[2,1]] [algebraic-graphs] OK: bfs (edge 1 1) [1] == [[1]] [algebraic-graphs] OK: bfs empty vs == [] [algebraic-graphs] OK: bfs x [] == [] [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,2] == [[1,2]] [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,3] == [[1,3], [2,4]] [algebraic-graphs] OK: bfs (3 * (1 + 4) * (1 + 5)) [3] == [[3], [1,4,5]] [algebraic-graphs] OK: bfs (circuit [1..5] + circuit [5,4..1]) [2] == [[2], [1,3], [5,4]] [algebraic-graphs] OK: concat $ bfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,4,1,5] [algebraic-graphs] OK: map concat . transpose . map levels . bfsForest x == bfs x [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.dfsForest ============ [algebraic-graphs] OK: forest $ dfsForest empty == empty [algebraic-graphs] OK: forest $ dfsForest (edge 1 1) == vertex 1 [algebraic-graphs] OK: forest $ dfsForest (edge 1 2) == edge 1 2 [algebraic-graphs] OK: forest $ dfsForest (edge 2 1) == vertices [1,2] [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest x) x == True [algebraic-graphs] OK: isDfsForestOf (dfsForest x) x == True [algebraic-graphs] OK: dfsForest . forest . dfsForest == dfsForest [algebraic-graphs] OK: dfsForest (vertices vs) == map (\v -> Node v []) (nub $ sort vs) [algebraic-graphs] OK: dfsForest $ 3 * (1 + 4) * (1 + 5) == [algebraic-graphs] OK: forest (dfsForest $ circuit [1..5] + circuit [5,4..1]) == path [1,2,3,4,5] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.dfsForestFrom ============ [algebraic-graphs] OK: forest $ dfsForestFrom empty vs == empty [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 1) [1] == vertex 1 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [0] == empty [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1] == edge 1 2 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2] == vertex 2 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1,2] == edge 1 2 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2,1] == vertices [1,2] [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom x vs) x == True [algebraic-graphs] OK: isDfsForestOf (dfsForestFrom x (vertexList x)) x == True [algebraic-graphs] OK: dfsForestFrom x (vertexList x) == dfsForest x [algebraic-graphs] OK: dfsForestFrom x [] == [] [algebraic-graphs] OK: dfsForestFrom (3 * (1 + 4) * (1 + 5)) [1,4] == [algebraic-graphs] OK: forest $ dfsForestFrom (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1,5,4] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.dfs ============ [algebraic-graphs] OK: dfs empty vs == [] [algebraic-graphs] OK: dfs (edge 1 1) [1] == [1] [algebraic-graphs] OK: dfs (edge 1 2) [0] == [] [algebraic-graphs] OK: dfs (edge 1 2) [1] == [1,2] [algebraic-graphs] OK: dfs (edge 1 2) [2] == [2] [algebraic-graphs] OK: dfs (edge 1 2) [1,2] == [1,2] [algebraic-graphs] OK: dfs (edge 1 2) [2,1] == [2,1] [algebraic-graphs] OK: dfs x [] == [] [algebraic-graphs]  [algebraic-graphs] OK: and [ hasVertex v x | v <- dfs x vs ] == True [algebraic-graphs] OK: dfs (3 * (1 + 4) * (1 + 5)) [1,4] == [1,5,4] [algebraic-graphs] OK: dfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,1,5,4] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.dfs ============ [algebraic-graphs] OK: reachable empty x == [] [algebraic-graphs] OK: reachable (vertex 1) 1 == [1] [algebraic-graphs] OK: reachable (edge 1 1) 1 == [1] [algebraic-graphs] OK: reachable (edge 1 2) 0 == [] [algebraic-graphs] OK: reachable (edge 1 2) 1 == [1,2] [algebraic-graphs] OK: reachable (edge 1 2) 2 == [2] [algebraic-graphs] OK: reachable (path [1..8] ) 4 == [4..8] [algebraic-graphs] OK: reachable (circuit [1..8] ) 4 == [4..8] ++ [1..3] [algebraic-graphs] OK: reachable (clique [8,7..1]) 8 == [8] ++ [1..7] [algebraic-graphs]  [algebraic-graphs] OK: and [ hasVertex v x | v <- reachable x y ] == True [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.topSort ============ [algebraic-graphs] OK: topSort (1 * 2 + 3 * 1) == Right [3,1,2] [algebraic-graphs] OK: topSort (path [1..5]) == Right [1..5] [algebraic-graphs] OK: topSort (3 * (1 * 4 + 2 * 5)) == Right [3,1,2,4,5] [algebraic-graphs] OK: topSort (1 * 2 + 2 * 1) == Left (2 :| [1]) [algebraic-graphs] OK: topSort (path [5,4..1] + edge 2 4) == Left (4 :| [3,2]) [algebraic-graphs] OK: topSort (circuit [1..5]) == Left (3 :| [1,2]) [algebraic-graphs] OK: topSort (circuit [1..3] + circuit [3,2,1]) == Left (3 :| [2]) [algebraic-graphs] OK: topSort (1 * 2 + (5 + 2) * 1 + 3 * 4 * 3) == Left (1 :| [2]) [algebraic-graphs] OK: fmap (flip isTopSortOf x) (topSort x) /= Right False [algebraic-graphs] OK: topSort . vertices == Right . nub . sort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.testIsAcyclic ============ [algebraic-graphs] OK: isAcyclic (1 * 2 + 3 * 1) == True [algebraic-graphs] OK: isAcyclic (1 * 2 + 2 * 1) == False [algebraic-graphs] OK: isAcyclic . circuit == null [algebraic-graphs] OK: isAcyclic == isRight . topSort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.isDfsForestOf ============ [algebraic-graphs] OK: isDfsForestOf [] empty == True [algebraic-graphs] OK: isDfsForestOf [] (vertex 1) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 1) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 2) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 1 []] (vertex 1) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 1) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 2) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 []] (edge 1 2) == False [algebraic-graphs] OK: isDfsForestOf [Node 2 [], Node 1 []] (edge 1 2) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 []]] (edge 1 2) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 []] (vertices [1,2]) == True [algebraic-graphs] OK: isDfsForestOf [Node 2 [], Node 1 []] (vertices [1,2]) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 []]] (vertices [1,2]) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 [Node 3 []]]] (path [1,2,3]) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 3 [Node 2 []]]] (path [1,2,3]) == False [algebraic-graphs] OK: isDfsForestOf [Node 3 [], Node 1 [Node 2 []]] (path [1,2,3]) == True [algebraic-graphs] OK: isDfsForestOf [Node 2 [Node 3 []], Node 1 []] (path [1,2,3]) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 [Node 3 []]] (path [1,2,3]) == False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyIntMap.isTopSortOf ============ [algebraic-graphs] OK: isTopSortOf [3,1,2] (1 * 2 + 3 * 1) == True [algebraic-graphs] OK: isTopSortOf [1,2,3] (1 * 2 + 3 * 1) == False [algebraic-graphs] OK: isTopSortOf [] (1 * 2 + 3 * 1) == False [algebraic-graphs] OK: isTopSortOf [] empty == True [algebraic-graphs] OK: isTopSortOf [x] (vertex x) == True [algebraic-graphs] OK: isTopSortOf [x] (edge x x) == False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap ============ [algebraic-graphs] OK: Axioms of graphs [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.consistent ============ [algebraic-graphs] OK: Consistency of the Arbitrary instance [algebraic-graphs]  [algebraic-graphs] OK: consistent empty == True [algebraic-graphs] OK: consistent (vertex x) == True [algebraic-graphs] OK: consistent (overlay x y) == True [algebraic-graphs] OK: consistent (connect x y) == True [algebraic-graphs] OK: consistent (edge x y) == True [algebraic-graphs] OK: consistent (edges xs) == True [algebraic-graphs] OK: consistent (stars xs) == True [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.Show ============ [algebraic-graphs] OK: show (empty ) == "empty" [algebraic-graphs] OK: show (1 ) == "vertex 1" [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]" [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" [algebraic-graphs]  [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)" [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.Ord ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 1 2 < edge 1 3 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.connect ============ [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges == overlays . map (uncurry edge) [algebraic-graphs] OK: edgeCount . edges == length . nub [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.fromAdjacencySets ============ [algebraic-graphs] OK: fromAdjacencySets [] == empty [algebraic-graphs] OK: fromAdjacencySets [(x, Set.empty)] == vertex x [algebraic-graphs] OK: fromAdjacencySets [(x, Set.singleton y)] == edge x y [algebraic-graphs] OK: fromAdjacencySets . map (fmap Set.fromList) == stars [algebraic-graphs] OK: overlay (fromAdjacencySets xs) (fromAdjacencySets ys) == fromAdjacencySets (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.toGraph et al. ============ [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&) [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+) [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||) [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph [algebraic-graphs] OK: vertexCount == Set.size . vertexSet [algebraic-graphs] OK: edgeCount == Set.size . edgeSet [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.foldg ============ [algebraic-graphs] OK: foldg empty vertex overlay connect == id [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.vertexIntSet ============ [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] [algebraic-graphs] OK: edgeList . edges == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.adjacencyList ============ [algebraic-graphs] OK: adjacencyList empty == [] [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])] [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.preIntSet ============ [algebraic-graphs] OK: preIntSet x empty == IntSet.empty [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.postIntSet ============ [algebraic-graphs] OK: postIntSet x empty == IntSet.empty [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.path ============ [algebraic-graphs] OK: path [] == empty [algebraic-graphs] OK: path [x] == vertex x [algebraic-graphs] OK: path [x,y] == edge x y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [x] == edge x x [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.clique ============ [algebraic-graphs] OK: clique [] == empty [algebraic-graphs] OK: clique [x] == vertex x [algebraic-graphs] OK: clique [x,y] == edge x y [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique [x] [] == vertex x [algebraic-graphs] OK: biclique [] [y] == vertex y [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == vertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: stars . adjacencyList == id [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.forest ============ [algebraic-graphs] OK: forest [] == empty [algebraic-graphs] OK: forest [x] == tree x [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] [algebraic-graphs] OK: forest == overlays . map tree [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge x y) == edge y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.compose ============ [algebraic-graphs] OK: compose empty x == empty [algebraic-graphs] OK: compose x empty == empty [algebraic-graphs] OK: compose (vertex x) y == empty [algebraic-graphs] OK: compose x (vertex y) == empty [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z) [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z) [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.closure ============ [algebraic-graphs] OK: closure empty == empty [algebraic-graphs] OK: closure (vertex x) == edge x x [algebraic-graphs] OK: closure (edge x x) == edge x x [algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs) [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure [algebraic-graphs] OK: closure . closure == closure [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x) [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.reflexiveClosure ============ [algebraic-graphs] OK: reflexiveClosure empty == empty [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.symmetricClosure ============ [algebraic-graphs] OK: symmetricClosure empty == empty [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x [algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)] [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x) [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure empty == empty [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y [algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs) [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.box ============ [algebraic-graphs] OK: box x y ~~ box y x [algebraic-graphs] OK: box x (overlay y z) == overlay (box x y) (box x z) [algebraic-graphs] OK: box x (vertex ()) ~~ x [algebraic-graphs] OK: box x empty ~~ empty [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y) [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.bfsForest ============ [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0] == empty [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [1] == edge 1 2 [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2] == vertex 2 [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0,1,2] == vertices [1,2] [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2,1,0] == vertices [1,2] [algebraic-graphs] OK: forest $ bfsForest (edge 1 1) [1] == vertex 1 [algebraic-graphs] OK: isSubgraphOf (forest $ bfsForest x vs) x == True [algebraic-graphs] OK: bfsForest x (vertexList x) == map ( -> Node v []) (nub $ vertexList x) [algebraic-graphs] OK: bfsForest x [] == [] [algebraic-graphs] OK: bfsForest empty vs == [] [algebraic-graphs] OK: bfsForest (3 * (1 + 4) * (1 + 5)) [1,4] == [algebraic-graphs] OK: forest $ bfsForest (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1] + path [3,4,5] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.bfs ============ [algebraic-graphs] OK: bfs (edge 1 2) [0] == [] [algebraic-graphs] OK: bfs (edge 1 2) [1] == [[1], [2]] [algebraic-graphs] OK: bfs (edge 1 2) [2] == [[2]] [algebraic-graphs] OK: bfs (edge 1 2) [1,2] == [[1,2]] [algebraic-graphs] OK: bfs (edge 1 2) [2,1] == [[2,1]] [algebraic-graphs] OK: bfs (edge 1 1) [1] == [[1]] [algebraic-graphs] OK: bfs empty vs == [] [algebraic-graphs] OK: bfs x [] == [] [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,2] == [[1,2]] [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,3] == [[1,3], [2,4]] [algebraic-graphs] OK: bfs (3 * (1 + 4) * (1 + 5)) [3] == [[3], [1,4,5]] [algebraic-graphs] OK: bfs (circuit [1..5] + circuit [5,4..1]) [2] == [[2], [1,3], [5,4]] [algebraic-graphs] OK: concat $ bfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,4,1,5] [algebraic-graphs] OK: map concat . transpose . map levels . bfsForest x == bfs x [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.dfsForest ============ [algebraic-graphs] OK: forest $ dfsForest empty == empty [algebraic-graphs] OK: forest $ dfsForest (edge 1 1) == vertex 1 [algebraic-graphs] OK: forest $ dfsForest (edge 1 2) == edge 1 2 [algebraic-graphs] OK: forest $ dfsForest (edge 2 1) == vertices [1,2] [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest x) x == True [algebraic-graphs] OK: isDfsForestOf (dfsForest x) x == True [algebraic-graphs] OK: dfsForest . forest . dfsForest == dfsForest [algebraic-graphs] OK: dfsForest (vertices vs) == map (\v -> Node v []) (nub $ sort vs) [algebraic-graphs] OK: dfsForest $ 3 * (1 + 4) * (1 + 5) == [algebraic-graphs] OK: forest (dfsForest $ circuit [1..5] + circuit [5,4..1]) == path [1,2,3,4,5] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.dfsForestFrom ============ [algebraic-graphs] OK: forest $ dfsForestFrom empty vs == empty [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 1) [1] == vertex 1 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [0] == empty [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1] == edge 1 2 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2] == vertex 2 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1,2] == edge 1 2 [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2,1] == vertices [1,2] [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom x vs) x == True [algebraic-graphs] OK: isDfsForestOf (dfsForestFrom x (vertexList x)) x == True [algebraic-graphs] OK: dfsForestFrom x (vertexList x) == dfsForest x [algebraic-graphs] OK: dfsForestFrom x [] == [] [algebraic-graphs] OK: dfsForestFrom (3 * (1 + 4) * (1 + 5)) [1,4] == [algebraic-graphs] OK: forest $ dfsForestFrom (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1,5,4] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.dfs ============ [algebraic-graphs] OK: dfs empty vs == [] [algebraic-graphs] OK: dfs (edge 1 1) [1] == [1] [algebraic-graphs] OK: dfs (edge 1 2) [0] == [] [algebraic-graphs] OK: dfs (edge 1 2) [1] == [1,2] [algebraic-graphs] OK: dfs (edge 1 2) [2] == [2] [algebraic-graphs] OK: dfs (edge 1 2) [1,2] == [1,2] [algebraic-graphs] OK: dfs (edge 1 2) [2,1] == [2,1] [algebraic-graphs] OK: dfs x [] == [] [algebraic-graphs]  [algebraic-graphs] OK: and [ hasVertex v x | v <- dfs x vs ] == True [algebraic-graphs] OK: dfs (3 * (1 + 4) * (1 + 5)) [1,4] == [1,5,4] [algebraic-graphs] OK: dfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,1,5,4] [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.dfs ============ [algebraic-graphs] OK: reachable empty x == [] [algebraic-graphs] OK: reachable (vertex 1) 1 == [1] [algebraic-graphs] OK: reachable (edge 1 1) 1 == [1] [algebraic-graphs] OK: reachable (edge 1 2) 0 == [] [algebraic-graphs] OK: reachable (edge 1 2) 1 == [1,2] [algebraic-graphs] OK: reachable (edge 1 2) 2 == [2] [algebraic-graphs] OK: reachable (path [1..8] ) 4 == [4..8] [algebraic-graphs] OK: reachable (circuit [1..8] ) 4 == [4..8] ++ [1..3] [algebraic-graphs] OK: reachable (clique [8,7..1]) 8 == [8] ++ [1..7] [algebraic-graphs]  [algebraic-graphs] OK: and [ hasVertex v x | v <- reachable x y ] == True [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.topSort ============ [algebraic-graphs] OK: topSort (1 * 2 + 3 * 1) == Right [3,1,2] [algebraic-graphs] OK: topSort (path [1..5]) == Right [1..5] [algebraic-graphs] OK: topSort (3 * (1 * 4 + 2 * 5)) == Right [3,1,2,4,5] [algebraic-graphs] OK: topSort (1 * 2 + 2 * 1) == Left (2 :| [1]) [algebraic-graphs] OK: topSort (path [5,4..1] + edge 2 4) == Left (4 :| [3,2]) [algebraic-graphs] OK: topSort (circuit [1..5]) == Left (3 :| [1,2]) [algebraic-graphs] OK: topSort (circuit [1..3] + circuit [3,2,1]) == Left (3 :| [2]) [algebraic-graphs] OK: topSort (1 * 2 + (5 + 2) * 1 + 3 * 4 * 3) == Left (1 :| [2]) [algebraic-graphs] OK: fmap (flip isTopSortOf x) (topSort x) /= Right False [algebraic-graphs] OK: topSort . vertices == Right . nub . sort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.testIsAcyclic ============ [algebraic-graphs] OK: isAcyclic (1 * 2 + 3 * 1) == True [algebraic-graphs] OK: isAcyclic (1 * 2 + 2 * 1) == False [algebraic-graphs] OK: isAcyclic . circuit == null [algebraic-graphs] OK: isAcyclic == isRight . topSort [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.isDfsForestOf ============ [algebraic-graphs] OK: isDfsForestOf [] empty == True [algebraic-graphs] OK: isDfsForestOf [] (vertex 1) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 1) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 2) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 1 []] (vertex 1) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 1) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 2) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 []] (edge 1 2) == False [algebraic-graphs] OK: isDfsForestOf [Node 2 [], Node 1 []] (edge 1 2) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 []]] (edge 1 2) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 []] (vertices [1,2]) == True [algebraic-graphs] OK: isDfsForestOf [Node 2 [], Node 1 []] (vertices [1,2]) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 []]] (vertices [1,2]) == False [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 [Node 3 []]]] (path [1,2,3]) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 3 [Node 2 []]]] (path [1,2,3]) == False [algebraic-graphs] OK: isDfsForestOf [Node 3 [], Node 1 [Node 2 []]] (path [1,2,3]) == True [algebraic-graphs] OK: isDfsForestOf [Node 2 [Node 3 []], Node 1 []] (path [1,2,3]) == True [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 [Node 3 []]] (path [1,2,3]) == False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.isTopSortOf ============ [algebraic-graphs] OK: isTopSortOf [3,1,2] (1 * 2 + 3 * 1) == True [algebraic-graphs] OK: isTopSortOf [1,2,3] (1 * 2 + 3 * 1) == False [algebraic-graphs] OK: isTopSortOf [] (1 * 2 + 3 * 1) == False [algebraic-graphs] OK: isTopSortOf [] empty == True [algebraic-graphs] OK: isTopSortOf [x] (vertex x) == True [algebraic-graphs] OK: isTopSortOf [x] (edge x x) == False [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs]  [algebraic-graphs] ============ AdjacencyMap.scc ============ [algebraic-graphs] OK: scc empty == empty [algebraic-graphs] OK: scc (vertex x) == vertex (NonEmpty.vertex x) [algebraic-graphs] OK: scc (vertices xs) == vertices (map NonEmpty.vertex xs) [algebraic-graphs] OK: scc (edge 1 1) == vertex (NonEmpty.edge 1 1) [algebraic-graphs] OK: scc (edge 1 2) == edge (NonEmpty.vertex 1) (NonEmpty.vertex 2) [algebraic-graphs] OK: scc (circuit (1:xs)) == vertex (NonEmpty.circuit1 (1 :| xs)) [algebraic-graphs] OK: scc (3 * 1 * 4 * 1 * 5) == [algebraic-graphs] OK: isAcyclic . scc == const True [algebraic-graphs] OK: isAcyclic x == (scc x == gmap NonEmpty.vertex x) [algebraic-graphs] OK: scc g == KL.scc g [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Num ============ [algebraic-graphs] OK: 0 == rightVertex 0 [algebraic-graphs] OK: swap 1 == leftVertex 1 [algebraic-graphs] OK: swap 1 + 2 == vertices [1] [2] [algebraic-graphs] OK: swap 1 * 2 == edge 1 2 [algebraic-graphs] OK: swap 1 + 2 * swap 3 == overlay (leftVertex 1) (edge 3 2) [algebraic-graphs] OK: swap 1 * (2 + swap 3) == connect (leftVertex 1) (vertices [3] [2]) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Show ============ [algebraic-graphs] OK: show empty == "empty" [algebraic-graphs] OK: show 1 == "rightVertex 1" [algebraic-graphs] OK: show (swap 2) == "leftVertex 2" [algebraic-graphs] OK: show 1 + 2 == "vertices [] [1,2]" [algebraic-graphs] OK: show (swap (1 + 2)) == "vertices [1,2] []" [algebraic-graphs] OK: show (swap 1 * 2) == "edge 1 2" [algebraic-graphs] OK: show (swap 1 * 2 * swap 3) == "edges [(1,2),(3,2)]" [algebraic-graphs] OK: show (swap 1 * 2 + swap 3) == "overlay (leftVertex 3) (edge 1 2)" [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Eq ============ [algebraic-graphs] OK: (x == y) == (leftAdjacencyMap x == leftAdjacencyMap y && rightAdjacencyMap x == rightAdjacencyMap y) [algebraic-graphs]  [algebraic-graphs] OK: x + y == y + x [algebraic-graphs] OK: x + (y + z) == (x + y) + z [algebraic-graphs] OK: x * empty == x [algebraic-graphs] OK: empty * x == x [algebraic-graphs] OK: x * y == y * x [algebraic-graphs] OK: x * (y * z) == (x * y) * z [algebraic-graphs] OK: x * (y + z) == x * y + x * z [algebraic-graphs] OK: (x + y) * z == x * z + y * z [algebraic-graphs] OK: x * y * z == x * y + x * z + y * z [algebraic-graphs] OK: x + empty == x [algebraic-graphs] OK: empty + x == x [algebraic-graphs] OK: x + x == x [algebraic-graphs] OK: x * y + x + y == x * y [algebraic-graphs] OK: x * x * x == x * x [algebraic-graphs]  [algebraic-graphs] OK: leftVertex x * leftVertex y == leftVertex x + leftVertex y [algebraic-graphs] OK: rightVertex x * rightVertex y == rightVertex x + rightVertex y [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.leftAdjacencyMap ============ [algebraic-graphs] OK: leftAdjacencyMap empty == Map.empty [algebraic-graphs] OK: leftAdjacencyMap (leftVertex x) == Map.singleton x Set.empty [algebraic-graphs] OK: leftAdjacencyMap (rightVertex x) == Map.empty [algebraic-graphs] OK: leftAdjacencyMap (edge x y) == Map.singleton x (Set.singleton y) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.rightAdjacencyMap ============ [algebraic-graphs] OK: rightAdjacencyMap empty == Map.empty [algebraic-graphs] OK: rightAdjacencyMap (leftVertex x) == Map.empty [algebraic-graphs] OK: rightAdjacencyMap (rightVertex x) == Map.singleton x Set.empty [algebraic-graphs] OK: rightAdjacencyMap (edge x y) == Map.singleton y (Set.singleton x) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: leftAdjacencyMap empty == Map.empty [algebraic-graphs] OK: rightAdjacencyMap empty == Map.empty [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.leftVertex ============ [algebraic-graphs] OK: leftAdjacencyMap (leftVertex x) == Map.singleton x Set.empty [algebraic-graphs] OK: rightAdjacencyMap (leftVertex x) == Map.empty [algebraic-graphs] OK: hasLeftVertex x (leftVertex y) == (x == y) [algebraic-graphs] OK: hasRightVertex x (leftVertex y) == False [algebraic-graphs] OK: hasEdge x y (leftVertex z) == False [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.rightVertex ============ [algebraic-graphs] OK: leftAdjacencyMap (rightVertex x) == Map.empty [algebraic-graphs] OK: rightAdjacencyMap (rightVertex x) == Map.singleton x Set.empty [algebraic-graphs] OK: hasLeftVertex x (rightVertex y) == False [algebraic-graphs] OK: hasRightVertex x (rightVertex y) == (x == y) [algebraic-graphs] OK: hasEdge x y (rightVertex z) == False [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.vertex ============ [algebraic-graphs] OK: vertex . Left == leftVertex [algebraic-graphs] OK: vertex . Right == rightVertex [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.edge ============ [algebraic-graphs] OK: edge x y == connect (leftVertex x) (rightVertex y) [algebraic-graphs] OK: leftAdjacencyMap (edge x y) == Map.singleton x (Set.singleton y) [algebraic-graphs] OK: rightAdjacencyMap (edge x y) == Map.singleton y (Set.singleton x) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge 1 2 (edge 2 1) == False [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.connect ============ [algebraic-graphs] OK: connect (leftVertex x) (leftVertex y) == vertices [x,y] [] [algebraic-graphs] OK: connect (leftVertex x) (rightVertex y) == edge x y [algebraic-graphs] OK: connect (rightVertex x) (leftVertex y) == edge y x [algebraic-graphs] OK: connect (rightVertex x) (rightVertex y) == vertices [] [x,y] [algebraic-graphs] OK: connect (vertices xs1 ys1) (vertices xs2 ys2) == overlay (biclique xs1 ys2) (biclique xs2 ys1) [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= leftVertexCount x * rightVertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= leftVertexCount x * rightVertexCount y + rightVertexCount x * leftVertexCount y + edgeCount x + edgeCount y [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.vertices ============ [algebraic-graphs] OK: vertices [] [] == empty [algebraic-graphs] OK: vertices [x] [] == leftVertex x [algebraic-graphs] OK: vertices [] [x] == rightVertex x [algebraic-graphs] OK: vertices xs ys == overlays (map leftVertex xs ++ map rightVertex ys) [algebraic-graphs] OK: hasLeftVertex x (vertices xs ys) == elem x xs [algebraic-graphs] OK: hasRightVertex y (vertices xs ys) == elem y ys [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges == overlays . map (uncurry edge) [algebraic-graphs] OK: hasEdge x y . edges == elem (x,y) [algebraic-graphs] OK: edgeCount . edges == length . nub [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.swap ============ [algebraic-graphs] OK: swap empty == empty [algebraic-graphs] OK: swap . leftVertex == rightVertex [algebraic-graphs] OK: swap (vertices xs ys) == vertices ys xs [algebraic-graphs] OK: swap (edge x y) == edge y x [algebraic-graphs] OK: swap . edges == edges . map Data.Tuple.swap [algebraic-graphs] OK: swap . swap == id [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.toBipartite ============ [algebraic-graphs] OK: toBipartite empty == empty [algebraic-graphs] OK: toBipartite (vertex (Left x)) == leftVertex x [algebraic-graphs] OK: toBipartite (vertex (Right x)) == rightVertex x [algebraic-graphs] OK: toBipartite (edge (Left x) (Left y)) == vertices [x,y] [] [algebraic-graphs] OK: toBipartite (edge (Left x) (Right y)) == edge x y [algebraic-graphs] OK: toBipartite (edge (Right x) (Left y)) == edge y x [algebraic-graphs] OK: toBipartite (edge (Right x) (Right y)) == vertices [] [x,y] [algebraic-graphs] OK: toBipartite . clique == uncurry biclique . partitionEithers [algebraic-graphs] OK: toBipartite . fromBipartite == id [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.toBipartiteWith ============ [algebraic-graphs] OK: toBipartiteWith f empty == empty [algebraic-graphs] OK: toBipartiteWith Left x == vertices (vertexList x) [] [algebraic-graphs] OK: toBipartiteWith Right x == vertices [] (vertexList x) [algebraic-graphs] OK: toBipartiteWith f == toBipartite . gmap f [algebraic-graphs] OK: toBipartiteWith id == toBipartite [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.fromBipartite ============ [algebraic-graphs] OK: fromBipartite empty == empty [algebraic-graphs] OK: fromBipartite (leftVertex x) == vertex (Left x) [algebraic-graphs] OK: fromBipartite (edge x y) == edges [(Left x, Right y), (Right y, Left x)] [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.fromBipartiteWith ============ [algebraic-graphs] OK: fromBipartiteWith Left Right == fromBipartite [algebraic-graphs] OK: fromBipartiteWith id id (vertices xs ys) == vertices (xs ++ ys) [algebraic-graphs] OK: fromBipartiteWith id id . edges == symmetricClosure . edges [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty == (==) empty [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.hasLeftVertex ============ [algebraic-graphs] OK: hasLeftVertex x empty == False [algebraic-graphs] OK: hasLeftVertex x (leftVertex y) == (x == y) [algebraic-graphs] OK: hasLeftVertex x (rightVertex y) == False [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.hasRightVertex ============ [algebraic-graphs] OK: hasRightVertex x empty == False [algebraic-graphs] OK: hasRightVertex x (leftVertex y) == False [algebraic-graphs] OK: hasRightVertex x (rightVertex y) == (x == y) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.hasVertex ============ [algebraic-graphs] OK: hasVertex . Left == hasLeftVertex [algebraic-graphs] OK: hasVertex . Right == hasRightVertex [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.leftVertexCount ============ [algebraic-graphs] OK: leftVertexCount empty == 0 [algebraic-graphs] OK: leftVertexCount (leftVertex x) == 1 [algebraic-graphs] OK: leftVertexCount (rightVertex x) == 0 [algebraic-graphs] OK: leftVertexCount (edge x y) == 1 [algebraic-graphs] OK: leftVertexCount . edges == length . nub . map fst [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.rightVertexCount ============ [algebraic-graphs] OK: rightVertexCount empty == 0 [algebraic-graphs] OK: rightVertexCount (leftVertex x) == 0 [algebraic-graphs] OK: rightVertexCount (rightVertex x) == 1 [algebraic-graphs] OK: rightVertexCount (edge x y) == 1 [algebraic-graphs] OK: rightVertexCount . edges == length . nub . map snd [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount (edge x y) == 2 [algebraic-graphs] OK: vertexCount x == leftVertexCount x + rightVertexCount x [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount . edges == length . nub [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.leftVertexList ============ [algebraic-graphs] OK: leftVertexList empty == [] [algebraic-graphs] OK: leftVertexList (leftVertex x) == [x] [algebraic-graphs] OK: leftVertexList (rightVertex x) == [] [algebraic-graphs] OK: leftVertexList . flip vertices [] == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.rightVertexList ============ [algebraic-graphs] OK: rightVertexList empty == [] [algebraic-graphs] OK: rightVertexList (leftVertex x) == [] [algebraic-graphs] OK: rightVertexList (rightVertex x) == [x] [algebraic-graphs] OK: rightVertexList . vertices [] == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList (edge x y) == [Left x, Right y] [algebraic-graphs] OK: vertexList (vertices (lefts xs) (rights xs)) == nub (sort xs) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList . edges == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.leftVertexSet ============ [algebraic-graphs] OK: leftVertexSet empty == Set.empty [algebraic-graphs] OK: leftVertexSet . leftVertex == Set.singleton [algebraic-graphs] OK: leftVertexSet . rightVertex == const Set.empty [algebraic-graphs] OK: leftVertexSet . flip vertices [] == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.rightVertexSet ============ [algebraic-graphs] OK: rightVertexSet empty == Set.empty [algebraic-graphs] OK: rightVertexSet . leftVertex == const Set.empty [algebraic-graphs] OK: rightVertexSet . rightVertex == Set.singleton [algebraic-graphs] OK: rightVertexSet . vertices [] == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet (edge x y) == Set.fromList [Left x, Right y] [algebraic-graphs] OK: vertexSet (vertices (lefts xs) (rights xs)) == Set.fromList xs [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.leftAdjacencyList ============ [algebraic-graphs] OK: leftAdjacencyList empty == [] [algebraic-graphs] OK: leftAdjacencyList (vertices [] xs) == [] [algebraic-graphs] OK: leftAdjacencyList (vertices xs []) == [] [algebraic-graphs] OK: leftAdjacencyList (edge x y) == [(x, [y])] [algebraic-graphs] OK: leftAdjacencyList (star x ys) == [(x, nub (sort ys))] [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.rightAdjacencyList ============ [algebraic-graphs] OK: rightAdjacencyList empty == [] [algebraic-graphs] OK: rightAdjacencyList (vertices [] xs) == [(x, []) | x <- nub (sort xs)] [algebraic-graphs] OK: rightAdjacencyList (vertices xs []) == [] [algebraic-graphs] OK: rightAdjacencyList (edge x y) == [(y, [x])] [algebraic-graphs] OK: rightAdjacencyList (star x ys) == [(y, [x]) | y <- nub (sort ys)] [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.evenList ============ [algebraic-graphs] OK: evenList [] == Nil [algebraic-graphs] OK: evenList [(1,2), (3,4)] == [1, 2, 3, 4] :: List Int Int [algebraic-graphs] OK: evenList [(1,'a'), (2,'b')] == Cons 1 (Cons 'a' (Cons 2 (Cons 'b' Nil))) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.oddList ============ [algebraic-graphs] OK: oddList 1 [] == Cons 1 Nil [algebraic-graphs] OK: oddList 1 [(2,3), (4,5)] == [1, 2, 3, 4, 5] :: List Int Int [algebraic-graphs] OK: oddList 1 [('a',2), ('b',3)] == Cons 1 (Cons 'a' (Cons 2 (Cons 'b' (Cons 3 Nil)))) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.path ============ [algebraic-graphs] OK: path Nil == empty [algebraic-graphs] OK: path (Cons x Nil) == leftVertex x [algebraic-graphs] OK: path (Cons x (Cons y Nil)) == edge x y [algebraic-graphs] OK: path [1, 2, 3, 4, 5] == edges [(1,2), (3,2), (3,4), (5,4)] [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [(x,y)] == edge x y [algebraic-graphs] OK: circuit [(1,2), (3,4), (5,6)] == edges [(1,2), (3,2), (3,4), (5,4), (5,6), (1,6)] [algebraic-graphs] OK: circuit . reverse == swap . circuit . map Data.Tuple.swap [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique xs [] == vertices xs [] [algebraic-graphs] OK: biclique [] ys == vertices [] ys [algebraic-graphs] OK: biclique xs ys == connect (vertices xs []) (vertices [] ys) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.star ============ [algebraic-graphs] OK: star x [] == leftVertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (leftVertex x) (vertices [] ys) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == leftVertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.mesh ============ [algebraic-graphs] OK: mesh xs [] == empty [algebraic-graphs] OK: mesh [] ys == empty [algebraic-graphs] OK: mesh [x] [y] == leftVertex (x,y) [algebraic-graphs] OK: mesh [1,1] ['a','b'] == biclique [(1,'a'), (1,'b')] [(1,'a'), (1,'b')] [algebraic-graphs] OK: mesh [1,2] ['a','b'] == biclique [(1,'a'), (2,'b')] [(1,'b'), (2,'a')] [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.removeLeftVertex ============ [algebraic-graphs] OK: removeLeftVertex x (leftVertex x) == empty [algebraic-graphs] OK: removeLeftVertex 1 (leftVertex 2) == leftVertex 2 [algebraic-graphs] OK: removeLeftVertex x (rightVertex y) == rightVertex y [algebraic-graphs] OK: removeLeftVertex x (edge x y) == rightVertex y [algebraic-graphs] OK: removeLeftVertex x . removeLeftVertex x == removeLeftVertex x [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.removeRightVertex ============ [algebraic-graphs] OK: removeRightVertex x (rightVertex x) == empty [algebraic-graphs] OK: removeRightVertex 1 (rightVertex 2) == rightVertex 2 [algebraic-graphs] OK: removeRightVertex x (leftVertex y) == leftVertex y [algebraic-graphs] OK: removeRightVertex y (edge x y) == leftVertex x [algebraic-graphs] OK: removeRightVertex x . removeRightVertex x == removeRightVertex x [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x] [y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeLeftVertex x == removeLeftVertex x [algebraic-graphs] OK: removeEdge x y . removeRightVertex y == removeRightVertex y [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.bimap ============ [algebraic-graphs] OK: bimap f g empty == empty [algebraic-graphs] OK: bimap f g . vertex == vertex . Data.Bifunctor.bimap f g [algebraic-graphs] OK: bimap f g (edge x y) == edge (f x) (g y) [algebraic-graphs] OK: bimap id id == id [algebraic-graphs] OK: bimap f1 g1 . bimap f2 g2 == bimap (f1 . f2) (g1 . g2) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.box ============ [algebraic-graphs] OK: box (path [0,1]) (path ['a','b']) == [algebraic-graphs]  [algebraic-graphs] OK: box x y ~~ box y x [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z [algebraic-graphs] OK: box x (leftVertex ()) ~~ x [algebraic-graphs] OK: box x (rightVertex ()) ~~ swap x [algebraic-graphs] OK: box x empty ~~ empty [algebraic-graphs] OK: vertexCount (box x y) <= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y [algebraic-graphs]  [algebraic-graphs] OK: box == boxWith (,) (,) (,) (,) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.consistent ============ [algebraic-graphs] OK: consistent empty == True [algebraic-graphs] OK: consistent (vertex x) == True [algebraic-graphs] OK: consistent (edge x y) == True [algebraic-graphs] OK: consistent (edges x) == True [algebraic-graphs] OK: consistent (toBipartite x) == True [algebraic-graphs] OK: consistent (swap x) == True [algebraic-graphs] OK: consistent (circuit xs) == True [algebraic-graphs] OK: consistent (biclique xs ys) == True [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.detectParts ============ [algebraic-graphs] OK: detectParts empty == Right empty [algebraic-graphs] OK: detectParts (vertex 1) == Right (leftVertex 1) [algebraic-graphs] OK: detectParts (edge 1 1) == Left [1] [algebraic-graphs] OK: detectParts (edge 1 2) == Right (edge 1 2) [algebraic-graphs] OK: detectParts (edge 0 (-1)) == Right (edge (-1) 0) [algebraic-graphs] OK: detectParts (1 * (2 + 3)) == Right (edges [(1, 2), (1, 3)]) [algebraic-graphs] OK: detectParts ((1 + 3) * (2 + 4) + 6 * 5) == Right (swap (1 + 3) * (2 + 4) + swap 5 * 6 [algebraic-graphs] OK: detectParts ((1 + 2) * (3 + 4) * (5 + 6)) == Left [1, 3, 2, 4, 5] [algebraic-graphs] OK: detectParts ((1 + 2) * (3 + 4) + (3 + 4) * 5) == Right (swap (1 + 2) * (3 + 4) + swap 5 * (3 + 4)) [algebraic-graphs] OK: detectParts (1 * 2 * 3) == Left [2, 3, 1] [algebraic-graphs] OK: detectParts ((1 * 3 * 4) + 2 * (1 + 2)) == Left [2] [algebraic-graphs] OK: detectParts (clique [1..10]) == Left [1, 2, 3] [algebraic-graphs] OK: detectParts (circuit [1..11]) == Left [1..11] [algebraic-graphs] OK: detectParts (circuit [1..10]) == Right (circuit [(2 * x - 1, 2 * x) | x <- [1..5]]) [algebraic-graphs] OK: detectParts (biclique [] xs) == Right (vertices xs []) [algebraic-graphs] OK: detectParts (biclique (map Left (x:xs)) (map Right ys)) == Right (biclique (map Left (x:xs)) (map Right ys)) [algebraic-graphs] OK: isRight (detectParts (star x ys)) == not (elem x ys) [algebraic-graphs] OK: isRight (detectParts (fromBipartite (toBipartite x))) == True [algebraic-graphs]  [algebraic-graphs] OK: ((all ((flip Set.member) $ edgeSet $ symmetricClosure x) . edgeSet) <$> detectParts x) /= Right False [algebraic-graphs] OK: (Set.map $ fromEither) <$> (vertexSet <$> (detectParts (fromBipartite (toBipartite x)))) == Right (vertexSet x) [algebraic-graphs] OK: fromEither (Bifunctor.bimap ((flip Set.isSubsetOf) (vertexSet x) . Set.fromList) (const True) (detectParts x)) == True [algebraic-graphs] OK: fromEither (Bifunctor.bimap ((flip Set.isSubsetOf) (edgeSet (symmetricClosure x)) . AM.edgeSet . circuit) (const True) (detectParts x)) == True [algebraic-graphs] OK: fromEither (Bifunctor.bimap (((==) 1) . ((flip mod) 2) . length) (const True) (detectParts x)) == True [algebraic-graphs]  [algebraic-graphs] ============ Show (Bipartite.AdjacencyMap.Algorithm.Matching a b) ============ [algebraic-graphs] OK: show (matching []) == "matching []" [algebraic-graphs] OK: show (matching [(2,'a'),(1,'b')]) == "matching [(1,'b'),(2,'a')]" [algebraic-graphs]  [algebraic-graphs] ============ Eq (Bipartite.AdjacencyMap.Algorithm.Matching a b) ============ [algebraic-graphs] OK: (x == y) == ((pairOfLeft x == pairOfLeft y) && (pairOfRight x == pairOfRight y)) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.pairOfLeft ============ [algebraic-graphs] OK: pairOfLeft (matching []) == Map.empty [algebraic-graphs] OK: pairOfLeft (matching [(2,'a'), (1,'b')]) == Map.fromList [(2,'a'), (1,'b')] [algebraic-graphs] OK: Map.size . pairOfLeft == Map.size . pairOfRight [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.pairOfRight ============ [algebraic-graphs] OK: pairOfRight (matching []) == Map.empty [algebraic-graphs] OK: pairOfRight (matching [(2,'a'), (1,'b')]) == Map.fromList [('a',2), ('b',1)] [algebraic-graphs] OK: Map.size . pairOfRight == Map.size . pairOfLeft [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.matching ============ [algebraic-graphs] OK: matching [(1,'a'), (1,'b')] == matching [(1,'b')] [algebraic-graphs] OK: matching [(1,'a'), (1,'b'), (2,'b'), (2,'a')] == matching [(2,'a')] [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.isMatchingOf ============ [algebraic-graphs] OK: isMatchingOf (matching []) x == True [algebraic-graphs] OK: isMatchingOf (matching xs) empty == null xs [algebraic-graphs] OK: isMatchingOf (matching [(x,y)]) (edge x y) == True [algebraic-graphs] OK: isMatchingOf (matching [(1,2)]) (edge 2 1) == False [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.matchingSize ============ [algebraic-graphs] OK: matchingSize (matching []) == 0 [algebraic-graphs] OK: matchingSize (matching [(2,'a'), (1,'b')]) == 2 [algebraic-graphs] OK: matchingSize (matching [(1,'a'), (1,'b')]) == 1 [algebraic-graphs] OK: matchingSize (matching xs) <= length xs [algebraic-graphs] OK: matchingSize x == Map.size . pairOfLeft [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.maxMatching ============ [algebraic-graphs] OK: maxMatching empty == matching [] [algebraic-graphs] OK: maxMatching (vertices xs ys) == matching [] [algebraic-graphs] OK: maxMatching (path [1,2,3,4]) == matching [(1,2), (3,4)] [algebraic-graphs] OK: matchingSize (maxMatching (circuit [(1,2), (3,4), (5,6)])) == 3 [algebraic-graphs] OK: matchingSize (maxMatching (star x (y:ys))) == 1 [algebraic-graphs] OK: matchingSize (maxMatching (biclique xs ys)) == min (length (nub xs)) (length (nub ys)) [algebraic-graphs] OK: isMatchingOf (maxMatching x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.isVertexCoverOf ============ [algebraic-graphs] OK: isVertexCoverOf (xs , ys ) empty == Set.null xs && Set.null ys [algebraic-graphs] OK: isVertexCoverOf (xs , ys ) (leftVertex x) == Set.isSubsetOf xs (Set.singleton x) && Set.null ys [algebraic-graphs] OK: isVertexCoverOf (Set.empty , Set.empty ) (edge x y) == False [algebraic-graphs] OK: isVertexCoverOf (Set.singleton x, ys ) (edge x y) == Set.isSubsetOf ys (Set.singleton y) [algebraic-graphs] OK: isVertexCoverOf (xs , Set.singleton y) (edge x y) == Set.isSubsetOf xs (Set.singleton x) [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.minVertexCover ============ [algebraic-graphs] OK: minVertexCover empty == (Set.empty, Set.empty) [algebraic-graphs] OK: minVertexCover (vertices xs ys) == (Set.empty, Set.empty) [algebraic-graphs] OK: minVertexCover (path [1,2,3]) == (Set.empty, Set.singleton 2) [algebraic-graphs] OK: minVertexCover (star x (1:2:ys)) == (Set.singleton x, Set.empty) [algebraic-graphs] OK: vertexCoverSize (minVertexCover (biclique xs ys)) == min (length (nub xs)) (length (nub ys)) [algebraic-graphs] OK: vertexCoverSize . minVertexCover == matchingSize . maxMatching [algebraic-graphs] OK: isVertexCoverOf (minVertexCover x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.isIndependentSetOf ============ [algebraic-graphs] OK: isIndependentSetOf (xs , ys ) empty == Set.null xs && Set.null ys [algebraic-graphs] OK: isIndependentSetOf (xs , ys ) (leftVertex x) == Set.isSubsetOf xs (Set.singleton x) && Set.null ys [algebraic-graphs] OK: isIndependentSetOf (Set.empty , Set.empty ) (edge x y) == True [algebraic-graphs] OK: isIndependentSetOf (Set.singleton x, ys ) (edge x y) == Set.null ys [algebraic-graphs] OK: isIndependentSetOf (xs , Set.singleton y) (edge x y) == Set.null xs [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.maxIndependentSet ============ [algebraic-graphs] OK: maxIndependentSet empty == (Set.empty, Set.empty) [algebraic-graphs] OK: maxIndependentSet (vertices xs ys) == (Set.fromList xs, Set.fromList ys) [algebraic-graphs] OK: maxIndependentSet (path [1,2,3]) == (Set.fromList [1,3], Set.empty) [algebraic-graphs] OK: maxIndependentSet (star x (1:2:ys)) == (Set.empty, Set.fromList (1:2:ys)) [algebraic-graphs] OK: independentSetSize (maxIndependentSet (biclique xs ys)) == max (length (nub xs)) (length (nub ys)) [algebraic-graphs] OK: independentSetSize (maxIndependentSet x) == vertexCount x - vertexCoverSize (minVertexCover x) [algebraic-graphs] OK: isIndependentSetOf (maxIndependentSet x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.augmentingPath ============ [algebraic-graphs] OK: augmentingPath (matching []) empty == Left (Set.empty, Set.empty) [algebraic-graphs] OK: augmentingPath (matching []) (edge 1 2) == Right [1,2] [algebraic-graphs] OK: augmentingPath (matching [(1,2)]) (path [1,2,3]) == Left (Set.empty, Set.singleton 2) [algebraic-graphs] OK: augmentingPath (matching [(3,2)]) (path [1,2,3,4]) == Right [1,2,3,4] [algebraic-graphs] OK: isLeft (augmentingPath (maxMatching x) x) == True [algebraic-graphs]  [algebraic-graphs] ============ Bipartite.AdjacencyMap.Algorithm.consistentMatching ============ [algebraic-graphs] OK: consistentMatching (matching xs) == True [algebraic-graphs] OK: consistentMatching (maxMatching x) == True [algebraic-graphs]  [algebraic-graphs] ============ Export.Eq ============ [algebraic-graphs] OK: mempty /= literal "" [algebraic-graphs]  [algebraic-graphs] ============ Export.Ord ============ [algebraic-graphs] OK: mempty < literal "" [algebraic-graphs]  [algebraic-graphs] ============ Export.isEmpty ============ [algebraic-graphs] OK: isEmpty mempty == True [algebraic-graphs] OK: isEmpty (literal "") == False [algebraic-graphs] OK: isEmpty x == (x == mempty) [algebraic-graphs]  [algebraic-graphs] ============ Export.literal ============ [algebraic-graphs] OK: literal "Hello, " <> literal "World!" == literal "Hello, World!" [algebraic-graphs] OK: literal "I am just a string literal" == "I am just a string literal" [algebraic-graphs] OK: render . literal == id [algebraic-graphs]  [algebraic-graphs] ============ Export.render ============ [algebraic-graphs] OK: render (literal "al" <> literal "ga") == "alga" [algebraic-graphs] OK: render mempty == mempty [algebraic-graphs]  [algebraic-graphs] ============ Export.<+> ============ [algebraic-graphs] OK: x <+> mempty == x [algebraic-graphs] OK: mempty <+> x == x [algebraic-graphs] OK: x <+> (y <+> z) == (x <+> y) <+> z [algebraic-graphs] OK: "name" <+> "surname" == "name surname" [algebraic-graphs]  [algebraic-graphs] ============ Export.brackets ============ [algebraic-graphs] OK: brackets "i" == "[i]" [algebraic-graphs] OK: brackets mempty == "[]" [algebraic-graphs]  [algebraic-graphs] ============ Export.doubleQuotes ============ [algebraic-graphs] OK: doubleQuotes "/path/with spaces" == "\"/path/with spaces\"" [algebraic-graphs] OK: doubleQuotes (doubleQuotes mempty) == "\"\"\"\"" [algebraic-graphs]  [algebraic-graphs] ============ Export.indent ============ [algebraic-graphs] OK: indent 0 == id [algebraic-graphs] OK: indent 1 mempty == " " [algebraic-graphs]  [algebraic-graphs] ============ Export.unlines ============ [algebraic-graphs] OK: unlines [] == mempty [algebraic-graphs] OK: unlines [mempty] == "\n" [algebraic-graphs] OK: unlines ["title", "subtitle"] == "title\nsubtitle\n" [algebraic-graphs]  [algebraic-graphs] ============ Export.export ============ [algebraic-graphs] OK: render $ export vDoc eDoc (1 + 2 * (3 + 4) :: Graph Int) [algebraic-graphs]  [algebraic-graphs] ============ Export.Dot.export ============ [algebraic-graphs] OK: export style (1 * 2 + 3 * 4 * 5 :: Graph Int) [algebraic-graphs]  [algebraic-graphs] =========== Export.Dot.attributeQuoting ============ [algebraic-graphs] OK: export style' (1 * 2 + 3 * 4 * 5 :: Graph Int) [algebraic-graphs]  [algebraic-graphs] ============ Export.Dot.exportAsIs ============ [algebraic-graphs] OK: exportAsIs (circuit ["a", "b", "c"] :: Graph String) [algebraic-graphs]  [algebraic-graphs] ============ Export.Dot.exportViaShow ============ [algebraic-graphs] OK: exportViaShow (1 + 2 * (3 + 4) :: Graph Int) [algebraic-graphs]  [algebraic-graphs] ============ Graph ============ [algebraic-graphs] OK: Axioms of graphs [algebraic-graphs] OK: Theorems of graphs [algebraic-graphs]  [algebraic-graphs] ============ Graph.Ord ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 1 2 < edge 1 3 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ Graph.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Graph.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Graph.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ Graph.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Graph.connect ============ [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ Graph.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Graph.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges == overlays . map (uncurry edge) [algebraic-graphs] OK: edgeCount . edges == length . nub [algebraic-graphs]  [algebraic-graphs] ============ Graph.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Graph.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Graph.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ Graph.toGraph et al. ============ [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&) [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+) [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||) [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph [algebraic-graphs] OK: vertexCount == Set.size . vertexSet [algebraic-graphs] OK: edgeCount == Set.size . edgeSet [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs]  [algebraic-graphs] ============ Graph.foldg ============ [algebraic-graphs] OK: foldg empty vertex overlay connect == id [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Graph.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False [algebraic-graphs]  [algebraic-graphs] ============ Graph.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ Graph.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Graph.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ Graph.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Graph.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Graph.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Graph.vertexIntSet ============ [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList [algebraic-graphs]  [algebraic-graphs] ============ Graph.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] [algebraic-graphs] OK: edgeList . edges == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Graph.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Graph.adjacencyList ============ [algebraic-graphs] OK: adjacencyList empty == [] [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])] [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] [algebraic-graphs]  [algebraic-graphs] ============ Graph.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Graph.preIntSet ============ [algebraic-graphs] OK: preIntSet x empty == IntSet.empty [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Graph.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ Graph.postIntSet ============ [algebraic-graphs] OK: postIntSet x empty == IntSet.empty [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y] [algebraic-graphs]  [algebraic-graphs] ============ Graph.size ============ [algebraic-graphs] OK: size empty == 1 [algebraic-graphs] OK: size (vertex x) == 1 [algebraic-graphs] OK: size (overlay x y) == size x + size y [algebraic-graphs] OK: size (connect x y) == size x + size y [algebraic-graphs] OK: size x >= 1 [algebraic-graphs] OK: size x >= vertexCount x [algebraic-graphs]  [algebraic-graphs] ============ Graph.path ============ [algebraic-graphs] OK: path [] == empty [algebraic-graphs] OK: path [x] == vertex x [algebraic-graphs] OK: path [x,y] == edge x y [algebraic-graphs]  [algebraic-graphs] ============ Graph.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [x] == edge x x [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)] [algebraic-graphs]  [algebraic-graphs] ============ Graph.clique ============ [algebraic-graphs] OK: clique [] == empty [algebraic-graphs] OK: clique [x] == vertex x [algebraic-graphs] OK: clique [x,y] == edge x y [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique [x] [] == vertex x [algebraic-graphs] OK: biclique [] [y] == vertex y [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == vertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: stars . adjacencyList == id [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ Graph.forest ============ [algebraic-graphs] OK: forest [] == empty [algebraic-graphs] OK: forest [x] == tree x [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] [algebraic-graphs] OK: forest == overlays . map tree [algebraic-graphs]  [algebraic-graphs] ============ Graph.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Graph.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs] OK: size (removeEdge x y z) <= 3 * size z [algebraic-graphs]  [algebraic-graphs] ============ Graph.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ Graph.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ Graph.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge x y) == edge y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Graph.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Graph.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Graph.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs]  [algebraic-graphs] ============ Graph.compose ============ [algebraic-graphs] OK: compose empty x == empty [algebraic-graphs] OK: compose x empty == empty [algebraic-graphs] OK: compose (vertex x) y == empty [algebraic-graphs] OK: compose x (vertex y) == empty [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z) [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z) [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] [algebraic-graphs] OK: size (compose x y) <= edgeCount x + edgeCount y + 1 [algebraic-graphs]  [algebraic-graphs] ============ Graph.(===) ============ [algebraic-graphs] OK: x === x == True [algebraic-graphs] OK: x === x + empty == False [algebraic-graphs] OK: x + y === x + y == True [algebraic-graphs] OK: 1 + 2 === 2 + 1 == False [algebraic-graphs] OK: x + y === x * y == False [algebraic-graphs]  [algebraic-graphs] ============ Graph.mesh ============ [algebraic-graphs] OK: mesh xs [] == empty [algebraic-graphs] OK: mesh [] ys == empty [algebraic-graphs] OK: mesh [x] [y] == vertex (x, y) [algebraic-graphs] OK: mesh xs ys == box (path xs) (path ys) [algebraic-graphs] OK: mesh [1..3] "ab" == [algebraic-graphs] OK: size (mesh xs ys) == max 1 (3 * length xs * length ys - length xs - length ys -1) [algebraic-graphs]  [algebraic-graphs] ============ Graph.torus ============ [algebraic-graphs] OK: torus xs [] == empty [algebraic-graphs] OK: torus [] ys == empty [algebraic-graphs] OK: torus [x] [y] == edge (x,y) (x,y) [algebraic-graphs] OK: torus xs ys == box (circuit xs) (circuit ys) [algebraic-graphs] OK: torus [1,2] "ab" == [algebraic-graphs] OK: size (torus xs ys) == max 1 (3 * length xs * length ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.deBruijn ============ [algebraic-graphs] OK: deBruijn 0 xs == edge [] [] [algebraic-graphs] OK: n > 0 ==> deBruijn n [] == empty [algebraic-graphs] OK: deBruijn 1 [0,1] == edges [ ([0],[0]), ([0],[1]), ([1],[0]), ([1],[1]) ] [algebraic-graphs] OK: deBruijn 2 "0" == edge "00" "00" [algebraic-graphs] OK: deBruijn 2 "01" == [algebraic-graphs] OK: transpose (deBruijn n xs) == gmap reverse $ deBruijn n xs [algebraic-graphs] OK: vertexCount (deBruijn n xs) == (length $ nub xs)^n [algebraic-graphs] OK: n > 0 ==> edgeCount (deBruijn n xs) == (length $ nub xs)^(n + 1) [algebraic-graphs]  [algebraic-graphs] ============ Graph.splitVertex ============ [algebraic-graphs] OK: splitVertex x [] == removeVertex x [algebraic-graphs] OK: splitVertex x [x] == id [algebraic-graphs] OK: splitVertex x [y] == replaceVertex x y [algebraic-graphs] OK: splitVertex 1 [0, 1] $ 1 * (2 + 3) == (0 + 1) * (2 + 3) [algebraic-graphs]  [algebraic-graphs] ============ Graph.bind ============ [algebraic-graphs] OK: bind empty f == empty [algebraic-graphs] OK: bind (vertex x) f == f x [algebraic-graphs] OK: bind (edge x y) f == connect (f x) (f y) [algebraic-graphs] OK: bind (vertices xs) f == overlays (map f xs) [algebraic-graphs] OK: bind x (const empty) == empty [algebraic-graphs] OK: bind x vertex == x [algebraic-graphs] OK: bind (bind x f) g == bind x (\y -> bind (f y) g) [algebraic-graphs]  [algebraic-graphs] ============ Graph.simplify ============ [algebraic-graphs] OK: simplify == id [algebraic-graphs] OK: size (simplify x) <= size x [algebraic-graphs]  [algebraic-graphs] ============ Graph.box ============ [algebraic-graphs] OK: box x y ~~ box y x [algebraic-graphs] OK: box x (overlay y z) == overlay (box x y) (box x z) [algebraic-graphs] OK: box x (vertex ()) ~~ x [algebraic-graphs] OK: box x empty ~~ empty [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y) [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y [algebraic-graphs]  [algebraic-graphs] ============ Graph.sparsify ============ [algebraic-graphs] OK: sort . reachable x == sort . rights . reachable (sparsify x) . Right [algebraic-graphs] OK: vertexCount (sparsify x) <= vertexCount x + size x + 1 [algebraic-graphs] OK: edgeCount (sparsify x) <= 3 * size x [algebraic-graphs] OK: size (sparsify x) <= 3 * size x [algebraic-graphs]  [algebraic-graphs] ============ Graph.sparsifyKL ============ [algebraic-graphs] OK: sort . reachable x == sort . filter (<= n) . reachable (sparsifyKL n x) [algebraic-graphs] OK: length (vertices $ sparsifyKL n x) <= vertexCount x + size x + 1 [algebraic-graphs] OK: length (edges $ sparsifyKL n x) <= 3 * size x [algebraic-graphs]  [algebraic-graphs] ============ Graph.context ============ [algebraic-graphs] OK: context (const False) x == Nothing [algebraic-graphs] OK: context (== 1) (edge 1 2) == Just (Context [ ] [2 ]) [algebraic-graphs] OK: context (== 2) (edge 1 2) == Just (Context [1 ] [ ]) [algebraic-graphs] OK: context (const True ) (edge 1 2) == Just (Context [1 ] [2 ]) [algebraic-graphs] OK: context (== 4) (3 * 1 * 4 * 1 * 5) == Just (Context [3,1] [1,5]) [algebraic-graphs]  [algebraic-graphs] ============ Graph.buildg ============ [algebraic-graphs] OK: buildg (\e _ _ _ -> e) == empty [algebraic-graphs] OK: buildg (\_ v _ _ -> v x) == vertex x [algebraic-graphs] OK: buildg (\e v o c -> o (foldg e v o c x) (foldg e v o c y)) == overlay x y [algebraic-graphs] OK: buildg (\e v o c -> c (foldg e v o c x) (foldg e v o c y)) == connect x y [algebraic-graphs] OK: buildg (\e v o _ -> foldr o e (map v xs)) == vertices xs [algebraic-graphs] OK: buildg (\e v o c -> foldg e v o (flip c) g) == transpose g [algebraic-graphs]  [algebraic-graphs] ============ Internal.List ============ [algebraic-graphs] OK: pure 1 <> pure 4 == [1, 4] [algebraic-graphs]  [algebraic-graphs] ============ Graph.Label ============ [algebraic-graphs]  [algebraic-graphs] ============ Any: instances ============ [algebraic-graphs] OK: Semiring [algebraic-graphs] OK: StarSemiring [algebraic-graphs] OK: Dioid [algebraic-graphs]  [algebraic-graphs] ============ Distance Int: instances ============ [algebraic-graphs] OK: Semiring [algebraic-graphs] OK: StarSemiring [algebraic-graphs] OK: Dioid [algebraic-graphs]  [algebraic-graphs] ============ Capacity Int: instances ============ [algebraic-graphs] OK: Semiring [algebraic-graphs] OK: StarSemiring [algebraic-graphs] OK: Dioid [algebraic-graphs]  [algebraic-graphs] ============ Minimum (Path Int): instances ============ [algebraic-graphs] OK: LeftNearRing [algebraic-graphs]  [algebraic-graphs] ============ PowerSet (Path Int): instances ============ [algebraic-graphs] OK: Semiring [algebraic-graphs] OK: Dioid [algebraic-graphs]  [algebraic-graphs] ============ Count Int: instances ============ [algebraic-graphs] OK: Semiring [algebraic-graphs] OK: StarSemiring [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.consistent ============ [algebraic-graphs] OK: arbitraryLabelledAdjacencyMap [algebraic-graphs] OK: empty [algebraic-graphs] OK: vertex [algebraic-graphs] OK: edge [algebraic-graphs] OK: overlay [algebraic-graphs] OK: connect [algebraic-graphs] OK: vertices [algebraic-graphs] OK: edges [algebraic-graphs] OK: overlays [algebraic-graphs] OK: fromAdjacencyMaps [algebraic-graphs] OK: removeVertex [algebraic-graphs] OK: removeEdge [algebraic-graphs] OK: replaceVertex [algebraic-graphs] OK: replaceEdge [algebraic-graphs] OK: transpose [algebraic-graphs] OK: gmap [algebraic-graphs] OK: emap [algebraic-graphs] OK: induce [algebraic-graphs] OK: closure [algebraic-graphs] OK: reflexiveClosure [algebraic-graphs] OK: symmetricClosure [algebraic-graphs] OK: transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.edge ============ [algebraic-graphs] OK: edge e x y == connect e (vertex x) (vertex y) [algebraic-graphs] OK: edge zero x y == vertices [x,y] [algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= mempty) [algebraic-graphs] OK: edgeLabel x y (edge e x y) == e [algebraic-graphs] OK: edgeCount (edge e x y) == if e == mempty then 0 else 1 [algebraic-graphs] OK: vertexCount (edge e 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge e 1 2) == 2 [algebraic-graphs] OK: x -- y == edge e x y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e [algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f [algebraic-graphs]  [algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e [algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.connect ============ [algebraic-graphs] OK: isEmpty (connect e x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect e x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect e 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(e,x,y)] == edge e x y [algebraic-graphs] OK: edges == overlays . map (\(e, x, y) -> edge e x y) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.fromAdjacencyMaps ============ [algebraic-graphs] OK: fromAdjacencyMaps [] == empty [algebraic-graphs] OK: fromAdjacencyMaps [(x, Map.empty)] == vertex x [algebraic-graphs] OK: fromAdjacencyMaps [(x, Map.singleton y e)] == if e == zero then vertices [x,y] else edge e x y [algebraic-graphs] OK: overlay (fromAdjacencyMaps xs) (fromAdjacencyMaps ys) == fromAdjacencyMaps (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge e x y) == False [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= zero) [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.edgeLabel ============ [algebraic-graphs] OK: edgeLabel x y empty == zero [algebraic-graphs] OK: edgeLabel x y (vertex z) == zero [algebraic-graphs] OK: edgeLabel x y (edge e x y) == e [algebraic-graphs] OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge e x y) == if e == zero then 0 else 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)] [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge e 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge e 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.skeleton ============ [algebraic-graphs] OK: hasEdge x y == hasEdge x y . skeleton [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge e x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge e 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge e x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == gmap (\v -> if v == x then y else v) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.replaceEdge ============ [algebraic-graphs] OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y) [algebraic-graphs] OK: replaceEdge e x y (edge f x y) == edge e x y [algebraic-graphs] OK: edgeLabel x y (replaceEdge e x y z) == e [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge e x y) == edge e y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge e x y) == edge e (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.emap ============ [algebraic-graphs] OK: emap h empty == empty [algebraic-graphs] OK: emap h (vertex x) == vertex x [algebraic-graphs] OK: emap h (edge e x y) == edge (h e) x y [algebraic-graphs] OK: emap h (overlay x y) == overlay (emap h x) (emap h y) [algebraic-graphs] OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y) [algebraic-graphs] OK: emap id == id [algebraic-graphs] OK: emap g . emap h == emap (g . h) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.closure ============ [algebraic-graphs] OK: closure empty == empty [algebraic-graphs] OK: closure (vertex x) == edge one x x [algebraic-graphs] OK: closure (edge e x x) == edge one x x [algebraic-graphs] OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure [algebraic-graphs] OK: closure . closure == closure [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.reflexiveClosure ============ [algebraic-graphs] OK: reflexiveClosure empty == empty [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge one x x [algebraic-graphs] OK: reflexiveClosure (edge e x x) == edge one x x [algebraic-graphs] OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.symmetricClosure ============ [algebraic-graphs] OK: symmetricClosure empty == empty [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x [algebraic-graphs] OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)] [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x) [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.AdjacencyMap.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure empty == empty [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (edge e x y) == edge e x y [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.edge ============ [algebraic-graphs] OK: edge e x y == connect e (vertex x) (vertex y) [algebraic-graphs] OK: edge zero x y == vertices [x,y] [algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= mempty) [algebraic-graphs] OK: edgeLabel x y (edge e x y) == e [algebraic-graphs] OK: edgeCount (edge e x y) == if e == mempty then 0 else 1 [algebraic-graphs] OK: vertexCount (edge e 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge e 1 2) == 2 [algebraic-graphs] OK: x -- y == edge e x y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e [algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f [algebraic-graphs]  [algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e [algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.connect ============ [algebraic-graphs] OK: isEmpty (connect e x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect e x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect e 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(e,x,y)] == edge e x y [algebraic-graphs] OK: edges == overlays . map (\(e, x, y) -> edge e x y) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.foldg ============ [algebraic-graphs] OK: foldg empty vertex connect == id [algebraic-graphs] OK: foldg empty vertex (fmap flip connect) == transpose [algebraic-graphs] OK: foldg 1 (const 1) (const (+)) == size [algebraic-graphs] OK: foldg True (const False) (const (&&)) == isEmpty [algebraic-graphs] OK: foldg False (== x) (const (||)) == hasVertex x [algebraic-graphs] OK: foldg Set.empty Set.singleton (const Set.union) == vertexSet [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.buildg ============ [algebraic-graphs] OK: buildg (\e _ _ -> e) == empty [algebraic-graphs] OK: buildg (\_ v _ -> v x) == vertex x [algebraic-graphs] OK: buildg (\e v c -> c l (foldg e v c x) (foldg e v c y)) == connect l x y [algebraic-graphs] OK: buildg (\e v c -> foldr (c zero) e (map v xs)) == vertices xs [algebraic-graphs] OK: buildg (\e v c -> foldg e v (flip c) g) == transpose g [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge e x y) == False [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.size ============ [algebraic-graphs] OK: size empty == 1 [algebraic-graphs] OK: size (vertex x) == 1 [algebraic-graphs] OK: size (overlay x y) == size x + size y [algebraic-graphs] OK: size (connect x y) == size x + size y [algebraic-graphs] OK: size x >= 1 [algebraic-graphs] OK: size x >= vertexCount x [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= zero) [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.edgeLabel ============ [algebraic-graphs] OK: edgeLabel x y empty == zero [algebraic-graphs] OK: edgeLabel x y (vertex z) == zero [algebraic-graphs] OK: edgeLabel x y (edge e x y) == e [algebraic-graphs] OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge e x y) == if e == zero then 0 else 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)] [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge e 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge e 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge e x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge e 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge e x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == fmap (\v -> if v == x then y else v) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.replaceEdge ============ [algebraic-graphs] OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y) [algebraic-graphs] OK: replaceEdge e x y (edge f x y) == edge e x y [algebraic-graphs] OK: edgeLabel x y (replaceEdge e x y z) == e [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge e x y) == edge e y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.fmap ============ [algebraic-graphs] OK: fmap f empty == empty [algebraic-graphs] OK: fmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: fmap f (edge e x y) == edge e (f x) (f y) [algebraic-graphs] OK: fmap id == id [algebraic-graphs] OK: fmap f . fmap g == fmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.emap ============ [algebraic-graphs] OK: emap h empty == empty [algebraic-graphs] OK: emap h (vertex x) == vertex x [algebraic-graphs] OK: emap h (edge e x y) == edge (h e) x y [algebraic-graphs] OK: emap h (overlay x y) == overlay (emap h x) (emap h y) [algebraic-graphs] OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y) [algebraic-graphs] OK: emap id == id [algebraic-graphs] OK: emap g . emap h == emap (g . h) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.closure ============ [algebraic-graphs] OK: closure empty == empty [algebraic-graphs] OK: closure (vertex x) == edge one x x [algebraic-graphs] OK: closure (edge e x x) == edge one x x [algebraic-graphs] OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure [algebraic-graphs] OK: closure . closure == closure [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x) [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.reflexiveClosure ============ [algebraic-graphs] OK: reflexiveClosure empty == empty [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge one x x [algebraic-graphs] OK: reflexiveClosure (edge e x x) == edge one x x [algebraic-graphs] OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.symmetricClosure ============ [algebraic-graphs] OK: symmetricClosure empty == empty [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x [algebraic-graphs] OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)] [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x) [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure empty == empty [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (edge e x y) == edge e x y [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Labelled.Graph.context ============ [algebraic-graphs] OK: context (const False) x == Nothing [algebraic-graphs] OK: context (== 1) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [] [(e,2)]) [algebraic-graphs] OK: context (== 2) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [] ) [algebraic-graphs] OK: context (const True ) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [(e,2)]) [algebraic-graphs] OK: context (== 4) (3 * 1 * 4 * 1 * 5) == Just (Context [(one,3), (one,1)] [(one,1), (one,5)]) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap ============ [algebraic-graphs] OK: Axioms of non-empty graphs [algebraic-graphs] OK: Theorems of non-empty graphs [algebraic-graphs]  [algebraic-graphs] ============ Ord (NonEmpty.AdjacencyMap a) ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 1 2 < edge 1 3 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ Show (NonEmpty.AdjacencyMap a) ============ [algebraic-graphs] OK: show (1 :: AdjacencyMap Int) == "vertex 1" [algebraic-graphs] OK: show (1 + 2 :: AdjacencyMap Int) == "vertices1 [1,2]" [algebraic-graphs] OK: show (1 * 2 :: AdjacencyMap Int) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 3 :: AdjacencyMap Int) == "edges1 [(1,2),(1,3),(2,3)]" [algebraic-graphs] OK: show (1 * 2 + 3 :: AdjacencyMap Int) == "overlay (vertex 3) (edge 1 2)" [algebraic-graphs] OK: show (vertex (-1) :: AdjacencyMap Int) == "vertex (-1)" [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) :: AdjacencyMap Int) == "vertices1 [-2,-1]" [algebraic-graphs] OK: show (vertex (-1) * vertex (-2) :: AdjacencyMap Int) == "edge (-1) (-2)" [algebraic-graphs] OK: show (vertex (-1) * vertex (-2) * vertex (-3) :: AdjacencyMap Int) == "edges1 [(-2,-3),(-1,-3),(-1,-2)]" [algebraic-graphs] OK: show (vertex (-1) * vertex (-2) + vertex (-3) :: AdjacencyMap Int) == "overlay (vertex (-3)) (edge (-1) (-2))" [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.toNonEmpty ============ [algebraic-graphs] OK: toNonEmpty empty == Nothing [algebraic-graphs] OK: toNonEmpty . fromNonEmpty == Just [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.fromNonEmpty ============ [algebraic-graphs] OK: isEmpty . fromNonEmpty == const False [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertex ============ [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.overlay ============ [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.connect ============ [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertices1 ============ [algebraic-graphs] OK: vertices1 [x] == vertex x [algebraic-graphs] OK: hasVertex x . vertices1 == elem x [algebraic-graphs] OK: vertexCount . vertices1 == length . nub [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edges1 ============ [algebraic-graphs] OK: edges1 [(x,y)] == edge x y [algebraic-graphs] OK: edges1 == overlays1 . fmap (uncurry edge) [algebraic-graphs] OK: edgeCount . edges1 == length . nub [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.overlays1 ============ [algebraic-graphs] OK: overlays1 [x] == x [algebraic-graphs] OK: overlays1 [x,y] == overlay x y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.connects1 ============ [algebraic-graphs] OK: connects1 [x] == x [algebraic-graphs] OK: connects1 [x,y] == connect x y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path1 xs) (circuit1 xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.hasVertex ============ [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.hasEdge ============ [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexCount ============ [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount x >= 1 [algebraic-graphs] OK: vertexCount == length . vertexList1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeCount ============ [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexList1 ============ [algebraic-graphs] OK: vertexList1 (vertex x) == [x] [algebraic-graphs] OK: vertexList1 . vertices1 == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeList ============ [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] [algebraic-graphs] OK: edgeList . edges1 == nub . sort . toList [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexSet ============ [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList [algebraic-graphs] OK: vertexSet . clique1 == Set.fromList . toList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeSet ============ [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges1 == Set.fromList . toList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.preSet ============ [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.postSet ============ [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.path1 ============ [algebraic-graphs] OK: path1 [x] == vertex x [algebraic-graphs] OK: path1 [x,y] == edge x y [algebraic-graphs] OK: path1 . reverse == transpose . path1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.circuit1 ============ [algebraic-graphs] OK: circuit1 [x] == edge x x [algebraic-graphs] OK: circuit1 [x,y] == edges1 [(x,y), (y,x)] [algebraic-graphs] OK: circuit1 . reverse == transpose . circuit1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.clique1 ============ [algebraic-graphs] OK: clique1 [x] == vertex x [algebraic-graphs] OK: clique1 [x,y] == edge x y [algebraic-graphs] OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys) [algebraic-graphs] OK: clique1 . reverse == transpose . clique1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.biclique1 ============ [algebraic-graphs] OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges1 [(x,y), (x,z)] [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.stars1 ============ [algebraic-graphs] OK: stars1 [(x, [] )] == vertex x [algebraic-graphs] OK: stars1 [(x, [y])] == edge x y [algebraic-graphs] OK: stars1 [(x, ys )] == star x ys [algebraic-graphs] OK: stars1 == overlays1 . fmap (uncurry star) [algebraic-graphs] OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.removeVertex1 ============ [algebraic-graphs] OK: removeVertex1 x (vertex x) == Nothing [algebraic-graphs] OK: removeVertex1 1 (vertex 2) == Just (vertex 2) [algebraic-graphs] OK: removeVertex1 x (edge x x) == Nothing [algebraic-graphs] OK: removeVertex1 1 (edge 1 2) == Just (vertex 2) [algebraic-graphs] OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices1 [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.transpose ============ [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge x y) == edge y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.gmap ============ [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.induce1 ============ [algebraic-graphs] OK: induce1 (const True ) x == Just x [algebraic-graphs] OK: induce1 (const False) x == Nothing [algebraic-graphs] OK: induce1 (/= x) == removeVertex1 x [algebraic-graphs] OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.induceJust1 ============ [algebraic-graphs] OK: induceJust1 (vertex Nothing) == Nothing [algebraic-graphs] OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x) [algebraic-graphs] OK: induceJust1 . gmap Just == Just [algebraic-graphs] OK: induceJust1 . gmap (\x -> if p x then Just x else Nothing) == induce1 p [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.closure ============ [algebraic-graphs] OK: closure (vertex x) == edge x x [algebraic-graphs] OK: closure (edge x x) == edge x x [algebraic-graphs] OK: closure (edge x y) == edges1 [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: closure (path1 $ nub xs) == reflexiveClosure (clique1 $ nub xs) [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure [algebraic-graphs] OK: closure . closure == closure [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.reflexiveClosure ============ [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges1 [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.symmetricClosure ============ [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x [algebraic-graphs] OK: symmetricClosure (edge x y) == edges1 [(x,y), (y,x)] [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x) [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.AdjacencyMap.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y [algebraic-graphs] OK: transitiveClosure (path1 $ nub xs) == clique1 (nub $ xs) [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.============ [algebraic-graphs] OK: Axioms of non-empty graphs [algebraic-graphs] OK: Theorems of non-empty graphs [algebraic-graphs]  [algebraic-graphs] ============ Ord (NonEmpty.Graph a) ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 1 2 < edge 1 3 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ Functor (NonEmpty.Graph a) ============ [algebraic-graphs] OK: fmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: fmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: fmap id == id [algebraic-graphs] OK: fmap f . fmap g == fmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Monad (NonEmpty.Graph a) ============ [algebraic-graphs] OK: (vertex x >>= f) == f x [algebraic-graphs] OK: (edge x y >>= f) == connect (f x) (f y) [algebraic-graphs] OK: (vertices1 xs >>= f) == overlays1 (fmap f xs) [algebraic-graphs] OK: (x >>= vertex) == x [algebraic-graphs] OK: ((x >>= f) >>= g) == (x >>= (\y -> (f y) >>= g)) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.toNonEmpty ============ [algebraic-graphs] OK: toNonEmpty empty == Nothing [algebraic-graphs] OK: toNonEmpty (toGraph x) == Just (x :: NonEmpty.Graph a) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.vertex ============ [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: size (vertex x) == 1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.overlay ============ [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: size (overlay x y) == size x + size y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.overlay1 ============ [algebraic-graphs] OK: overlay1 empty x == x [algebraic-graphs] OK: x /= empty ==> overlay1 x y == overlay (fromJust $ toNonEmpty x) y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.connect ============ [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: size (connect x y) == size x + size y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.vertices1 ============ [algebraic-graphs] OK: vertices1 [x] == vertex x [algebraic-graphs] OK: hasVertex x . vertices1 == elem x [algebraic-graphs] OK: vertexCount . vertices1 == length . nub [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.edges1 ============ [algebraic-graphs] OK: edges1 [(x,y)] == edge x y [algebraic-graphs] OK: edges1 == overlays1 . fmap (uncurry edge) [algebraic-graphs] OK: edgeCount . edges1 == length . nub [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.overlays1 ============ [algebraic-graphs] OK: overlays1 [x] == x [algebraic-graphs] OK: overlays1 [x,y] == overlay x y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.connects1 ============ [algebraic-graphs] OK: connects1 [x] == x [algebraic-graphs] OK: connects1 [x,y] == connect x y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.foldg1 ============ [algebraic-graphs] OK: foldg1 vertex overlay connect == id [algebraic-graphs] OK: foldg1 vertex overlay (flip connect) == transpose [algebraic-graphs] OK: foldg1 (const 1) (+) (+) == size [algebraic-graphs] OK: foldg1 (== x) (||) (||) == hasVertex x [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path1 xs) (circuit1 xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.(===) ============ [algebraic-graphs] OK: x === x == True [algebraic-graphs] OK: x + y === x + y == True [algebraic-graphs] OK: 1 + 2 === 2 + 1 == False [algebraic-graphs] OK: x + y === x * y == False [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.size ============ [algebraic-graphs] OK: size (vertex x) == 1 [algebraic-graphs] OK: size (overlay x y) == size x + size y [algebraic-graphs] OK: size (connect x y) == size x + size y [algebraic-graphs] OK: size x >= 1 [algebraic-graphs] OK: size x >= vertexCount x [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.hasVertex ============ [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.hasEdge ============ [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.vertexCount ============ [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount x >= 1 [algebraic-graphs] OK: vertexCount == length . vertexList1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.edgeCount ============ [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.vertexList1 ============ [algebraic-graphs] OK: vertexList1 (vertex x) == [x] [algebraic-graphs] OK: vertexList1 . vertices1 == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.edgeList ============ [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] [algebraic-graphs] OK: edgeList . edges1 == nub . sort . toList [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.vertexSet ============ [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList [algebraic-graphs] OK: vertexSet . clique1 == Set.fromList . toList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.edgeSet ============ [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges1 == Set.fromList . toList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.path1 ============ [algebraic-graphs] OK: path1 [x] == vertex x [algebraic-graphs] OK: path1 [x,y] == edge x y [algebraic-graphs] OK: path1 . reverse == transpose . path1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.circuit1 ============ [algebraic-graphs] OK: circuit1 [x] == edge x x [algebraic-graphs] OK: circuit1 [x,y] == edges1 [(x,y), (y,x)] [algebraic-graphs] OK: circuit1 . reverse == transpose . circuit1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.clique1 ============ [algebraic-graphs] OK: clique1 [x] == vertex x [algebraic-graphs] OK: clique1 [x,y] == edge x y [algebraic-graphs] OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys) [algebraic-graphs] OK: clique1 . reverse == transpose . clique1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.biclique1 ============ [algebraic-graphs] OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges1 [(x,y), (x,z)] [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.stars1 ============ [algebraic-graphs] OK: stars1 [(x, [] )] == vertex x [algebraic-graphs] OK: stars1 [(x, [y])] == edge x y [algebraic-graphs] OK: stars1 [(x, ys )] == star x ys [algebraic-graphs] OK: stars1 == overlays1 . fmap (uncurry star) [algebraic-graphs] OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.mesh1 ============ [algebraic-graphs] OK: mesh1 [x] [y] == vertex (x, y) [algebraic-graphs] OK: mesh1 xs ys == box (path1 xs) (path1 ys) [algebraic-graphs] OK: mesh1 [1,2,3] ['a', 'b'] == [algebraic-graphs] OK: size (mesh xs ys) == max 1 (3 * length xs * length ys - length xs - length ys -1) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.torus1 ============ [algebraic-graphs] OK: torus1 [x] [y] == edge (x,y) (x,y) [algebraic-graphs] OK: torus1 xs ys == box (circuit1 xs) (circuit1 ys) [algebraic-graphs] OK: torus1 [1,2] ['a', 'b'] == [algebraic-graphs] OK: size (torus1 xs ys) == max 1 (3 * length xs * length ys) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.removeVertex1 ============ [algebraic-graphs] OK: removeVertex1 x (vertex x) == Nothing [algebraic-graphs] OK: removeVertex1 1 (vertex 2) == Just (vertex 2) [algebraic-graphs] OK: removeVertex1 x (edge x x) == Nothing [algebraic-graphs] OK: removeVertex1 1 (edge 1 2) == Just (vertex 2) [algebraic-graphs] OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices1 [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs] OK: size (removeEdge x y z) <= 3 * size z [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.splitVertex1 ============ [algebraic-graphs] OK: splitVertex1 x [x] == id [algebraic-graphs] OK: splitVertex1 x [y] == replaceVertex x y [algebraic-graphs] OK: splitVertex1 1 [0,1] $ 1 * (2 + 3) == (0 + 1) * (2 + 3) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.transpose ============ [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge x y) == edge y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y) [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.induce1 ============ [algebraic-graphs] OK: induce1 (const True ) x == Just x [algebraic-graphs] OK: induce1 (const False) x == Nothing [algebraic-graphs] OK: induce1 (/= x) == removeVertex1 x [algebraic-graphs] OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x) [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.induceJust1 ============ [algebraic-graphs] OK: induceJust1 (vertex Nothing) == Nothing [algebraic-graphs] OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x) [algebraic-graphs] OK: induceJust1 . fmap Just == Just [algebraic-graphs] OK: induceJust1 . fmap (\x -> if p x then Just x else Nothing) == induce1 p [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.simplify ============ [algebraic-graphs] OK: simplify == id [algebraic-graphs] OK: size (simplify x) <= size x [algebraic-graphs] OK: simplify 1 === 1 [algebraic-graphs] OK: simplify (1 + 1) === 1 [algebraic-graphs] OK: simplify (1 + 2 + 1) === 1 + 2 [algebraic-graphs] OK: simplify (1 * 1 * 1) === 1 * 1 [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.sparsify ============ [algebraic-graphs] OK: sort . reachable x == sort . rights . reachable (sparsify x) . Right [algebraic-graphs] OK: vertexCount (sparsify x) <= vertexCount x + size x + 1 [algebraic-graphs] OK: edgeCount (sparsify x) <= 3 * size x [algebraic-graphs] OK: size (sparsify x) <= 3 * size x [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.sparsifyKL ============ [algebraic-graphs] OK: sort . reachable x == sort . filter (<= n) . reachable (sparsifyKL n x) [algebraic-graphs] OK: length (vertices $ sparsifyKL n x) <= vertexCount x + size x + 1 [algebraic-graphs] OK: length (edges $ sparsifyKL n x) <= 3 * size x [algebraic-graphs]  [algebraic-graphs] ============ NonEmpty.Graph.box ============ [algebraic-graphs] OK: box (path1 [0,1]) (path1 ['a','b']) == [algebraic-graphs] OK: box x y ~~ box y x [algebraic-graphs] OK: box x (overlay y z) == overlay (box x y) (box x z) [algebraic-graphs] OK: box x (vertex ()) ~~ x [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y) [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y [algebraic-graphs]  [algebraic-graphs] ============ Relation ============ [algebraic-graphs] OK: Axioms of graphs [algebraic-graphs]  [algebraic-graphs] ============ Relation.consistent ============ [algebraic-graphs] OK: Consistency of the Arbitrary instance [algebraic-graphs]  [algebraic-graphs] OK: consistent empty == True [algebraic-graphs] OK: consistent (vertex x) == True [algebraic-graphs] OK: consistent (overlay x y) == True [algebraic-graphs] OK: consistent (connect x y) == True [algebraic-graphs] OK: consistent (edge x y) == True [algebraic-graphs] OK: consistent (edges xs) == True [algebraic-graphs] OK: consistent (stars xs) == True [algebraic-graphs]  [algebraic-graphs] ============ Relation.Show ============ [algebraic-graphs] OK: show (empty ) == "empty" [algebraic-graphs] OK: show (1 ) == "vertex 1" [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]" [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" [algebraic-graphs]  [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)" [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" [algebraic-graphs]  [algebraic-graphs] ============ Relation.Ord ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 1 2 < edge 1 3 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ Relation.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Relation.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Relation.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ Relation.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Relation.connect ============ [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ Relation.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Relation.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges == overlays . map (uncurry edge) [algebraic-graphs] OK: edgeCount . edges == length . nub [algebraic-graphs]  [algebraic-graphs] ============ Relation.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Relation.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Relation.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs]  [algebraic-graphs] ============ Relation.toGraph et al. ============ [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&) [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+) [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||) [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph [algebraic-graphs] OK: vertexCount == Set.size . vertexSet [algebraic-graphs] OK: edgeCount == Set.size . edgeSet [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs]  [algebraic-graphs] ============ Relation.foldg ============ [algebraic-graphs] OK: foldg empty vertex overlay connect == id [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Relation.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False [algebraic-graphs]  [algebraic-graphs] ============ Relation.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ Relation.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Relation.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ Relation.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Relation.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Relation.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Relation.vertexIntSet ============ [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList [algebraic-graphs]  [algebraic-graphs] ============ Relation.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] [algebraic-graphs] OK: edgeList . edges == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Relation.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y) [algebraic-graphs] OK: edgeSet . edges == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Relation.adjacencyList ============ [algebraic-graphs] OK: adjacencyList empty == [] [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])] [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] [algebraic-graphs]  [algebraic-graphs] ============ Relation.preSet ============ [algebraic-graphs] OK: preSet x empty == Set.empty [algebraic-graphs] OK: preSet x (vertex x) == Set.empty [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Relation.preIntSet ============ [algebraic-graphs] OK: preIntSet x empty == IntSet.empty [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Relation.postSet ============ [algebraic-graphs] OK: postSet x empty == Set.empty [algebraic-graphs] OK: postSet x (vertex x) == Set.empty [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y] [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty [algebraic-graphs]  [algebraic-graphs] ============ Relation.postIntSet ============ [algebraic-graphs] OK: postIntSet x empty == IntSet.empty [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y] [algebraic-graphs]  [algebraic-graphs] ============ Relation.path ============ [algebraic-graphs] OK: path [] == empty [algebraic-graphs] OK: path [x] == vertex x [algebraic-graphs] OK: path [x,y] == edge x y [algebraic-graphs]  [algebraic-graphs] ============ Relation.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [x] == edge x x [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)] [algebraic-graphs]  [algebraic-graphs] ============ Relation.clique ============ [algebraic-graphs] OK: clique [] == empty [algebraic-graphs] OK: clique [x] == vertex x [algebraic-graphs] OK: clique [x,y] == edge x y [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys) [algebraic-graphs]  [algebraic-graphs] ============ Relation.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique [x] [] == vertex x [algebraic-graphs] OK: biclique [] [y] == vertex y [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Relation.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Relation.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == vertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: stars . adjacencyList == id [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ Relation.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ Relation.forest ============ [algebraic-graphs] OK: forest [] == empty [algebraic-graphs] OK: forest [x] == tree x [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] [algebraic-graphs] OK: forest == overlays . map tree [algebraic-graphs]  [algebraic-graphs] ============ Relation.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Relation.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs]  [algebraic-graphs] ============ Relation.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ Relation.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ Relation.transpose ============ [algebraic-graphs] OK: transpose empty == empty [algebraic-graphs] OK: transpose (vertex x) == vertex x [algebraic-graphs] OK: transpose (edge x y) == edge y x [algebraic-graphs] OK: transpose . transpose == id [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Relation.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Relation.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Relation.compose ============ [algebraic-graphs] OK: compose empty x == empty [algebraic-graphs] OK: compose x empty == empty [algebraic-graphs] OK: compose (vertex x) y == empty [algebraic-graphs] OK: compose x (vertex y) == empty [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z) [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z) [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] [algebraic-graphs]  [algebraic-graphs] ============ Relation.closure ============ [algebraic-graphs] OK: closure empty == empty [algebraic-graphs] OK: closure (vertex x) == edge x x [algebraic-graphs] OK: closure (edge x x) == edge x x [algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs) [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure [algebraic-graphs] OK: closure . closure == closure [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x) [algebraic-graphs]  [algebraic-graphs] ============ Relation.reflexiveClosure ============ [algebraic-graphs] OK: reflexiveClosure empty == empty [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)] [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Relation.symmetricClosure ============ [algebraic-graphs] OK: symmetricClosure empty == empty [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x [algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)] [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x) [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure [algebraic-graphs]  [algebraic-graphs] ============ Relation.transitiveClosure ============ [algebraic-graphs] OK: transitiveClosure empty == empty [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y [algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs) [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure [algebraic-graphs]  [algebraic-graphs] ============ Relation.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs]  [algebraic-graphs] ============ ReflexiveRelation ============ [algebraic-graphs] OK: Axioms of reflexive graphs [algebraic-graphs]  [algebraic-graphs] ============ TransitiveRelation ============ [algebraic-graphs] OK: Axioms of transitive graphs [algebraic-graphs] OK: path xs == (clique xs :: TransitiveRelation Int) [algebraic-graphs]  [algebraic-graphs] ============ PreorderRelation ============ [algebraic-graphs] OK: Axioms of preorder graphs [algebraic-graphs] OK: path xs == (clique xs :: PreorderRelation Int) [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation ============ [algebraic-graphs] OK: Axioms of undirected graphs [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.consistent ============ [algebraic-graphs] OK: Consistency of the Arbitrary instance [algebraic-graphs]  [algebraic-graphs] OK: consistent empty == True [algebraic-graphs] OK: consistent (vertex x) == True [algebraic-graphs] OK: consistent (overlay x y) == True [algebraic-graphs] OK: consistent (connect x y) == True [algebraic-graphs] OK: consistent (edge x y) == True [algebraic-graphs] OK: consistent (edges xs) == True [algebraic-graphs] OK: consistent (stars xs) == True [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.Show ============ [algebraic-graphs] OK: show (empty ) == "empty" [algebraic-graphs] OK: show (1 ) == "vertex 1" [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]" [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" [algebraic-graphs]  [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)" [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" [algebraic-graphs]  [algebraic-graphs] OK: show (2 * 1 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]" [algebraic-graphs] OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.toSymmetric ============ [algebraic-graphs] OK: toSymmetric (edge 1 2) == edge 1 2 [algebraic-graphs] OK: toSymmetric . fromSymmetric == id [algebraic-graphs] OK: fromSymmetric . toSymmetric == symmetricClosure [algebraic-graphs] OK: vertexCount . toSymmetric == vertexCount [algebraic-graphs] OK: (*2) . edgeCount . toSymmetric >= edgeCount [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.fromSymmetric ============ [algebraic-graphs] OK: fromSymmetric (edge 1 2) == edges [(1,2), (2,1)] [algebraic-graphs] OK: vertexCount . fromSymmetric == vertexCount [algebraic-graphs] OK: edgeCount . fromSymmetric <= (*2) . edgeCount [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.Ord ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 2 1 < edge 1 3 [algebraic-graphs] OK: edge 1 2 == edge 2 1 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: edge x y == edge y x [algebraic-graphs] OK: edge x y == edges [(x,y), (y,x)] [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.connect ============ [algebraic-graphs] OK: connect x y == connect y x [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2 [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges [(x,y), (y,x)] == edge x y [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs] OK: connects == connects . reverse [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs] OK: isSubgraphOf (edge x y) (edge y x) == True [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.toGraph et al. ============ [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&) [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+) [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||) [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph [algebraic-graphs] OK: vertexCount == Set.size . vertexSet [algebraic-graphs] OK: edgeCount == Set.size . edgeSet [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.isEmpty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: isEmpty (overlay empty empty) == True [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.hasVertex ============ [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: hasVertex x . removeVertex x == const False [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.hasEdge ============ [algebraic-graphs] OK: hasEdge x y empty == False [algebraic-graphs] OK: hasEdge x y (vertex z) == False [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: hasEdge x y (edge y x) == True [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False [algebraic-graphs] OK: hasEdge x y == elem (min x y, max x y) . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.vertexCount ============ [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: vertexCount == length . vertexList [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.edgeCount ============ [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: edgeCount == length . edgeList [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.vertexList ============ [algebraic-graphs] OK: vertexList empty == [] [algebraic-graphs] OK: vertexList (vertex x) == [x] [algebraic-graphs] OK: vertexList . vertices == nub . sort [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.vertexSet ============ [algebraic-graphs] OK: vertexSet empty == Set.empty [algebraic-graphs] OK: vertexSet . vertex == Set.singleton [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.vertexIntSet ============ [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.edgeList ============ [algebraic-graphs] OK: edgeList empty == [] [algebraic-graphs] OK: edgeList (vertex x) == [] [algebraic-graphs] OK: edgeList (edge x y) == [(min x y, max y x)] [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(1,2), (2,3)] [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.edgeSet ============ [algebraic-graphs] OK: edgeSet empty == Set.empty [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (min x y, max x y) [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.adjacencyList ============ [algebraic-graphs] OK: adjacencyList empty == [] [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])] [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [1])] [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, [2]), (2, [1,3]), (3, [2])] [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.neighbours ============ [algebraic-graphs] OK: neighbours x empty == Set.empty [algebraic-graphs] OK: neighbours x (vertex x) == Set.empty [algebraic-graphs] OK: neighbours x (edge x y) == Set.fromList [y] [algebraic-graphs] OK: neighbours y (edge x y) == Set.fromList [x] [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.path ============ [algebraic-graphs] OK: path [] == empty [algebraic-graphs] OK: path [x] == vertex x [algebraic-graphs] OK: path [x,y] == edge x y [algebraic-graphs] OK: path == path . reverse [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [x] == edge x x [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)] [algebraic-graphs] OK: circuit == circuit . reverse [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.clique ============ [algebraic-graphs] OK: clique [] == empty [algebraic-graphs] OK: clique [x] == vertex x [algebraic-graphs] OK: clique [x,y] == edge x y [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys) [algebraic-graphs] OK: clique == clique . reverse [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique [x] [] == vertex x [algebraic-graphs] OK: biclique [] [y] == vertex y [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == vertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: stars . adjacencyList == id [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.forest ============ [algebraic-graphs] OK: forest [] == empty [algebraic-graphs] OK: forest [x] == tree x [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] [algebraic-graphs] OK: forest == overlays . map tree [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs] OK: removeEdge x y == removeEdge y x [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Symmetric.Relation.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs]  [algebraic-graphs] ============ Example.Todo (Holiday) ============ [algebraic-graphs] OK: A todo list is semantically Maybe [a] [algebraic-graphs] OK: The overlay operator (+) adds non-dependent items to the todo list [algebraic-graphs] OK: The connect operator (*) adds dependency between items [algebraic-graphs] OK: Contradictory constraints make the todo list impossible to schedule [algebraic-graphs] OK: Introduce item priority to schedule the todo list [algebraic-graphs] OK: Custom connect operators pull/repel arguments during scheduling [algebraic-graphs]  [algebraic-graphs] ============ Example.Todo (Commandline) ============ [algebraic-graphs] OK: The pull connect operator maintains command line semantics [algebraic-graphs] OK: Swapping flags are allowed by the commutative overlay opeartor [algebraic-graphs] OK: The usual connect operator breaks semantics [algebraic-graphs] OK: Transform command lines by adding optimisation flag [algebraic-graphs]  [algebraic-graphs] ============ Typed ============ [algebraic-graphs]  [algebraic-graphs] ============ Typed.fromAdjacencyMap ============ [algebraic-graphs] OK: toGraphKL (fromAdjacencyMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])] [algebraic-graphs] OK: toGraphKL (fromAdjacencyMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])] [algebraic-graphs] OK: map (fromVertexKL h) (vertices $ toGraphKL h) == vertexList g [algebraic-graphs] OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g [algebraic-graphs]  [algebraic-graphs] ============ Typed.fromAdjacencyIntMap ============ [algebraic-graphs] OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])] [algebraic-graphs] OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])] [algebraic-graphs] OK: map (fromVertexKL h) (vertices $ toGraphKL h) == IntSet.toAscList (vertexIntSet g) [algebraic-graphs] OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g [algebraic-graphs]  [algebraic-graphs] ============ Typed.dfsForest ============ [algebraic-graphs] OK: forest (dfsForest % edge 1 1) == vertex 1 [algebraic-graphs] OK: forest (dfsForest % edge 1 2) == edge 1 2 [algebraic-graphs] OK: forest (dfsForest % edge 2 1) == vertices [1, 2] [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest % x) x == True [algebraic-graphs] OK: dfsForest % forest (dfsForest % x) == dfsForest % x [algebraic-graphs] OK: dfsForest % vertices vs == map (\v -> Node v []) (nub $ sort vs) [algebraic-graphs] OK: dfsForest % (3 * (1 + 4) * (1 + 5)) == [algebraic-graphs]  [algebraic-graphs] ============ Typed.dfsForestFrom ============ [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 1) [1] == vertex 1 [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [0] == empty [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [1] == edge 1 2 [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [2] == vertex 2 [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [2,1] == vertices [1,2] [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom % x $ vs) x == True [algebraic-graphs] OK: dfsForestFrom % x $ vertexList x == dfsForest % x [algebraic-graphs] OK: dfsForestFrom % vertices vs $ vs == map (\v -> Node v []) (nub vs) [algebraic-graphs] OK: dfsForestFrom % x $ [] == [] [algebraic-graphs] OK: dfsForestFrom % (3 * (1 + 4) * (1 + 5)) $ [1,4] == [algebraic-graphs]  [algebraic-graphs] ============ Typed.dfs ============ [algebraic-graphs] OK: dfs % edge 1 1 $ [1] == [1] [algebraic-graphs] OK: dfs % edge 1 2 $ [0] == [] [algebraic-graphs] OK: dfs % edge 1 2 $ [1] == [1,2] [algebraic-graphs] OK: dfs % edge 1 2 $ [2] == [2] [algebraic-graphs] OK: dfs % edge 1 2 $ [1,2] == [1,2] [algebraic-graphs] OK: dfs % edge 1 2 $ [2,1] == [2,1] [algebraic-graphs] OK: dfs % x $ [] == [] [algebraic-graphs]  [algebraic-graphs] OK: dfs % (3 * (1 + 4) * (1 + 5)) $ [1,4] == [1,5,4] [algebraic-graphs] OK: and [ hasVertex v x | v <- dfs % x $ vs ] == True [algebraic-graphs]  [algebraic-graphs] ============ Typed.topSort ============ [algebraic-graphs] OK: topSort % (1 * 2 + 3 * 1) == [3,1,2] [algebraic-graphs] OK: topSort % (1 * 2 + 2 * 1) == [1,2] [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected ============ [algebraic-graphs] OK: Axioms of undirected graphs [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.Show ============ [algebraic-graphs] OK: show (empty ) == "empty" [algebraic-graphs] OK: show (1 ) == "vertex 1" [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]" [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" [algebraic-graphs]  [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)" [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" [algebraic-graphs]  [algebraic-graphs] OK: show (2 * 1 ) == "edge 1 2" [algebraic-graphs] OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]" [algebraic-graphs] OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]" [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.toUndirected ============ [algebraic-graphs] OK: toUndirected (edge 1 2) == edge 1 2 [algebraic-graphs] OK: toUndirected . fromUndirected == id [algebraic-graphs] OK: vertexCount . toUndirected == vertexCount [algebraic-graphs] OK: (*2) . edgeCount . toUndirected >= edgeCount [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.fromUndirected ============ [algebraic-graphs] OK: fromUndirected (edge 1 2) == edges [(1,2),(2,1)] [algebraic-graphs] OK: toUndirected . fromUndirected == id [algebraic-graphs] OK: vertexCount . fromUndirected == vertexCount [algebraic-graphs] OK: edgeCount . fromUndirected <= (*2) . edgeCount [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.complement ================ [algebraic-graphs] OK: complement empty == empty [algebraic-graphs] OK: complement (vertex x) == vertex x [algebraic-graphs] OK: complement (edge 1 1) == edge 1 1 [algebraic-graphs] OK: complement (edge 1 2) == vertices [1, 2] [algebraic-graphs] OK: complement (star 1 [2, 3]) == overlay (vertex 1) (edge 2 3) [algebraic-graphs] OK: complement . complement == id [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.Ord ============ [algebraic-graphs] OK: vertex 1 < vertex 2 [algebraic-graphs] OK: vertex 3 < edge 1 2 [algebraic-graphs] OK: vertex 1 < edge 1 1 [algebraic-graphs] OK: edge 1 1 < edge 1 2 [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2 [algebraic-graphs] OK: edge 2 1 < edge 1 3 [algebraic-graphs] OK: edge 1 2 == edge 2 1 [algebraic-graphs] OK: x <= x + y [algebraic-graphs] OK: x + y <= x * y [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.empty ============ [algebraic-graphs] OK: isEmpty empty == True [algebraic-graphs] OK: hasVertex x empty == False [algebraic-graphs] OK: vertexCount empty == 0 [algebraic-graphs] OK: edgeCount empty == 0 [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.vertex ============ [algebraic-graphs] OK: isEmpty (vertex x) == False [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y) [algebraic-graphs] OK: vertexCount (vertex x) == 1 [algebraic-graphs] OK: edgeCount (vertex x) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.edge ============ [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y) [algebraic-graphs] OK: edge x y == edge y x [algebraic-graphs] OK: edge x y == edges [(x,y), (y,x)] [algebraic-graphs] OK: hasEdge x y (edge x y) == True [algebraic-graphs] OK: edgeCount (edge x y) == 1 [algebraic-graphs] OK: vertexCount (edge 1 1) == 1 [algebraic-graphs] OK: vertexCount (edge 1 2) == 2 [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.overlay ============ [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2 [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0 [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.connect ============ [algebraic-graphs] OK: connect x y == connect y x [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2 [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y [algebraic-graphs] OK: vertexCount (connect 1 2) == 2 [algebraic-graphs] OK: edgeCount (connect 1 2) == 1 [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.vertices ============ [algebraic-graphs] OK: vertices [] == empty [algebraic-graphs] OK: vertices [x] == vertex x [algebraic-graphs] OK: vertices == overlays . map vertex [algebraic-graphs] OK: hasVertex x . vertices == elem x [algebraic-graphs] OK: vertexCount . vertices == length . nub [algebraic-graphs] OK: vertexSet . vertices == Set.fromList [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.edges ============ [algebraic-graphs] OK: edges [] == empty [algebraic-graphs] OK: edges [(x,y)] == edge x y [algebraic-graphs] OK: edges [(x,y), (y,x)] == edge x y [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.overlays ============ [algebraic-graphs] OK: overlays [] == empty [algebraic-graphs] OK: overlays [x] == x [algebraic-graphs] OK: overlays [x,y] == overlay x y [algebraic-graphs] OK: overlays == foldr overlay empty [algebraic-graphs] OK: isEmpty . overlays == all isEmpty [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.connects ============ [algebraic-graphs] OK: connects [] == empty [algebraic-graphs] OK: connects [x] == x [algebraic-graphs] OK: connects [x,y] == connect x y [algebraic-graphs] OK: connects == foldr connect empty [algebraic-graphs] OK: isEmpty . connects == all isEmpty [algebraic-graphs] OK: connects == connects . reverse [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.isSubgraphOf ============ [algebraic-graphs] OK: isSubgraphOf empty x == True [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y [algebraic-graphs] OK: isSubgraphOf (edge x y) (edge y x) == True [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.path ============ [algebraic-graphs] OK: path [] == empty [algebraic-graphs] OK: path [x] == vertex x [algebraic-graphs] OK: path [x,y] == edge x y [algebraic-graphs] OK: path == path . reverse [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.circuit ============ [algebraic-graphs] OK: circuit [] == empty [algebraic-graphs] OK: circuit [x] == edge x x [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)] [algebraic-graphs] OK: circuit == circuit . reverse [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.clique ============ [algebraic-graphs] OK: clique [] == empty [algebraic-graphs] OK: clique [x] == vertex x [algebraic-graphs] OK: clique [x,y] == edge x y [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys) [algebraic-graphs] OK: clique == clique . reverse [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.biclique ============ [algebraic-graphs] OK: biclique [] [] == empty [algebraic-graphs] OK: biclique [x] [] == vertex x [algebraic-graphs] OK: biclique [] [y] == vertex y [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.star ============ [algebraic-graphs] OK: star x [] == vertex x [algebraic-graphs] OK: star x [y] == edge x y [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)] [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.stars ============ [algebraic-graphs] OK: stars [] == empty [algebraic-graphs] OK: stars [(x, [])] == vertex x [algebraic-graphs] OK: stars [(x, [y])] == edge x y [algebraic-graphs] OK: stars [(x, ys)] == star x ys [algebraic-graphs] OK: stars == overlays . map (uncurry star) [algebraic-graphs] OK: stars . adjacencyList == id [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.tree ============ [algebraic-graphs] OK: tree (Node x []) == vertex x [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z] [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.forest ============ [algebraic-graphs] OK: forest [] == empty [algebraic-graphs] OK: forest [x] == tree x [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] [algebraic-graphs] OK: forest == overlays . map tree [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.removeVertex ============ [algebraic-graphs] OK: removeVertex x (vertex x) == empty [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2 [algebraic-graphs] OK: removeVertex x (edge x x) == empty [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2 [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.removeEdge ============ [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y] [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 [algebraic-graphs] OK: removeEdge x y == removeEdge y x [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.replaceVertex ============ [algebraic-graphs] OK: replaceVertex x x == id [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.mergeVertices ============ [algebraic-graphs] OK: mergeVertices (const False) x == id [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1 [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.gmap ============ [algebraic-graphs] OK: gmap f empty == empty [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x) [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y) [algebraic-graphs] OK: gmap id == id [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g) [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.induce ============ [algebraic-graphs] OK: induce (const True ) x == x [algebraic-graphs] OK: induce (const False) x == empty [algebraic-graphs] OK: induce (/= x) == removeVertex x [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x) [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True [algebraic-graphs]  [algebraic-graphs] ============ Graph.Undirected.induceJust ============ [algebraic-graphs] OK: induceJust (vertex Nothing) == empty [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x [algebraic-graphs] OK: induceJust . gmap Just == id [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p [algebraic-graphs] Test suite main: PASS [algebraic-graphs] Test suite logged to: dist/test/algebraic-graphs-0.7-main.log [algebraic-graphs] 1 of 1 test suites (1 of 1 test cases) passed. [algebraic-graphs] checkPhase completed in 4 minutes 23 seconds [algebraic-graphs] Phase: haddockPhase [algebraic-graphs] Preprocessing library for algebraic-graphs-0.7... [algebraic-graphs] Running Haddock on library for algebraic-graphs-0.7... [algebraic-graphs] [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, nothing ) [algebraic-graphs] [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, nothing ) [algebraic-graphs] [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, nothing ) [algebraic-graphs] [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, nothing ) [algebraic-graphs] [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, nothing ) [algebraic-graphs] [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, nothing ) [algebraic-graphs] [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, nothing ) [algebraic-graphs] [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, nothing ) [algebraic-graphs] [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, nothing ) [algebraic-graphs] [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, nothing ) [algebraic-graphs] [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, nothing ) [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:384:43: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘head’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 384 | exit v = do newComponent <- (v==).snd.head <$> gets boundaryStack [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:391:21: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘tail’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 391 | pth' = tail v_pth' -- Here we know that v_pth' starts with v [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:395:26: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘head’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 395 | p_v = fst $ head bnd [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/AdjacencyMap/Algorithm.hs:397:21: warning: []8;;https://errors.haskell.org/messages/GHC-63394\GHC-63394]8;;\] [-Wx-partial] [algebraic-graphs]  In the use of ‘tail’ [algebraic-graphs]  (imported from Prelude, but defined in GHC.Internal.List): [algebraic-graphs]  "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"." [algebraic-graphs]  | [algebraic-graphs] 397 | bnd' = tail bnd [algebraic-graphs]  | ^^^^ [algebraic-graphs]  [algebraic-graphs] [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, nothing ) [algebraic-graphs] [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, nothing ) [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, nothing ) [algebraic-graphs] [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, nothing ) [algebraic-graphs] [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, nothing ) [algebraic-graphs] [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, nothing ) [algebraic-graphs] [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, nothing ) [algebraic-graphs] [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, nothing ) [algebraic-graphs] [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, nothing ) [algebraic-graphs] [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, nothing ) [algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, nothing ) [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: []8;;https://errors.haskell.org/messages/GHC-58520\GHC-58520]8;;\] [-Wtype-equality-requires-operators] [algebraic-graphs]  The use of ‘~’ without TypeOperators [algebraic-graphs]  will become an error in a future GHC release. [algebraic-graphs]  Suggested fix: Perhaps you intended to use TypeOperators [algebraic-graphs]  | [algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s [algebraic-graphs]  | ^ [algebraic-graphs]  [algebraic-graphs] [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, nothing ) [algebraic-graphs] [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, nothing ) [algebraic-graphs] [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, nothing ) [algebraic-graphs] [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, nothing ) [algebraic-graphs] [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, nothing ) [algebraic-graphs] [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, nothing ) [algebraic-graphs] [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, nothing ) [algebraic-graphs] Haddock coverage: [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:227:1 [algebraic-graphs]  * in ‘Data.Map.Internal’ [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:227:1 [algebraic-graphs]  100% ( 58 / 58) in 'Algebra.Graph.AdjacencyMap' [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyIntMap.hs:237:1 [algebraic-graphs]  * in ‘Data.IntMap.Internal’ [algebraic-graphs]  * in ‘Data.IntSet.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyIntMap.hs:237:1 [algebraic-graphs]  100% ( 56 / 56) in 'Algebra.Graph.AdjacencyIntMap' [algebraic-graphs] Warning: 'nub' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'sort' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  93% ( 14 / 15) in 'Algebra.Graph.AdjacencyIntMap.Algorithm' [algebraic-graphs]  Missing documentation for: [algebraic-graphs]  Cycle (src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs:227) [algebraic-graphs] Warning: 'List' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Internal.hs:50:18 [algebraic-graphs]  * at src/Algebra/Graph/Internal.hs:50:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Internal.hs:50:1 [algebraic-graphs] Warning: 'IsList' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 19 / 19) in 'Algebra.Graph.Internal' [algebraic-graphs] Warning: 'Context' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph.hs:1400:18 [algebraic-graphs]  * at src/Algebra/Graph.hs:1400:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph.hs:1400:1 [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph.hs:316:1 [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph.hs:316:1 [algebraic-graphs]  100% ( 61 / 61) in 'Algebra.Graph' [algebraic-graphs] Warning: 'mplus' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'vertexCount' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'hasVertex' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'vertexSet' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'isEmpty' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'edgeList' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'adjacencyList' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'box' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'edgeCount' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 42 / 42) in 'Algebra.Graph.HigherKinded.Class' [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 [algebraic-graphs]  * in ‘Data.Map.Internal’ [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 [algebraic-graphs] Warning: 'nub' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'swap' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:418:1 [algebraic-graphs]  * in ‘GHC.Internal.Data.Tuple’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:418:1 [algebraic-graphs]  100% ( 63 / 63) in 'Algebra.Graph.Bipartite.AdjacencyMap' [algebraic-graphs] Warning: 'isRight' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'Matching' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs:169:21 [algebraic-graphs]  * at src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs:169:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs:169:1 [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 [algebraic-graphs]  100% ( 25 / 25) in 'Algebra.Graph.Bipartite.AdjacencyMap.Algorithm' [algebraic-graphs] Warning: 'Optimum' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:442:20 [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:442:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Label.hs:442:1 [algebraic-graphs] Warning: 'Distance' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:241:22 [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:241:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Label.hs:241:1 [algebraic-graphs] Warning: 'Minimum' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:314:21 [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:314:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Label.hs:314:1 [algebraic-graphs] Warning: 'Capacity' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:176:22 [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:176:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Label.hs:176:1 [algebraic-graphs] Warning: 'Count' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:209:19 [algebraic-graphs]  * at src/Algebra/Graph/Label.hs:209:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Label.hs:209:1 [algebraic-graphs]  100% ( 37 / 37) in 'Algebra.Graph.Label' [algebraic-graphs] Warning: 'AdjacencyMap' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:157:1 [algebraic-graphs]  * at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:152:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:152:1 [algebraic-graphs] Warning: 'isEmpty' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'empty' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'vertexList' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'edges' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'adjacencyList' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'stars' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 51 / 51) in 'Algebra.Graph.NonEmpty.AdjacencyMap' [algebraic-graphs] Warning: 'nub' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'sort' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs] Warning: 'vertex' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:239:1 [algebraic-graphs]  * at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:224:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:224:1 [algebraic-graphs] Warning: 'edge' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:252:1 [algebraic-graphs]  * at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:237:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:237:1 [algebraic-graphs]  93% ( 15 / 16) in 'Algebra.Graph.AdjacencyMap.Algorithm' [algebraic-graphs]  Missing documentation for: [algebraic-graphs]  Cycle (src/Algebra/Graph/AdjacencyMap/Algorithm.hs:228) [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:132:1 [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:227:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:227:1 [algebraic-graphs] Warning: 'vertex' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:143:1 [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:239:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:239:1 [algebraic-graphs] Warning: 'vertexCount' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:246:1 [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:417:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:417:1 [algebraic-graphs] Warning: 'edgeCount' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:258:1 [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:429:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:429:1 [algebraic-graphs] Warning: 'vertices' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:157:1 [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:309:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:309:1 [algebraic-graphs]  100% ( 44 / 44) in 'Algebra.Graph.Acyclic.AdjacencyMap' [algebraic-graphs] Warning: 'foldg' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph.hs:482:1 [algebraic-graphs]  * at src/Algebra/Graph/ToGraph.hs:98:5 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/ToGraph.hs:98:5 [algebraic-graphs]  100% ( 8 / 8) in 'Algebra.Graph.ToGraph' [algebraic-graphs] Warning: 'Relation' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation.hs:157:19 [algebraic-graphs]  * at src/Algebra/Graph/Relation.hs:157:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation.hs:157:1 [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation.hs:243:1 [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation.hs:243:1 [algebraic-graphs] Warning: 'AdjacencyMap' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 56 / 56) in 'Algebra.Graph.Relation' [algebraic-graphs] Warning: 'vertexCount' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation.hs:423:1 [algebraic-graphs]  * at src/Algebra/Graph/Relation/Symmetric.hs:372:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation/Symmetric.hs:372:1 [algebraic-graphs] Warning: 'edgeCount' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation.hs:435:1 [algebraic-graphs]  * at src/Algebra/Graph/Relation/Symmetric.hs:384:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation/Symmetric.hs:384:1 [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation/Symmetric.hs:188:1 [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation/Symmetric.hs:188:1 [algebraic-graphs]  100% ( 48 / 48) in 'Algebra.Graph.Relation.Symmetric' [algebraic-graphs] Warning: 'vertexList' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 53 / 53) in 'Algebra.Graph.NonEmpty' [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Labelled/AdjacencyMap.hs:160:1 [algebraic-graphs]  * in ‘Data.Map.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Labelled/AdjacencyMap.hs:160:1 [algebraic-graphs] Warning: 'hasEdge' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/AdjacencyMap.hs:403:1 [algebraic-graphs]  * at src/Algebra/Graph/Labelled/AdjacencyMap.hs:379:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Labelled/AdjacencyMap.hs:379:1 [algebraic-graphs]  100% ( 49 / 49) in 'Algebra.Graph.Labelled.AdjacencyMap' [algebraic-graphs] Warning: 'Context' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Labelled.hs:675:20 [algebraic-graphs]  * at src/Algebra/Graph/Labelled.hs:675:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Labelled.hs:675:1 [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Labelled.hs:191:1 [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Labelled.hs:191:1 [algebraic-graphs] Warning: 'Focus' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Labelled.hs:642:18 [algebraic-graphs]  * at src/Algebra/Graph/Labelled.hs:642:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Labelled.hs:642:1 [algebraic-graphs]  100% ( 49 / 49) in 'Algebra.Graph.Labelled' [algebraic-graphs]  100% ( 6 / 6) in 'Algebra.Graph.Labelled.Example.Network' [algebraic-graphs]  100% ( 5 / 5) in 'Algebra.Graph.Labelled.Example.Automaton' [algebraic-graphs] Warning: 'Doc' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Export.hs:57:17 [algebraic-graphs]  * at src/Algebra/Graph/Export.hs:57:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Export.hs:57:1 [algebraic-graphs]  100% ( 14 / 14) in 'Algebra.Graph.Export' [algebraic-graphs] Warning: 'Style' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Export/Dot.hs:49:18 [algebraic-graphs]  * at src/Algebra/Graph/Export/Dot.hs:49:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Export/Dot.hs:49:1 [algebraic-graphs] Warning: 'Graph' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 11 / 11) in 'Algebra.Graph.Export.Dot' [algebraic-graphs] Warning: 'empty' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Undirected.hs:253:1 [algebraic-graphs]  * in ‘Data.Set.Internal’ [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Undirected.hs:253:1 [algebraic-graphs]  100% ( 50 / 50) in 'Algebra.Graph.Undirected' [algebraic-graphs]  100% ( 27 / 27) in 'Algebra.Graph.Class' [algebraic-graphs] Warning: 'TransitiveRelation' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation/Transitive.hs:39:32 [algebraic-graphs]  * at src/Algebra/Graph/Relation/Transitive.hs:39:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation/Transitive.hs:39:1 [algebraic-graphs] Warning: 'Transitive' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 5 / 5) in 'Algebra.Graph.Relation.Transitive' [algebraic-graphs] Warning: 'ReflexiveRelation' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation/Reflexive.hs:34:31 [algebraic-graphs]  * at src/Algebra/Graph/Relation/Reflexive.hs:34:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation/Reflexive.hs:34:1 [algebraic-graphs] Warning: 'Reflexive' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 5 / 5) in 'Algebra.Graph.Relation.Reflexive' [algebraic-graphs] Warning: 'PreorderRelation' is ambiguous. It is defined [algebraic-graphs]  * at src/Algebra/Graph/Relation/Preorder.hs:44:30 [algebraic-graphs]  * at src/Algebra/Graph/Relation/Preorder.hs:44:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Algebra/Graph/Relation/Preorder.hs:44:1 [algebraic-graphs] Warning: 'Preorder' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  100% ( 5 / 5) in 'Algebra.Graph.Relation.Preorder' [algebraic-graphs]  0% ( 0 / 8) in 'Algebra.Graph.Example.Todo' [algebraic-graphs]  Missing documentation for: [algebraic-graphs]  Module header [algebraic-graphs]  Todo (src/Algebra/Graph/Example/Todo.hs:13) [algebraic-graphs]  todo (src/Algebra/Graph/Example/Todo.hs:42) [algebraic-graphs]  low (src/Algebra/Graph/Example/Todo.hs:23) [algebraic-graphs]  high (src/Algebra/Graph/Example/Todo.hs:27) [algebraic-graphs]  ~*~ (src/Algebra/Graph/Example/Todo.hs:35) [algebraic-graphs]  >*< (src/Algebra/Graph/Example/Todo.hs:39) [algebraic-graphs]  priority (src/Algebra/Graph/Example/Todo.hs:31) [algebraic-graphs] Warning: 'GraphKL' is ambiguous. It is defined [algebraic-graphs]  * at src/Data/Graph/Typed.hs:40:18 [algebraic-graphs]  * at src/Data/Graph/Typed.hs:40:1 [algebraic-graphs]  You may be able to disambiguate the identifier by qualifying it or [algebraic-graphs]  by specifying the type/value namespace explicitly. [algebraic-graphs]  Defaulting to the one defined at src/Data/Graph/Typed.hs:40:1 [algebraic-graphs] Warning: 'array' is out of scope. [algebraic-graphs]  If you qualify the identifier, haddock can try to link it anyway. [algebraic-graphs]  90% ( 10 / 11) in 'Data.Graph.Typed' [algebraic-graphs]  Missing documentation for: [algebraic-graphs]  scc (src/Data/Graph/Typed.hs:192) [algebraic-graphs] Warning: Algebra.Graph.AdjacencyMap: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.AdjacencyMap.Rep_AdjacencyMap [algebraic-graphs] Warning: Algebra.Graph.AdjacencyIntMap: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.AdjacencyIntMap.Rep_AdjacencyIntMap [algebraic-graphs] Warning: Algebra.Graph: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.Rep_Graph [algebraic-graphs] Warning: Algebra.Graph.Bipartite.AdjacencyMap: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.Bipartite.AdjacencyMap.Rep_List [algebraic-graphs]  - Algebra.Graph.Bipartite.AdjacencyMap.Rep_AdjacencyMap [algebraic-graphs] Warning: Algebra.Graph.Bipartite.AdjacencyMap.Algorithm: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.Bipartite.AdjacencyMap.Algorithm.Rep_Matching [algebraic-graphs] Warning: Algebra.Graph.NonEmpty.AdjacencyMap: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.NonEmpty.AdjacencyMap.Rep_AdjacencyMap [algebraic-graphs] Warning: Algebra.Graph.Labelled.AdjacencyMap: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.Labelled.AdjacencyMap.Rep_AdjacencyMap [algebraic-graphs] Warning: Algebra.Graph.Labelled: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.Labelled.Rep_Graph [algebraic-graphs] Warning: Algebra.Graph.Undirected: could not find link destinations for: [algebraic-graphs]  - Algebra.Graph.Undirected.Rep_Graph [algebraic-graphs] Documentation created: dist/doc/html/algebraic-graphs/, [algebraic-graphs] dist/doc/html/algebraic-graphs/algebraic-graphs.txt [algebraic-graphs] Preprocessing test suite 'main' for algebraic-graphs-0.7... [algebraic-graphs] Phase: installPhase [algebraic-graphs] Installing library in /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graphs] Phase: fixupPhase [algebraic-graphs] shrinking RPATHs of ELF executables and libraries in /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7 [algebraic-graphs] shrinking /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSalgebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW-ghc9.10.3.so [algebraic-graphs] checking for references to /build/ in /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7... [algebraic-graphs] patching script interpreter paths in /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7 [algebraic-graphs] stripping (with command strip and flags -S -p) in /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/lib [algebraic-graphs] shrinking RPATHs of ELF executables and libraries in /nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc [algebraic-graphs] checking for references to /build/ in /nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc... [algebraic-graphs] patching script interpreter paths in /nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7 /nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7 /nix/store/dxizyanc3x23qyq6hnrq1hw4k88rv25h-algebraic-graphs-0.7-doc [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 14 of 19 built, 193 of 193 downloaded from cache Building algebraic-graph-duoids [algebraic-graph-duoids] Phase: setupCompilerEnvironmentPhase [algebraic-graph-duoids] Build with /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3. [algebraic-graph-duoids] Phase: unpackPhase [algebraic-graph-duoids] unpacking source archive /nix/store/hwhxlh4aq4w3fvrlk65js3cdkm3in22k-5y8mzl3igbd7qyrpb010fqiak50k5q01-source/./algebraic-graphs [algebraic-graph-duoids] source root is algebraic-graphs [algebraic-graph-duoids] Phase: patchPhase [algebraic-graph-duoids] Phase: compileBuildDriverPhase [algebraic-graph-duoids] setupCompileFlags: -package-db=/build/tmp.vpwI7S5bEi/setup-package.conf.d -threaded [algebraic-graph-duoids] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.vpwI7S5bEi/Main.o ) [algebraic-graph-duoids] [2 of 2] Linking Setup [algebraic-graph-duoids] Phase: updateAutotoolsGnuConfigScriptsPhase [algebraic-graph-duoids] Phase: configurePhase [algebraic-graph-duoids] configureFlags: --verbose --prefix=/nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc/share/doc/algebraic-graph-duoids-0.0.1.0 --with-gcc=gcc --package-db=/build/tmp.vpwI7S5bEi/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-Werror --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/lib [algebraic-graph-duoids] Using Parsec parser [algebraic-graph-duoids] Configuring algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Flags chosen: lint=False, noisy-deprecations=True [algebraic-graph-duoids] Dependency algebraic-graphs >=0.6.1 && <0.8: using algebraic-graphs-0.7 [algebraic-graph-duoids] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [algebraic-graph-duoids] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [algebraic-graph-duoids] Dependency duoids >=0.0.1 && <0.1: using duoids-0.0.1.0 [algebraic-graph-duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [algebraic-graph-duoids] Dependency algebraic-graph-duoids: using algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] Dependency algebraic-graphs >=0.6.1 && <0.8: using algebraic-graphs-0.7 [algebraic-graph-duoids] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [algebraic-graph-duoids] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [algebraic-graph-duoids] Dependency duoids-hedgehog >=0.0.1 && <0.1: using duoids-hedgehog-0.0.1.0 [algebraic-graph-duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [algebraic-graph-duoids] Dependency hedgehog >=1.2 && <1.3 || >=1.4 && <1.6 || >=1.7 && <1.8: using [algebraic-graph-duoids] hedgehog-1.5 [algebraic-graph-duoids] Dependency algebraic-graph-duoids: using algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || [algebraic-graph-duoids] >=4.21.0 && <4.22 || >=4.22.0 && <4.23: using base-4.20.2.0 [algebraic-graph-duoids] Dependency doctest >=0.21.1 && <0.22 || >=0.22.6 && <0.23 || >=0.24.0 && [algebraic-graph-duoids] <0.25: using doctest-0.24.2 [algebraic-graph-duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1 [algebraic-graph-duoids] Source component graph: [algebraic-graph-duoids]  component lib [algebraic-graph-duoids]  component test:doctests dependency lib [algebraic-graph-duoids]  component test:laws dependency lib [algebraic-graph-duoids] Configured component graph: [algebraic-graph-duoids]  component algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  include algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graph-duoids]  include base-4.20.2.0-acb8 [algebraic-graph-duoids]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [algebraic-graph-duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  component algebraic-graph-duoids-0.0.1.0-BCBiHvpUmmaDfl9bHiyWkI-doctests [algebraic-graph-duoids]  include algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  include base-4.20.2.0-acb8 [algebraic-graph-duoids]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [algebraic-graph-duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  component algebraic-graph-duoids-0.0.1.0-IjWb2oI1gcnJxK84yFuagh-laws [algebraic-graph-duoids]  include algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  include algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graph-duoids]  include base-4.20.2.0-acb8 [algebraic-graph-duoids]  include duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [algebraic-graph-duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [algebraic-graph-duoids] Linked component graph: [algebraic-graph-duoids]  unit algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  include algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graph-duoids]  include base-4.20.2.0-acb8 [algebraic-graph-duoids]  include duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [algebraic-graph-duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  Algebra.Graph.Duoid=algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI:Algebra.Graph.Duoid,Algebra.Graph.Duoid.Orphans=algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI:Algebra.Graph.Duoid.Orphans [algebraic-graph-duoids]  unit algebraic-graph-duoids-0.0.1.0-BCBiHvpUmmaDfl9bHiyWkI-doctests [algebraic-graph-duoids]  include algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  include base-4.20.2.0-acb8 [algebraic-graph-duoids]  include doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [algebraic-graph-duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  unit algebraic-graph-duoids-0.0.1.0-IjWb2oI1gcnJxK84yFuagh-laws [algebraic-graph-duoids]  include algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  include algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graph-duoids]  include base-4.20.2.0-acb8 [algebraic-graph-duoids]  include duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [algebraic-graph-duoids]  include ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  include hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [algebraic-graph-duoids] Ready component graph: [algebraic-graph-duoids]  definite algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  depends algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graph-duoids]  depends base-4.20.2.0-acb8 [algebraic-graph-duoids]  depends duoids-0.0.1.0-JQuo8shp0teIRv4kSOfT9c [algebraic-graph-duoids]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  definite algebraic-graph-duoids-0.0.1.0-IjWb2oI1gcnJxK84yFuagh-laws [algebraic-graph-duoids]  depends algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  depends algebraic-graphs-0.7-Dzdl7vkJHJu5iSqEy4BAAW [algebraic-graph-duoids]  depends base-4.20.2.0-acb8 [algebraic-graph-duoids]  depends duoids-hedgehog-0.0.1.0-DHpwPjgdpDzDuo5xC7SmPW [algebraic-graph-duoids]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids]  depends hedgehog-1.5-GkwolDBwWusGqoG17DJK3A [algebraic-graph-duoids]  definite algebraic-graph-duoids-0.0.1.0-BCBiHvpUmmaDfl9bHiyWkI-doctests [algebraic-graph-duoids]  depends algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids]  depends base-4.20.2.0-acb8 [algebraic-graph-duoids]  depends doctest-0.24.2-18dgXXsZmap5NU7dF4zxUR [algebraic-graph-duoids]  depends ghc-compat-plugin-0.1.0.1-7XMbyPoRQtN6oKZ0kiZSoh [algebraic-graph-duoids] Using Cabal-3.12.1.0 compiled by ghc-9.10 [algebraic-graph-duoids] Using compiler: ghc-9.10.3 [algebraic-graph-duoids] Using install prefix: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] Executables installed in: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/bin [algebraic-graph-duoids] Libraries installed in: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids] Dynamic Libraries installed in: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702 [algebraic-graph-duoids] Private executables installed in: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/libexec/x86_64-linux-ghc-9.10.3-5702/algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] Data files installed in: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/share/x86_64-linux-ghc-9.10.3-5702/algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] Documentation installed in: [algebraic-graph-duoids] /nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc/share/doc/algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] Configuration files installed in: [algebraic-graph-duoids] /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/etc [algebraic-graph-duoids] No alex found [algebraic-graph-duoids] Using ar found on system at: [algebraic-graph-duoids] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar [algebraic-graph-duoids] No c2hs found [algebraic-graph-duoids] No cpphs found [algebraic-graph-duoids] Using doctest version 0.24.2 found on system at: [algebraic-graph-duoids] /nix/store/5cywz807jgyxilkmix7rwpy7501a4jr4-doctest-0.24.2/bin/doctest [algebraic-graph-duoids] Using gcc version 14.3.0 given by user at: [algebraic-graph-duoids] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc [algebraic-graph-duoids] Using ghc version 9.10.3 found on system at: [algebraic-graph-duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc [algebraic-graph-duoids] Using ghc-pkg version 9.10.3 found on system at: [algebraic-graph-duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/ghc-pkg-9.10.3 [algebraic-graph-duoids] No ghcjs found [algebraic-graph-duoids] No ghcjs-pkg found [algebraic-graph-duoids] No greencard found [algebraic-graph-duoids] Using haddock version 2.31.1 found on system at: [algebraic-graph-duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/haddock-ghc-9.10.3 [algebraic-graph-duoids] No happy found [algebraic-graph-duoids] Using haskell-suite found on system at: haskell-suite-dummy-location [algebraic-graph-duoids] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location [algebraic-graph-duoids] No hmake found [algebraic-graph-duoids] Using hpc version 0.69 found on system at: [algebraic-graph-duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hpc-ghc-9.10.3 [algebraic-graph-duoids] Using hsc2hs version 0.68.10 found on system at: [algebraic-graph-duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3 [algebraic-graph-duoids] Using hscolour version 1.25 found on system at: [algebraic-graph-duoids] /nix/store/7bd6y873jzkh9wkxhgl2a0za0kfjv1c7-hscolour-1.25/bin/HsColour [algebraic-graph-duoids] No jhc found [algebraic-graph-duoids] Using ld found on system at: [algebraic-graph-duoids] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/ld [algebraic-graph-duoids] No pkg-config found [algebraic-graph-duoids] Using runghc version 9.10.3 found on system at: [algebraic-graph-duoids] /nix/store/ffg3yf2ypnbz3hc31y7nglrkihz0if01-ghc-9.10.3/bin/runghc-9.10.3 [algebraic-graph-duoids] Using strip version 2.44 found on system at: [algebraic-graph-duoids] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip [algebraic-graph-duoids] Using tar found on system at: [algebraic-graph-duoids] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar [algebraic-graph-duoids] No uhc found [algebraic-graph-duoids] Phase: buildPhase [algebraic-graph-duoids] Preprocessing library for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Building library for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] [1 of 2] Compiling Algebra.Graph.Duoid ( src/Algebra/Graph/Duoid.hs, dist/build/Algebra/Graph/Duoid.o, dist/build/Algebra/Graph/Duoid.dyn_o ) [algebraic-graph-duoids] [2 of 2] Compiling Algebra.Graph.Duoid.Orphans ( src/Algebra/Graph/Duoid/Orphans.hs, dist/build/Algebra/Graph/Duoid/Orphans.o, dist/build/Algebra/Graph/Duoid/Orphans.dyn_o ) [algebraic-graph-duoids] [1 of 2] Compiling Algebra.Graph.Duoid ( src/Algebra/Graph/Duoid.hs, dist/build/Algebra/Graph/Duoid.p_o ) [algebraic-graph-duoids] [2 of 2] Compiling Algebra.Graph.Duoid.Orphans ( src/Algebra/Graph/Duoid/Orphans.hs, dist/build/Algebra/Graph/Duoid/Orphans.p_o ) [algebraic-graph-duoids] Preprocessing test suite 'laws' for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Building test suite 'laws' for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] [1 of 1] Compiling Main ( tests/laws.hs, dist/build/laws/laws-tmp/Main.o ) [algebraic-graph-duoids] [2 of 2] Linking dist/build/laws/laws [algebraic-graph-duoids] Preprocessing test suite 'doctests' for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Building test suite 'doctests' for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] [1 of 2] Compiling Build_doctests ( dist/build/doctests/autogen/Build_doctests.hs, dist/build/doctests/doctests-tmp/Build_doctests.o ) [algebraic-graph-duoids] [2 of 2] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.o ) [algebraic-graph-duoids] [3 of 3] Linking dist/build/doctests/doctests [algebraic-graph-duoids] Phase: checkPhase [algebraic-graph-duoids] Running 2 test suites... [algebraic-graph-duoids] Test suite laws: RUNNING... [algebraic-graph-duoids] ━━━ Duoid.Normal (Graph Word8) ━━━ [algebraic-graph-duoids]  ✓ unswapUnit passed 100 tests. [algebraic-graph-duoids]  ✓ interchange passed 100 tests. [algebraic-graph-duoids]  ✓ splitUnit passed 100 tests. [algebraic-graph-duoids]  ✓ joinUnit passed 100 tests. [algebraic-graph-duoids]  ✓ swapUnit passed 100 tests. [algebraic-graph-duoids]  ✓ 5 succeeded. [algebraic-graph-duoids] Test suite laws: PASS [algebraic-graph-duoids] Test suite logged to: dist/test/algebraic-graph-duoids-0.0.1.0-laws.log [algebraic-graph-duoids] Test suite doctests: RUNNING... [algebraic-graph-duoids] Examples: 0 Tried: 0 Errors: 0 Failures: 0 [algebraic-graph-duoids] NameLib Nothing [algebraic-graph-duoids] ---------------------------------------- [algebraic-graph-duoids] Test suite doctests: PASS [algebraic-graph-duoids] Test suite logged to: dist/test/algebraic-graph-duoids-0.0.1.0-doctests.log [algebraic-graph-duoids] 2 of 2 test suites (2 of 2 test cases) passed. [algebraic-graph-duoids] Phase: haddockPhase [algebraic-graph-duoids] Preprocessing library for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Running Haddock on library for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] [1 of 2] Compiling Algebra.Graph.Duoid ( src/Algebra/Graph/Duoid.hs, nothing ) [algebraic-graph-duoids] [2 of 2] Compiling Algebra.Graph.Duoid.Orphans ( src/Algebra/Graph/Duoid/Orphans.hs, nothing ) [algebraic-graph-duoids] Haddock coverage: [algebraic-graph-duoids]  100% ( 5 / 5) in 'Algebra.Graph.Duoid' [algebraic-graph-duoids]  100% ( 1 / 1) in 'Algebra.Graph.Duoid.Orphans' [algebraic-graph-duoids] Documentation created: dist/doc/html/algebraic-graph-duoids/, [algebraic-graph-duoids] dist/doc/html/algebraic-graph-duoids/algebraic-graph-duoids.txt [algebraic-graph-duoids] Preprocessing test suite 'laws' for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Preprocessing test suite 'doctests' for algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] Phase: installPhase [algebraic-graph-duoids] Installing library in /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/algebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI [algebraic-graph-duoids] Phase: fixupPhase [algebraic-graph-duoids] shrinking RPATHs of ELF executables and libraries in /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] shrinking /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-5702/libHSalgebraic-graph-duoids-0.0.1.0-KRhIxsSw7OfBzeaotKoRTI-ghc9.10.3.so [algebraic-graph-duoids] checking for references to /build/ in /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0... [algebraic-graph-duoids] patching script interpreter paths in /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0 [algebraic-graph-duoids] stripping (with command strip and flags -S -p) in /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/lib [algebraic-graph-duoids] shrinking RPATHs of ELF executables and libraries in /nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc [algebraic-graph-duoids] checking for references to /build/ in /nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc... [algebraic-graph-duoids] patching script interpreter paths in /nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc [post-build-hook] Uploading to cachix cache "sellout": /nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0 [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0 [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 2 paths... [post-build-hook] copying path '/nix/store/6n5l5cs5rpq31q1vfzm4vby92cdf2iay-algebraic-graph-duoids-0.0.1.0-doc' to 'https://cache.nix-ci.com'... [post-build-hook] copying path '/nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 15 of 19 built, 193 of 193 downloaded from cache Building ghc-9.10.3-with-packages [ghc-9.10.3-with-packages] /nix/store/wp33qs6b2wdxj74yi76hwclbcawz2q2v-duoidal-transformers-0.0.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/s2yzlz0lg9y3driwv96riwc90023vdff-duoids-0.0.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/3ggwwjsqcpvrk07k3j9fg85ighsm7jrg-duoids-hedgehog-0.0.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/90d89nrwky7gxskpyxfjn6i803dzfh2r-algebraic-graphs-0.7/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/q9bmv83s4921kh6z965q0v2glgm742gx-ghc-compat-plugin-0.1.0.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/q9bmv83s4921kh6z965q0v2glgm742gx-ghc-compat-plugin-0.1.0.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/6s0czylb98l3w1dfdbw1lz6d0xz5dik2-hedgehog-1.5/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/6s0czylb98l3w1dfdbw1lz6d0xz5dik2-hedgehog-1.5/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/yv1515y35b5d87px2xnywdrzl57bzj36-ansi-terminal-1.1.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/yv1515y35b5d87px2xnywdrzl57bzj36-ansi-terminal-1.1.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/sjm0zblwxqfdk46ck7qrjg10f19k2b3q-async-2.2.5/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/sjm0zblwxqfdk46ck7qrjg10f19k2b3q-async-2.2.5/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/mrh8y1rc5sfl36wh0q014barx02dk48a-barbies-2.1.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/mrh8y1rc5sfl36wh0q014barx02dk48a-barbies-2.1.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/nwqnn7mc9y6m6qhlf4b04dm8b694ihir-concurrent-output-1.10.21/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/nwqnn7mc9y6m6qhlf4b04dm8b694ihir-concurrent-output-1.10.21/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/c0kvhsdh044cby9s385kdp6fzrwnx0b2-lifted-async-0.10.2.7/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/c0kvhsdh044cby9s385kdp6fzrwnx0b2-lifted-async-0.10.2.7/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/88zzrq6z3q2i7raa4bqrfzp2xm1spfzs-mmorph-1.2.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/88zzrq6z3q2i7raa4bqrfzp2xm1spfzs-mmorph-1.2.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/g2qvb2hxv61dkd7kcwl314bfkn49w353-monad-control-1.0.3.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/g2qvb2hxv61dkd7kcwl314bfkn49w353-monad-control-1.0.3.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/6cndgccwks6pzgpp40sd3yqj1gwrwcpc-pretty-show-1.10/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/6cndgccwks6pzgpp40sd3yqj1gwrwcpc-pretty-show-1.10/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/cbkpv0a2jd34ji7dmwlcs5079p09clw9-primitive-0.9.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/cbkpv0a2jd34ji7dmwlcs5079p09clw9-primitive-0.9.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/8l34z8pqyxz1a375p2mjy2x9pl7qwv9j-random-1.2.1.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/8l34z8pqyxz1a375p2mjy2x9pl7qwv9j-random-1.2.1.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/h9ngfa8xz6vn23w9hbg6hfcciqp1618a-resourcet-1.3.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/h9ngfa8xz6vn23w9hbg6hfcciqp1618a-resourcet-1.3.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/7vn9fv3b7f0ajmhrb61h3cnsym1y3n3f-safe-exceptions-0.1.7.4/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/7vn9fv3b7f0ajmhrb61h3cnsym1y3n3f-safe-exceptions-0.1.7.4/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/na9f6zzz8s1k6g1id7dcffl0gi7r7cjj-transformers-base-0.4.6/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/na9f6zzz8s1k6g1id7dcffl0gi7r7cjj-transformers-base-0.4.6/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/25k1v3pwwy7x5gym9q9dhviv0csxvvmn-wl-pprint-annotated-0.1.0.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/25k1v3pwwy7x5gym9q9dhviv0csxvvmn-wl-pprint-annotated-0.1.0.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/8gj8b8i9s12rdfbqmdph9s03wnpqh44d-ansi-terminal-types-1.1.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/8gj8b8i9s12rdfbqmdph9s03wnpqh44d-ansi-terminal-types-1.1.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/m2gbv27qwdgpizs36ysfzkc543z73msp-hashable-1.5.0.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/m2gbv27qwdgpizs36ysfzkc543z73msp-hashable-1.5.0.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/k735nrbnq1v6hqj9l4aqf84zvqnc17fb-distributive-0.6.2.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/k735nrbnq1v6hqj9l4aqf84zvqnc17fb-distributive-0.6.2.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/qlaran7276vq5yfddk8gjyb0bbl7463d-constraints-0.14.2/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/qlaran7276vq5yfddk8gjyb0bbl7463d-constraints-0.14.2/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/anslqcpw3nb5ij1vvfxxqb4m5q9x9jkp-lifted-base-0.2.3.12/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/anslqcpw3nb5ij1vvfxxqb4m5q9x9jkp-lifted-base-0.2.3.12/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/yf7r6nnmfc4mwj08iavfcxpp70mj6mkq-transformers-compat-0.7.2/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/yf7r6nnmfc4mwj08iavfcxpp70mj6mkq-transformers-compat-0.7.2/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/v6jdycf0p0gypqgg67hc7k45i6p25cwj-splitmix-0.1.3.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/v6jdycf0p0gypqgg67hc7k45i6p25cwj-splitmix-0.1.3.1/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/3d0qs4aijgblg7mvsxzr2b168hmncirn-unliftio-core-0.2.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/3d0qs4aijgblg7mvsxzr2b168hmncirn-unliftio-core-0.2.1.0/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/kspxaj152b3jyd5yfwmkb8fi5l571rms-base-orphans-0.9.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/kspxaj152b3jyd5yfwmkb8fi5l571rms-base-orphans-0.9.3/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/c1ickhy1b9cnskfyjr6bhh9xbczy60w0-tagged-0.8.9/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/c1ickhy1b9cnskfyjr6bhh9xbczy60w0-tagged-0.8.9/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/rwvnxl3wi6qdd2mffsl3rymh0infb7nh-boring-0.2.2/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] /nix/store/rwvnxl3wi6qdd2mffsl3rymh0infb7nh-boring-0.2.2/nix-support: [ghc-9.10.3-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/iwgl4r59m0qyijlcvw3arlhnak5s49hi-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs [ghc-9.10.3-with-packages] Warning: include-dirs: /nix/store/g13gjs94akammcfd33dclh8yznzaibfh-ghc-9.10.3-with-packages/lib/ghc-9.10.3/lib/../lib/x86_64-linux-ghc-9.10.3/directory-1.3.8.5-e377/include doesn't exist or isn't a directory [post-build-hook] Uploading to cachix cache "sellout": /nix/store/g13gjs94akammcfd33dclh8yznzaibfh-ghc-9.10.3-with-packages [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/g13gjs94akammcfd33dclh8yznzaibfh-ghc-9.10.3-with-packages [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 16 of 18 built, 193 of 193 downloaded from cache Building all-packages [all-packages] created 3 symlinks in user environment [post-build-hook] Uploading to cachix cache "sellout": /nix/store/ixzvjr63jxyv2qcimlscx110zhfd5s9a-all-packages [post-build-hook] Nothing to push - all store paths are already on Cachix. [post-build-hook] Uploading to the NixCI cache: /nix/store/ixzvjr63jxyv2qcimlscx110zhfd5s9a-all-packages [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 17 of 18 built, 193 of 193 downloaded from cache