packages feed

leancheck 1.0.0 → 1.0.2

raw patch · 292 files changed

+16604/−16546 lines, 292 files

Files

.github/workflows/build.yml view
@@ -1,8 +1,10 @@ # Builds and tests this Haskell project on "GitHub Actions" #-# 2021  Rudy Matela+# 2021-2024  Rudy Matela #-# some docs: https://github.com/haskell/actions/tree/main/setup+# some docs: https://github.com/haskell-actions/setup+#+# The official haskell docker image: https://hub.docker.com/_/haskell name: build on: [push] jobs:@@ -11,24 +13,26 @@     steps:        - name: Cache ~/.cabal/packages-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: ~/.cabal/packages-          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-packages-        - name: Cache ~/.cabal and ~/.ghc-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: |             ~/.cabal             !~/.cabal/packages             ~/.ghc-          key:          v1-${{ runner.os }}-cabal-ghc-latest-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-ghc-latest-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-ghc-latest-        - run: du -hd3 ~/.cabal ~/.ghc || true +      - run: make --version+       - run: haddock --version || sudo apt-get install ghc-haddock       - run: ghc     --version       - run: cabal   --version@@ -36,22 +40,31 @@       - run: ghc-pkg list        - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3 -      - run: cabal update+      - run: git --version+       - run: make install-dependencies -      - run: make-      - run: make test-      - run: make haddock+      # 2023-07: some projects were failing with missing base for GHC 9.6.+      #          Here we compile through cabal only provisionally.+      # - run: make+      # - run: make test+      # - run: make haddock       - run: make test-sdist-      - run: make test-via-cabal+      #- run: make test-via-cabal+      - run: cabal configure --enable-tests --enable-benchmarks --ghc-options="-O0"+      - run: cabal build+      - run: cabal test+      - run: cabal haddock     test-with-ghc:     strategy:       matrix:         ghc:+          - '9.8'+          - '9.6'           - '9.4'           - '9.2'           - '9.0'@@ -60,28 +73,26 @@           - '8.6'           - '8.4'           - '8.2'-          - '8.0'           - '7.10'-          - '7.8'     runs-on: ubuntu-latest     needs: build-and-test     container: haskell:${{ matrix.ghc }}     steps:       - name: Cache ~/.cabal/packages-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: ~/.cabal/packages-          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-packages-        - name: Cache ~/.cabal and ~/.ghc-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: |             ~/.cabal             !~/.cabal/packages             ~/.ghc-          key:          v1-${{ runner.os }}-cabal-ghc-${{ matrix.ghc }}-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-ghc-${{ matrix.ghc }}-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-ghc-${{ matrix.ghc }}-        - run: du -hd3 ~/.cabal ~/.ghc || true@@ -96,9 +107,8 @@       - run: ghc-pkg list        - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3 -      - run: cabal update       - run: make install-dependencies        - run: make@@ -112,12 +122,12 @@     needs: build-and-test     steps:       - name: Setup Haskell's GHC and Cabal as required by current Stackage LTS-        uses: haskell/actions/setup@v1+        uses: haskell-actions/setup@v2         with: # lts-19.19           ghc-version: '9.0.2'           cabal-version: '3.4' -      - uses: actions/cache@v2+      - uses: actions/cache@v3         with:           path: ~/.stack           key:          v1-${{ runner.os }}-stack-${{ hashFiles('stack.yaml') }}@@ -126,7 +136,7 @@       - run: stack --version        - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3       - run: make test-via-stack    test-with-hugs:@@ -136,5 +146,5 @@       - run: sudo apt-get update       - run: sudo apt-get install hugs       - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3       - run: make hugs-test
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2015-2020, Rudy Matela+Copyright (c) 2015-2024, Rudy Matela  All rights reserved. 
Makefile view
@@ -1,6 +1,6 @@ # Makefile for LeanCheck #-# Copyright:   (c) 2015-2020 Rudy Matela+# Copyright:   (c) 2015-2024 Rudy Matela # License:     3-Clause BSD  (see the file LICENSE) # Maintainer:  Rudy Matela <rudy@matela.com.br> TESTS = test/main      \@@ -42,9 +42,9 @@  test: $(patsubst %,%.run,$(TESTS)) diff-test test-sdist -diff-test: diff-test-tiers diff-test-funtiers $(patsubst %,%.diff-test,$(EGS))+diff-test: diff-tiers diff-funtiers $(patsubst %,%.diff,$(EGS)) -update-diff-test: update-diff-test-tiers update-diff-test-funtiers $(patsubst %,%.update-diff-test,$(EGS))+txt: txt-tiers txt-funtiers $(patsubst %,%.txt,$(EGS))  test-10000: $(patsubst %,%.run-10000,$(TESTS)) diff-test test-sdist @@ -54,21 +54,23 @@ %.run-10000: % 	./$< 10000 -eg/%.diff-test: eg/%-	./$< | diff -rud test/diff/$<.out -+%.txt: %+	./$< >$@ -eg/%.update-diff-test: eg/%-	./$< >           test/diff/$<.out+%.diff: %+	./$< | diff $<.txt -  # Evaluation order changed from GHC 8.4 to GHC 8.6, so we need to skip the # contents of the exception for test-list.diff-test. # Exception is multiline starting with GHC 9.4, hence the 'tr' trick-eg/test-list.diff-test: eg/test-list-	./$< | tr '\n' '\0' | sed -e "s/Exception '[^']*'/Exception '...'/" | tr '\0' '\n' | diff -rud test/diff/$<.out -+hide_exceptions = tr '\n' '\0' | sed -e "s/Exception '[^']*'/Exception '...'/" | tr '\0' '\n' -eg/test-list.update-diff-test: eg/test-list-	./$< | tr '\n' '\0' | sed -e "s/Exception '[^']*'/Exception '...'/" | tr '\0' '\n' >           test/diff/$<.out+eg/test-list.txt: eg/test-list+	./$< | $(hide_exceptions) > $@ +eg/test-list.diff: eg/test-list+	./$< | $(hide_exceptions) | diff $<.txt -+ clean: clean-hi-o clean-haddock 	rm -f bench/tiers-default.hs 	rm -f bench/tiers-4cases.hs@@ -106,6 +108,10 @@ test-via-stack: 	stack test leancheck:test:main --ghc-options="$(GHCFLAGS) -O0" --system-ghc --no-install-ghc --no-terminal +test-with-ghc-7.6:+	make clean+	make GHC=ghc-7.6 GHCFLAGS=-dynamic test/{main,fun,funshow,io,operators,stats,tiers,types,error}.run -j9+ legacy-test: # needs ghc-9.4 .. ghc-7.8 installed as such 	make clean  &&  make test -j GHC=ghc-9.4 	make clean  &&  make test -j GHC=ghc-9.2@@ -132,11 +138,18 @@ 	cabal clean  &&  cabal-ghc-7.8  configure  &&  cabal-ghc-7.8  test 	cabal clean  &&  cabal test -hlint:+hlint: ..hlint # src.hlint eg.hlint test.hlint bench.hlint++# use "make src.hlint" to run hlint only on the src folder+%.hlint: 	hlint \ 	  --ignore "Use import/export shortcut" \ 	  --ignore "Redundant bracket" \-	  .+	  --ignore "Redundant lambda" \+	  --ignore "Use lambda-case" \+	  --ignore "Redundant ==" \+	  --ignore "Use isNothing" \+	  $*  markdown: \   README.html \@@ -169,141 +182,141 @@  include mk/haskell.mk -diff-test-tiers: bench/tiers+diff-tiers: bench/tiers 	# simple types-	./bench/tiers "()"               | diff -rud test/diff/tiers.out             --	./bench/tiers "Int"              | diff -rud test/diff/tiers-Int.out         --	./bench/tiers "Nat"              | diff -rud test/diff/tiers-Nat.out         --	./bench/tiers "Integer"          | diff -rud test/diff/tiers-Integer.out     --	./bench/tiers "Bool"             | diff -rud test/diff/tiers-Bool.out        --	./bench/tiers "Char"             | diff -rud test/diff/tiers-Char.out        --	./bench/tiers "Float"            | diff -rud test/diff/tiers-Float.out       --	./bench/tiers "Double"           | diff -rud test/diff/tiers-Double.out      --	./bench/tiers "Rational"         | diff -rud test/diff/tiers-Rational.out    -+	$< "()"              | diff -rud bench/tiers-txt/U.txt           -+	$< "Int"             | diff -rud bench/tiers-txt/Int.txt         -+	$< "Nat"             | diff -rud bench/tiers-txt/Nat.txt         -+	$< "Integer"         | diff -rud bench/tiers-txt/Integer.txt     -+	$< "Bool"            | diff -rud bench/tiers-txt/Bool.txt        -+	$< "Char"            | diff -rud bench/tiers-txt/Char.txt        -+	$< "Float"           | diff -rud bench/tiers-txt/Float.txt       -+	$< "Double"          | diff -rud bench/tiers-txt/Double.txt      -+	$< "Rational"        | diff -rud bench/tiers-txt/Rational.txt    - 	# fixed width integer types-	./bench/tiers "Nat2"             | diff -rud test/diff/tiers-Nat2.out        --	./bench/tiers "Nat3"             | diff -rud test/diff/tiers-Nat3.out        --	./bench/tiers "Nat4"             | diff -rud test/diff/tiers-Nat4.out        --	./bench/tiers "Word2"            | diff -rud test/diff/tiers-Word2.out       --	./bench/tiers "Word3"            | diff -rud test/diff/tiers-Word3.out       --	./bench/tiers "Word4"         64 | diff -rud test/diff/tiers-Word4.out       --	./bench/tiers "Word8"        256 | diff -rud test/diff/tiers-Word8.out       --	./bench/tiers "Int2"             | diff -rud test/diff/tiers-Int2.out        --	./bench/tiers "Int3"             | diff -rud test/diff/tiers-Int3.out        --	./bench/tiers "Int4"          64 | diff -rud test/diff/tiers-Int4.out        --	./bench/tiers "Int8"         256 | diff -rud test/diff/tiers-Int8.out        -+	$< "Nat2"            | diff -rud bench/tiers-txt/Nat2.txt        -+	$< "Nat3"            | diff -rud bench/tiers-txt/Nat3.txt        -+	$< "Nat4"            | diff -rud bench/tiers-txt/Nat4.txt        -+	$< "Word2"           | diff -rud bench/tiers-txt/Word2.txt       -+	$< "Word3"           | diff -rud bench/tiers-txt/Word3.txt       -+	$< "Word4"        64 | diff -rud bench/tiers-txt/Word4.txt       -+	$< "Word8"       256 | diff -rud bench/tiers-txt/Word8.txt       -+	$< "Int2"            | diff -rud bench/tiers-txt/Int2.txt        -+	$< "Int3"            | diff -rud bench/tiers-txt/Int3.txt        -+	$< "Int4"         64 | diff -rud bench/tiers-txt/Int4.txt        -+	$< "Int8"        256 | diff -rud bench/tiers-txt/Int8.txt        - 	# complex numbers-	./bench/tiers "Complex Double"   | diff -rud test/diff/tiers-ComplexDouble.out -+	$< "Complex Double"  | diff -rud bench/tiers-txt/ComplexDouble.txt - 	# list s-	./bench/tiers "[()]"             | diff -rud test/diff/tiers-Us.out          --	./bench/tiers "[Int]"          6 | diff -rud test/diff/tiers-Ints.out        --	./bench/tiers "[Nat]"          6 | diff -rud test/diff/tiers-Nats.out        --	./bench/tiers "[Bool]"         6 | diff -rud test/diff/tiers-Bools.out       --	./bench/tiers "String"         6 | diff -rud test/diff/tiers-String.out      -+	$< "[()]"            | diff -rud bench/tiers-txt/Us.txt          -+	$< "[Int]"         6 | diff -rud bench/tiers-txt/Ints.txt        -+	$< "[Nat]"         6 | diff -rud bench/tiers-txt/Nats.txt        -+	$< "[Bool]"        6 | diff -rud bench/tiers-txt/Bools.txt       -+	$< "String"        6 | diff -rud bench/tiers-txt/String.txt      - 	# pairs-	./bench/tiers "(Int,Int)"        | diff -rud test/diff/tiers-Int,Int.out     --	./bench/tiers "(Nat,Nat)"        | diff -rud test/diff/tiers-Nat,Nat.out     --	./bench/tiers "(Int,Int,Int)"  6 | diff -rud test/diff/tiers-Int,Int,Int.out --	./bench/tiers "(Nat,Nat,Nat)"  6 | diff -rud test/diff/tiers-Nat,Nat,Nat.out -+	$< "(Int,Int)"       | diff -rud bench/tiers-txt/Int,Int.txt     -+	$< "(Nat,Nat)"       | diff -rud bench/tiers-txt/Nat,Nat.txt     -+	$< "(Int,Int,Int)" 6 | diff -rud bench/tiers-txt/Int,Int,Int.txt -+	$< "(Nat,Nat,Nat)" 6 | diff -rud bench/tiers-txt/Nat,Nat,Nat.txt - 	# lists & pairs-	./bench/tiers "[((),())]"        | diff -rud test/diff/tiers-U,Us.out        --	./bench/tiers "([()],[()])"      | diff -rud test/diff/tiers-Us,Us.out       -+	$< "[((),())]"       | diff -rud bench/tiers-txt/U,Us.txt        -+	$< "([()],[()])"     | diff -rud bench/tiers-txt/Us,Us.txt       - 	# special lists-	./bench/tiers "Set Bool"         | diff -rud test/diff/tiers-SetBool.out     --	./bench/tiers "Set ()"           | diff -rud test/diff/tiers-SetU.out        --	./bench/tiers "Set Nat"          | diff -rud test/diff/tiers-SetNat.out      --	./bench/tiers "Set Nat2"         | diff -rud test/diff/tiers-SetNat2.out     --	./bench/tiers "Set Nat3"         | diff -rud test/diff/tiers-SetNat3.out     --	./bench/tiers "Bag Bool"         | diff -rud test/diff/tiers-BagBool.out     --	./bench/tiers "Bag ()"           | diff -rud test/diff/tiers-BagU.out        --	./bench/tiers "Bag Nat"          | diff -rud test/diff/tiers-BagNat.out      --	./bench/tiers "Bag Nat2"         | diff -rud test/diff/tiers-BagNat2.out     --	./bench/tiers "Bag Nat3"         | diff -rud test/diff/tiers-BagNat3.out     --	./bench/tiers "NoDup Bool"       | diff -rud test/diff/tiers-NoDupBool.out   --	./bench/tiers "NoDup ()"         | diff -rud test/diff/tiers-NoDupU.out      --	./bench/tiers "NoDup Nat"        | diff -rud test/diff/tiers-NoDupNat.out    --	./bench/tiers "NoDup Nat2"       | diff -rud test/diff/tiers-NoDupNat2.out   --	./bench/tiers "NoDup Nat3"       | diff -rud test/diff/tiers-NoDupNat3.out   --	./bench/tiers "Map Bool Bool"    | diff -rud test/diff/tiers-MapBoolBool.out --	./bench/tiers "Map () ()"        | diff -rud test/diff/tiers-MapUU.out       --	./bench/tiers "Map Nat Nat"      | diff -rud test/diff/tiers-MapNatNat.out   --	./bench/tiers "Map Nat2 Nat2"    | diff -rud test/diff/tiers-MapNat2Nat2.out --	./bench/tiers "Map Nat3 Nat3"    | diff -rud test/diff/tiers-MapNat3Nat3.out -+	$< "Set Bool"        | diff -rud bench/tiers-txt/SetBool.txt     -+	$< "Set ()"          | diff -rud bench/tiers-txt/SetU.txt        -+	$< "Set Nat"         | diff -rud bench/tiers-txt/SetNat.txt      -+	$< "Set Nat2"        | diff -rud bench/tiers-txt/SetNat2.txt     -+	$< "Set Nat3"        | diff -rud bench/tiers-txt/SetNat3.txt     -+	$< "Bag Bool"        | diff -rud bench/tiers-txt/BagBool.txt     -+	$< "Bag ()"          | diff -rud bench/tiers-txt/BagU.txt        -+	$< "Bag Nat"         | diff -rud bench/tiers-txt/BagNat.txt      -+	$< "Bag Nat2"        | diff -rud bench/tiers-txt/BagNat2.txt     -+	$< "Bag Nat3"        | diff -rud bench/tiers-txt/BagNat3.txt     -+	$< "NoDup Bool"      | diff -rud bench/tiers-txt/NoDupBool.txt   -+	$< "NoDup ()"        | diff -rud bench/tiers-txt/NoDupU.txt      -+	$< "NoDup Nat"       | diff -rud bench/tiers-txt/NoDupNat.txt    -+	$< "NoDup Nat2"      | diff -rud bench/tiers-txt/NoDupNat2.txt   -+	$< "NoDup Nat3"      | diff -rud bench/tiers-txt/NoDupNat3.txt   -+	$< "Map Bool Bool"   | diff -rud bench/tiers-txt/MapBoolBool.txt -+	$< "Map () ()"       | diff -rud bench/tiers-txt/MapUU.txt       -+	$< "Map Nat Nat"     | diff -rud bench/tiers-txt/MapNatNat.txt   -+	$< "Map Nat2 Nat2"   | diff -rud bench/tiers-txt/MapNat2Nat2.txt -+	$< "Map Nat3 Nat3"   | diff -rud bench/tiers-txt/MapNat3Nat3.txt - 	# extreme integers-	./bench/tiers "X Int4"           | diff -rud test/diff/tiers-XInt4.out       --	./bench/tiers "X Word4"          | diff -rud test/diff/tiers-XWord4.out      --	./bench/tiers "X Nat7"           | diff -rud test/diff/tiers-XNat7.out       --	./bench/tiers "Xs Int4"          | diff -rud test/diff/tiers-XsInt4.out      --	./bench/tiers "Xs Word4"         | diff -rud test/diff/tiers-XsWord4.out     --	./bench/tiers "Xs Nat7"          | diff -rud test/diff/tiers-XsNat7.out      -+	$< "X Int4"          | diff -rud bench/tiers-txt/XInt4.txt       -+	$< "X Word4"         | diff -rud bench/tiers-txt/XWord4.txt      -+	$< "X Nat7"          | diff -rud bench/tiers-txt/XNat7.txt       -+	$< "Xs Int4"         | diff -rud bench/tiers-txt/XsInt4.txt      -+	$< "Xs Word4"        | diff -rud bench/tiers-txt/XsWord4.txt     -+	$< "Xs Nat7"         | diff -rud bench/tiers-txt/XsNat7.txt      - -update-diff-test-tiers: bench/tiers+txt-tiers: bench/tiers 	# simple types-	./bench/tiers "()"               > test/diff/tiers.out-	./bench/tiers "Int"              > test/diff/tiers-Int.out-	./bench/tiers "Nat"              > test/diff/tiers-Nat.out-	./bench/tiers "Integer"          > test/diff/tiers-Integer.out-	./bench/tiers "Bool"             > test/diff/tiers-Bool.out-	./bench/tiers "Char"             > test/diff/tiers-Char.out-	./bench/tiers "Float"            > test/diff/tiers-Float.out-	./bench/tiers "Double"           > test/diff/tiers-Double.out-	./bench/tiers "Rational"         > test/diff/tiers-Rational.out+	$< "()"              > bench/tiers-txt/U.txt+	$< "Int"             > bench/tiers-txt/Int.txt+	$< "Nat"             > bench/tiers-txt/Nat.txt+	$< "Integer"         > bench/tiers-txt/Integer.txt+	$< "Bool"            > bench/tiers-txt/Bool.txt+	$< "Char"            > bench/tiers-txt/Char.txt+	$< "Float"           > bench/tiers-txt/Float.txt+	$< "Double"          > bench/tiers-txt/Double.txt+	$< "Rational"        > bench/tiers-txt/Rational.txt 	# fixed width integer types-	./bench/tiers "Nat2"             > test/diff/tiers-Nat2.out-	./bench/tiers "Nat3"             > test/diff/tiers-Nat3.out-	./bench/tiers "Nat4"             > test/diff/tiers-Nat4.out-	./bench/tiers "Word2"            > test/diff/tiers-Word2.out-	./bench/tiers "Word3"            > test/diff/tiers-Word3.out-	./bench/tiers "Word4"         64 > test/diff/tiers-Word4.out-	./bench/tiers "Word8"        256 > test/diff/tiers-Word8.out-	./bench/tiers "Int2"             > test/diff/tiers-Int2.out-	./bench/tiers "Int3"             > test/diff/tiers-Int3.out-	./bench/tiers "Int4"          64 > test/diff/tiers-Int4.out-	./bench/tiers "Int8"         256 > test/diff/tiers-Int8.out+	$< "Nat2"            > bench/tiers-txt/Nat2.txt+	$< "Nat3"            > bench/tiers-txt/Nat3.txt+	$< "Nat4"            > bench/tiers-txt/Nat4.txt+	$< "Word2"           > bench/tiers-txt/Word2.txt+	$< "Word3"           > bench/tiers-txt/Word3.txt+	$< "Word4"        64 > bench/tiers-txt/Word4.txt+	$< "Word8"       256 > bench/tiers-txt/Word8.txt+	$< "Int2"            > bench/tiers-txt/Int2.txt+	$< "Int3"            > bench/tiers-txt/Int3.txt+	$< "Int4"         64 > bench/tiers-txt/Int4.txt+	$< "Int8"        256 > bench/tiers-txt/Int8.txt 	# complex numbers-	./bench/tiers "Complex Double"   > test/diff/tiers-ComplexDouble.out+	$< "Complex Double"  > bench/tiers-txt/ComplexDouble.txt 	# lists-	./bench/tiers "[()]"             > test/diff/tiers-Us.out-	./bench/tiers "[Int]"          6 > test/diff/tiers-Ints.out-	./bench/tiers "[Nat]"          6 > test/diff/tiers-Nats.out-	./bench/tiers "[Bool]"         6 > test/diff/tiers-Bools.out-	./bench/tiers "String"         6 > test/diff/tiers-String.out+	$< "[()]"            > bench/tiers-txt/Us.txt+	$< "[Int]"         6 > bench/tiers-txt/Ints.txt+	$< "[Nat]"         6 > bench/tiers-txt/Nats.txt+	$< "[Bool]"        6 > bench/tiers-txt/Bools.txt+	$< "String"        6 > bench/tiers-txt/String.txt 	# pairs-	./bench/tiers "(Int,Int)"        > test/diff/tiers-Int,Int.out-	./bench/tiers "(Nat,Nat)"        > test/diff/tiers-Nat,Nat.out-	./bench/tiers "(Int,Int,Int)"  6 > test/diff/tiers-Int,Int,Int.out-	./bench/tiers "(Nat,Nat,Nat)"  6 > test/diff/tiers-Nat,Nat,Nat.out+	$< "(Int,Int)"       > bench/tiers-txt/Int,Int.txt+	$< "(Nat,Nat)"       > bench/tiers-txt/Nat,Nat.txt+	$< "(Int,Int,Int)" 6 > bench/tiers-txt/Int,Int,Int.txt+	$< "(Nat,Nat,Nat)" 6 > bench/tiers-txt/Nat,Nat,Nat.txt 	# lists & pairs-	./bench/tiers "[((),())]"        > test/diff/tiers-U,Us.out-	./bench/tiers "([()],[()])"      > test/diff/tiers-Us,Us.out+	$< "[((),())]"       > bench/tiers-txt/U,Us.txt+	$< "([()],[()])"     > bench/tiers-txt/Us,Us.txt 	# special lists-	./bench/tiers "Set Bool"         > test/diff/tiers-SetBool.out-	./bench/tiers "Set ()"           > test/diff/tiers-SetU.out-	./bench/tiers "Set Nat"          > test/diff/tiers-SetNat.out-	./bench/tiers "Set Nat2"         > test/diff/tiers-SetNat2.out-	./bench/tiers "Set Nat3"         > test/diff/tiers-SetNat3.out-	./bench/tiers "Bag Bool"         > test/diff/tiers-BagBool.out-	./bench/tiers "Bag ()"           > test/diff/tiers-BagU.out-	./bench/tiers "Bag Nat"          > test/diff/tiers-BagNat.out-	./bench/tiers "Bag Nat2"         > test/diff/tiers-BagNat2.out-	./bench/tiers "Bag Nat3"         > test/diff/tiers-BagNat3.out-	./bench/tiers "NoDup Bool"       > test/diff/tiers-NoDupBool.out-	./bench/tiers "NoDup ()"         > test/diff/tiers-NoDupU.out-	./bench/tiers "NoDup Nat"        > test/diff/tiers-NoDupNat.out-	./bench/tiers "NoDup Nat2"       > test/diff/tiers-NoDupNat2.out-	./bench/tiers "NoDup Nat3"       > test/diff/tiers-NoDupNat3.out-	./bench/tiers "Map Bool Bool"    > test/diff/tiers-MapBoolBool.out-	./bench/tiers "Map () ()"        > test/diff/tiers-MapUU.out-	./bench/tiers "Map Nat Nat"      > test/diff/tiers-MapNatNat.out-	./bench/tiers "Map Nat2 Nat2"    > test/diff/tiers-MapNat2Nat2.out-	./bench/tiers "Map Nat3 Nat3"    > test/diff/tiers-MapNat3Nat3.out+	$< "Set Bool"        > bench/tiers-txt/SetBool.txt+	$< "Set ()"          > bench/tiers-txt/SetU.txt+	$< "Set Nat"         > bench/tiers-txt/SetNat.txt+	$< "Set Nat2"        > bench/tiers-txt/SetNat2.txt+	$< "Set Nat3"        > bench/tiers-txt/SetNat3.txt+	$< "Bag Bool"        > bench/tiers-txt/BagBool.txt+	$< "Bag ()"          > bench/tiers-txt/BagU.txt+	$< "Bag Nat"         > bench/tiers-txt/BagNat.txt+	$< "Bag Nat2"        > bench/tiers-txt/BagNat2.txt+	$< "Bag Nat3"        > bench/tiers-txt/BagNat3.txt+	$< "NoDup Bool"      > bench/tiers-txt/NoDupBool.txt+	$< "NoDup ()"        > bench/tiers-txt/NoDupU.txt+	$< "NoDup Nat"       > bench/tiers-txt/NoDupNat.txt+	$< "NoDup Nat2"      > bench/tiers-txt/NoDupNat2.txt+	$< "NoDup Nat3"      > bench/tiers-txt/NoDupNat3.txt+	$< "Map Bool Bool"   > bench/tiers-txt/MapBoolBool.txt+	$< "Map () ()"       > bench/tiers-txt/MapUU.txt+	$< "Map Nat Nat"     > bench/tiers-txt/MapNatNat.txt+	$< "Map Nat2 Nat2"   > bench/tiers-txt/MapNat2Nat2.txt+	$< "Map Nat3 Nat3"   > bench/tiers-txt/MapNat3Nat3.txt 	# extreme integers-	./bench/tiers "X Int4"           > test/diff/tiers-XInt4.out-	./bench/tiers "X Word4"          > test/diff/tiers-XWord4.out-	./bench/tiers "X Nat7"           > test/diff/tiers-XNat7.out-	./bench/tiers "Xs Int4"          > test/diff/tiers-XsInt4.out-	./bench/tiers "Xs Word4"         > test/diff/tiers-XsWord4.out-	./bench/tiers "Xs Nat7"          > test/diff/tiers-XsNat7.out+	$< "X Int4"          > bench/tiers-txt/XInt4.txt+	$< "X Word4"         > bench/tiers-txt/XWord4.txt+	$< "X Nat7"          > bench/tiers-txt/XNat7.txt+	$< "Xs Int4"         > bench/tiers-txt/XsInt4.txt+	$< "Xs Word4"        > bench/tiers-txt/XsWord4.txt+	$< "Xs Nat7"         > bench/tiers-txt/XsNat7.txt  prepare-depend: bench/tiers-default.hs \                 bench/tiers-4cases.hs@@ -323,75 +336,75 @@  bench/tiers-4cases: bench/tiers-4cases.hs -diff-test-funtiers: bench/tiers-default.diff-test \-                    bench/tiers-4cases.diff-test+diff-funtiers: bench/tiers-default.diff \+               bench/tiers-4cases.diff -update-diff-test-funtiers: bench/tiers-default.update-diff-test \-                           bench/tiers-4cases.update-diff-test+txt-funtiers: bench/tiers-default.txt \+              bench/tiers-4cases.txt -bench/tiers-%.diff-test: bench/tiers-%+bench/tiers-%.diff: bench/tiers-% 	# functions-	$< "()->()"           | diff -rud test/diff/tiers-$*-U-U.out         --	$< "Bool->Bool"       | diff -rud test/diff/tiers-$*-Bool-Bool.out   --	$< "Bool->Bool->Bool" | diff -rud test/diff/tiers-$*-Bool-Bool-Bool.out --	$< "Bool->()"         | diff -rud test/diff/tiers-$*-Bool-U.out      --	$< "()->Bool"         | diff -rud test/diff/tiers-$*-U-Bool.out      --	$< "Int->Int"       9 | diff -rud test/diff/tiers-$*-Int-Int.out     --	$< "Nat->Nat"       9 | diff -rud test/diff/tiers-$*-Nat-Nat.out     --	$< "()->Nat"        6 | diff -rud test/diff/tiers-$*-U-Nat.out       --	$< "Nat->()"        6 | diff -rud test/diff/tiers-$*-Nat-U.out       --	$< "Int->Int->Int"  6 | diff -rud test/diff/tiers-$*-Int-Int-Int.out --	$< "Nat->Nat->Nat"  6 | diff -rud test/diff/tiers-$*-Nat-Nat-Nat.out --	$< "(Nat,Nat)->Nat" 6 | diff -rud test/diff/tiers-$*-Nat,Nat-Nat.out --	$< "Maybe Bool->Bool" | diff -rud test/diff/tiers-$*-MBool-Bool.out  --	$< "Bool->Maybe Bool" | diff -rud test/diff/tiers-$*-Bool-MBool.out  --	$< "Maybe Bool->Maybe Bool" | diff -rud test/diff/tiers-$*-MBool-MBool.out -+	$< "()->()"           | diff -rud bench/tiers-txt/$*-U-U.txt         -+	$< "Bool->Bool"       | diff -rud bench/tiers-txt/$*-Bool-Bool.txt   -+	$< "Bool->Bool->Bool" | diff -rud bench/tiers-txt/$*-Bool-Bool-Bool.txt -+	$< "Bool->()"         | diff -rud bench/tiers-txt/$*-Bool-U.txt      -+	$< "()->Bool"         | diff -rud bench/tiers-txt/$*-U-Bool.txt      -+	$< "Int->Int"       9 | diff -rud bench/tiers-txt/$*-Int-Int.txt     -+	$< "Nat->Nat"       9 | diff -rud bench/tiers-txt/$*-Nat-Nat.txt     -+	$< "()->Nat"        6 | diff -rud bench/tiers-txt/$*-U-Nat.txt       -+	$< "Nat->()"        6 | diff -rud bench/tiers-txt/$*-Nat-U.txt       -+	$< "Int->Int->Int"  6 | diff -rud bench/tiers-txt/$*-Int-Int-Int.txt -+	$< "Nat->Nat->Nat"  6 | diff -rud bench/tiers-txt/$*-Nat-Nat-Nat.txt -+	$< "(Nat,Nat)->Nat" 6 | diff -rud bench/tiers-txt/$*-Nat,Nat-Nat.txt -+	$< "Maybe Bool->Bool" | diff -rud bench/tiers-txt/$*-MBool-Bool.txt  -+	$< "Bool->Maybe Bool" | diff -rud bench/tiers-txt/$*-Bool-MBool.txt  -+	$< "Maybe Bool->Maybe Bool" | diff -rud bench/tiers-txt/$*-MBool-MBool.txt - 	# functions with mixed arguments-	$< "Bool->Int->Bool" 6 | diff -rud test/diff/tiers-$*-Bool-Int-Bool.out --	$< "Int->Bool->Bool" 6 | diff -rud test/diff/tiers-$*-Int-Bool-Bool.out -+	$< "Bool->Int->Bool" 6 | diff -rud bench/tiers-txt/$*-Bool-Int-Bool.txt -+	$< "Int->Bool->Bool" 6 | diff -rud bench/tiers-txt/$*-Int-Bool-Bool.txt - 	# functions with 3 arguments-	$< "Int->Int->Int->Int"     4 | diff -rud test/diff/tiers-$*-Int-Int-Int-Int.out --	$< "Bool->Bool->Bool->Bool"   | diff -rud test/diff/tiers-$*-Bool-Bool-Bool-Bool.out -+	$< "Int->Int->Int->Int"     4 | diff -rud bench/tiers-txt/$*-Int-Int-Int-Int.txt -+	$< "Bool->Bool->Bool->Bool"   | diff -rud bench/tiers-txt/$*-Bool-Bool-Bool-Bool.txt - 	# functions of lists-	$< "[Bool]->[Bool]" 5 | diff -rud test/diff/tiers-$*-Bools-Bools.out --	$< "[Nat]->[Nat]"   6 | diff -rud test/diff/tiers-$*-Nats-Nats.out   --	$< "[Int]->[Int]"   6 | diff -rud test/diff/tiers-$*-Ints-Ints.out   -+	$< "[Bool]->[Bool]" 5 | diff -rud bench/tiers-txt/$*-Bools-Bools.txt -+	$< "[Nat]->[Nat]"   6 | diff -rud bench/tiers-txt/$*-Nats-Nats.txt   -+	$< "[Int]->[Int]"   6 | diff -rud bench/tiers-txt/$*-Ints-Ints.txt   - 	# more functions-	$< "Nat2->Nat2"       | diff -rud test/diff/tiers-$*-Nat2-Nat2.out   --	$< "Nat2->Nat3"       | diff -rud test/diff/tiers-$*-Nat2-Nat3.out   --	$< "Nat3->Nat2"       | diff -rud test/diff/tiers-$*-Nat3-Nat2.out   --	$< "Nat3->Nat3"       | diff -rud test/diff/tiers-$*-Nat3-Nat3.out   -+	$< "Nat2->Nat2"       | diff -rud bench/tiers-txt/$*-Nat2-Nat2.txt   -+	$< "Nat2->Nat3"       | diff -rud bench/tiers-txt/$*-Nat2-Nat3.txt   -+	$< "Nat3->Nat2"       | diff -rud bench/tiers-txt/$*-Nat3-Nat2.txt   -+	$< "Nat3->Nat3"       | diff -rud bench/tiers-txt/$*-Nat3-Nat3.txt   - -bench/tiers-%.update-diff-test: bench/tiers-%+bench/tiers-%.txt: bench/tiers-% 	# functions-	$< "()->()"           > test/diff/tiers-$*-U-U.out-	$< "Bool->Bool"       > test/diff/tiers-$*-Bool-Bool.out-	$< "Bool->Bool->Bool" > test/diff/tiers-$*-Bool-Bool-Bool.out-	$< "Bool->()"         > test/diff/tiers-$*-Bool-U.out-	$< "()->Bool"         > test/diff/tiers-$*-U-Bool.out-	$< "Int->Int"       9 > test/diff/tiers-$*-Int-Int.out-	$< "Nat->Nat"       9 > test/diff/tiers-$*-Nat-Nat.out-	$< "Nat->()"        6 > test/diff/tiers-$*-Nat-U.out-	$< "()->Nat"        6 > test/diff/tiers-$*-U-Nat.out-	$< "Int->Int->Int"  6 > test/diff/tiers-$*-Int-Int-Int.out-	$< "Nat->Nat->Nat"  6 > test/diff/tiers-$*-Nat-Nat-Nat.out-	$< "(Nat,Nat)->Nat" 6 > test/diff/tiers-$*-Nat,Nat-Nat.out-	$< "Maybe Bool->Bool" > test/diff/tiers-$*-MBool-Bool.out-	$< "Bool->Maybe Bool" > test/diff/tiers-$*-Bool-MBool.out-	$< "Maybe Bool->Maybe Bool" > test/diff/tiers-$*-MBool-MBool.out+	$< "()->()"           > bench/tiers-txt/$*-U-U.txt+	$< "Bool->Bool"       > bench/tiers-txt/$*-Bool-Bool.txt+	$< "Bool->Bool->Bool" > bench/tiers-txt/$*-Bool-Bool-Bool.txt+	$< "Bool->()"         > bench/tiers-txt/$*-Bool-U.txt+	$< "()->Bool"         > bench/tiers-txt/$*-U-Bool.txt+	$< "Int->Int"       9 > bench/tiers-txt/$*-Int-Int.txt+	$< "Nat->Nat"       9 > bench/tiers-txt/$*-Nat-Nat.txt+	$< "Nat->()"        6 > bench/tiers-txt/$*-Nat-U.txt+	$< "()->Nat"        6 > bench/tiers-txt/$*-U-Nat.txt+	$< "Int->Int->Int"  6 > bench/tiers-txt/$*-Int-Int-Int.txt+	$< "Nat->Nat->Nat"  6 > bench/tiers-txt/$*-Nat-Nat-Nat.txt+	$< "(Nat,Nat)->Nat" 6 > bench/tiers-txt/$*-Nat,Nat-Nat.txt+	$< "Maybe Bool->Bool" > bench/tiers-txt/$*-MBool-Bool.txt+	$< "Bool->Maybe Bool" > bench/tiers-txt/$*-Bool-MBool.txt+	$< "Maybe Bool->Maybe Bool" > bench/tiers-txt/$*-MBool-MBool.txt 	# functions with mixed arguments-	$< "Bool->Int->Bool" 6 > test/diff/tiers-$*-Bool-Int-Bool.out-	$< "Int->Bool->Bool" 6 > test/diff/tiers-$*-Int-Bool-Bool.out+	$< "Bool->Int->Bool" 6 > bench/tiers-txt/$*-Bool-Int-Bool.txt+	$< "Int->Bool->Bool" 6 > bench/tiers-txt/$*-Int-Bool-Bool.txt 	# functions with 3 arguments-	$< "Int->Int->Int->Int"     4 > test/diff/tiers-$*-Int-Int-Int-Int.out-	$< "Bool->Bool->Bool->Bool"   > test/diff/tiers-$*-Bool-Bool-Bool-Bool.out+	$< "Int->Int->Int->Int"     4 > bench/tiers-txt/$*-Int-Int-Int-Int.txt+	$< "Bool->Bool->Bool->Bool"   > bench/tiers-txt/$*-Bool-Bool-Bool-Bool.txt 	# functions of lists-	$< "[()]->[()]"     6 > test/diff/tiers-$*-Us-Us.out-	$< "[Bool]->[Bool]" 5 > test/diff/tiers-$*-Bools-Bools.out-	$< "[Nat]->[Nat]"   6 > test/diff/tiers-$*-Nats-Nats.out-	$< "[Int]->[Int]"   6 > test/diff/tiers-$*-Ints-Ints.out+	$< "[()]->[()]"     6 > bench/tiers-txt/$*-Us-Us.txt+	$< "[Bool]->[Bool]" 5 > bench/tiers-txt/$*-Bools-Bools.txt+	$< "[Nat]->[Nat]"   6 > bench/tiers-txt/$*-Nats-Nats.txt+	$< "[Int]->[Int]"   6 > bench/tiers-txt/$*-Ints-Ints.txt 	# more functions-	$< "Nat2->Nat2"       > test/diff/tiers-$*-Nat2-Nat2.out-	$< "Nat2->Nat3"       > test/diff/tiers-$*-Nat2-Nat3.out-	$< "Nat3->Nat2"       > test/diff/tiers-$*-Nat3-Nat2.out-	$< "Nat3->Nat3"       > test/diff/tiers-$*-Nat3-Nat3.out+	$< "Nat2->Nat2"       > bench/tiers-txt/$*-Nat2-Nat2.txt+	$< "Nat2->Nat3"       > bench/tiers-txt/$*-Nat2-Nat3.txt+	$< "Nat3->Nat2"       > bench/tiers-txt/$*-Nat3-Nat2.txt+	$< "Nat3->Nat3"       > bench/tiers-txt/$*-Nat3-Nat3.txt
bench/dets.hs view
@@ -1,6 +1,6 @@ -- dets.hs -- bugs from the Erlang's dets library ----- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). -- --
bench/memory-usage.hs view
@@ -1,9 +1,9 @@ -- memory-usage.hs -- example program illustrating a limitation of LeanCheck ----- Copyright (c) 2020 Rudy Matela.+-- Copyright (c) 2020-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). ----- Many thanks to Jonas Duregard for providing this example.+-- Many thanks to Jonas Duregård for providing this example. -- -- If we set the test limit to millions of values, memory consumption may be -- too high.  This is aggravated depending on how tests are ordered.@@ -15,7 +15,7 @@  -- dummy property that is always 'True' for a correct 'Num' instance. evenOrOdd :: (Listable a, Show a, Integral a) => [a] -> Bool-evenOrOdd xs  =  all (\x -> odd x || even x) xs+evenOrOdd  =  all (\x -> odd x || even x)  main :: IO () main  =  do
bench/pick.hs view
@@ -1,6 +1,6 @@ -- pick.hs -- picks the n-th value in a LeanCheck enumeration ----- Copyright (c) 2020 Rudy Matela.+-- Copyright (c) 2020-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test.LeanCheck import Test.LeanCheck.Utils
+ bench/tiers-txt/4cases-Bool-Bool-Bool-Bool.txt view
@@ -0,0 +1,267 @@+map length (tiers :: [[ Bool->Bool->Bool->Bool ]])  =  [256]++length (list :: [ Bool->Bool->Bool->Bool ])  =  Infinity++allUnique (list :: [ Bool->Bool->Bool->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Bool->Bool->Bool ])  =  0 % 1++tiers :: [Bool->Bool->Bool->Bool]  =+  [ [ \_ _ _ -> False+    , \x y z -> case (x,y,z) of (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,True,False) -> True; _ -> False+    , \x y _ -> case (x,y) of (True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,True) -> True; _ -> False+    , \x _ z -> case (x,z) of (True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,_) -> False; (_,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,False) -> True; (True,True,True) -> True; _ -> False+    , \x _ z -> case (x,z) of (True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,_,False) -> True; (True,True,_) -> True; _ -> False+    , \x y _ -> case (x,y) of (True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,_) -> True; (True,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,_) -> True; (True,_,False) -> True; _ -> False+    , \x _ _ -> case x of False -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> True; _ -> False+    , \_ y z -> case (y,z) of (True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,True,True) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,True,True) -> True; _ -> False+    , \_ y z -> case (y,z) of (True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,True,False) -> True; (True,True,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,True,False) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (False,_,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (_,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (_,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,_) -> True; (_,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,_) -> True; (_,True,False) -> True; _ -> False+    , \_ y _ -> case y of False -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,_) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (True,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,_) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,_) -> True; (_,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (False,False) -> False; (True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> False; (True,True,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,_) -> True; _ -> False+    , \_ y z -> case (y,z) of (False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,True) -> True; (True,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (False,True,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,False,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (_,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (_,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; _ -> True+    , \x _ z -> case (x,z) of (False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,True) -> True; (_,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (True,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,True) -> True; (_,False,True) -> True; _ -> False+    , \_ _ z -> case z of False -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,True) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,False,True) -> False; (_,True,False) -> False; _ -> True+    , \x _ z -> case (x,z) of (False,False) -> False; (True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,_,_) -> True; (_,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,True,True) -> False; _ -> True+    , \x _ z -> case (x,z) of (False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (_,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; (True,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,True) -> True; (False,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; (True,_,False) -> False; _ -> True+    , \_ y z -> case (y,z) of (False,False) -> False; (True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; (True,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,False,True) -> True; (False,True,False) -> True; (False,True,True) -> False; ...+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,False,_) -> True; (_,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (_,False,_) -> True; (False,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (_,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,_,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; (True,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; (True,_,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,_,_) -> True; (_,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,True,True) -> False; _ -> True+    , \_ y z -> case (y,z) of (False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,_,_) -> True; (_,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,False,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,_,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,False,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,_,_) -> False; (_,False,False) -> False; _ -> True+    , \_ y z -> case (y,z) of (False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,_,_) -> False; (_,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; (True,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; (True,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,_,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (_,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (_,False,_) -> False; (False,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,False,_) -> False; (_,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,False,True) -> False; (False,True,False) -> False; (False,True,True) -> True; ...+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; _ -> False+    , \_ y z -> case (y,z) of (False,False) -> True; (True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; (True,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,True) -> False; (False,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; (True,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (_,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; _ -> True+    , \x _ z -> case (x,z) of (False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,_,_) -> False; (_,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,False,True) -> True; _ -> False+    , \x _ z -> case (x,z) of (False,False) -> True; (True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,False,True) -> True; (_,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,True) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (True,True,True) -> True; _ -> False+    , \_ _ z -> case z of False -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,True) -> False; (_,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (True,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,True) -> False; (_,True,True) -> False; _ -> True+    , \x _ z -> case (x,z) of (False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (_,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (_,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (True,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,False,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (False,True,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,False,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,False,True) -> False; (True,_,True) -> False; _ -> True+    , \_ y z -> case (y,z) of (False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (True,True,False) -> True; _ -> False+    , \x y _ -> case (x,y) of (False,False) -> True; (True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,_) -> False; (_,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,_) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (True,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,_) -> False; (True,False,True) -> False; _ -> True+    , \_ y _ -> case y of False -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,_) -> False; (_,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,_) -> False; (_,True,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (_,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (True,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (_,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (False,_,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (_,True,False) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,_,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,True,False) -> False; (True,True,_) -> False; _ -> True+    , \_ y z -> case (y,z) of (True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (True,True,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,True,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,_) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,False,True) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (_,True,True) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,True) -> False; (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,_,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,_) -> True; _ -> False+    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,True,False) -> False; _ -> True+    , \_ y z -> case (y,z) of (True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,True,True) -> False; _ -> True+    , \x _ _ -> case x of False -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,_) -> False; (True,_,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,False,_) -> False; (True,_,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,_,False) -> False; (True,True,_) -> False; _ -> True+    , \x _ z -> case (x,z) of (True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,False,False) -> False; (True,True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,False,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (False,_,_) -> True; (_,False,False) -> True; _ -> False+    , \x y z -> case (x,y,z) of (True,False,True) -> False; (True,True,False) -> False; _ -> True+    , \x _ z -> case (x,z) of (True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,False,True) -> False; _ -> True+    , \x y _ -> case (x,y) of (True,True) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,True,False) -> False; _ -> True+    , \x y z -> case (x,y,z) of (True,True,True) -> False; _ -> True+    , \_ _ _ -> True+    ]+  ]
+ bench/tiers-txt/4cases-Bool-Bool-Bool.txt view
@@ -0,0 +1,27 @@+map length (tiers :: [[ Bool->Bool->Bool ]])  =  [16]++length (list :: [ Bool->Bool->Bool ])  =  Infinity++allUnique (list :: [ Bool->Bool->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Bool->Bool ])  =  0 % 1++tiers :: [Bool->Bool->Bool]  =+  [ [ \_ _ -> False+    , \x y -> case (x,y) of (True,True) -> True; _ -> False+    , \x y -> case (x,y) of (True,False) -> True; _ -> False+    , \x _ -> case x of False -> False; _ -> True+    , \x y -> case (x,y) of (False,True) -> True; _ -> False+    , \_ y -> case y of False -> False; _ -> True+    , \x y -> case (x,y) of (False,False) -> False; (True,True) -> False; _ -> True+    , \x y -> case (x,y) of (False,False) -> False; _ -> True+    , \x y -> case (x,y) of (False,False) -> True; _ -> False+    , \x y -> case (x,y) of (False,False) -> True; (True,True) -> True; _ -> False+    , \_ y -> case y of False -> True; _ -> False+    , \x y -> case (x,y) of (False,True) -> False; _ -> True+    , \x _ -> case x of False -> True; _ -> False+    , \x y -> case (x,y) of (True,False) -> False; _ -> True+    , \x y -> case (x,y) of (True,True) -> False; _ -> True+    , \_ _ -> True+    ]+  ]
+ bench/tiers-txt/4cases-Bool-Bool.txt view
@@ -0,0 +1,15 @@+map length (tiers :: [[ Bool->Bool ]])  =  [4]++length (list :: [ Bool->Bool ])  =  4++allUnique (list :: [ Bool->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Bool ])  =  0 % 1++tiers :: [Bool->Bool]  =+  [ [ \_ -> False+    , \x -> case x of False -> False; True -> True+    , \x -> case x of False -> True; True -> False+    , \_ -> True+    ]+  ]
+ bench/tiers-txt/4cases-Bool-Int-Bool.txt view
@@ -0,0 +1,157 @@+map length (tiers :: [[ Bool->Int->Bool ]])  =  [4,8,12,24,36,56,...]++length (list :: [ Bool->Int->Bool ])  =  Infinity++allUnique (list :: [ Bool->Int->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Int->Bool ])  =  0 % 1++tiers :: [Bool->Int->Bool]  =+  [ [ \_ _ -> False+    , \x _ -> case x of False -> False; _ -> True+    , \x _ -> case x of False -> True; _ -> False+    , \_ _ -> True+    ]+  , [ \x y -> case (x,y) of (True,0) -> True; _ -> False+    , \x y -> case (x,y) of (False,_) -> False; (_,0) -> False; _ -> True+    , \x y -> case (x,y) of (False,_) -> True; (_,0) -> True; _ -> False+    , \x y -> case (x,y) of (True,0) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; _ -> False+    , \x y -> case (x,y) of (_,0) -> True; (False,_) -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> False; (False,_) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (True,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,_) -> False; (_,0) -> True; (_,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,_) -> True; (_,0) -> False; (_,1) -> True; _ -> False+    , \x y -> case (x,y) of (True,1) -> False; _ -> True+    , \_ y -> case y of 0 -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (_,0) -> False; (False,_) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> False; (_,0) -> True; (False,_) -> True; _ -> False+    , \_ y -> case y of 0 -> False; _ -> True+    , \x y -> case (x,y) of (False,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,1) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (True,0) -> True; (True,1) -> True; _ -> False+    , \x y -> case (x,y) of (True,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,_) -> False; (_,0) -> False; (_,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,_) -> True; (_,0) -> True; (_,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,0) -> False; (True,1) -> False; _ -> True+    , \x y -> case (x,y) of (True,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,1) -> True; _ -> False+    , \x y -> case (x,y) of (_,0) -> True; (False,_) -> False; (_,1) -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> False; (False,_) -> True; (_,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,1) -> False; _ -> True+    , \x y -> case (x,y) of (True,0) -> True; (False,1) -> True; _ -> False+    , \x y -> case (x,y) of (_,0) -> False; (_,1) -> True; (False,_) -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> True; (_,1) -> False; (False,_) -> True; _ -> False+    , \x y -> case (x,y) of (True,0) -> False; (False,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (False,1) -> True; _ -> False+    , \x y -> case (x,y) of (_,0) -> True; (_,1) -> True; (False,_) -> False; _ -> True+    , \x y -> case (x,y) of (False,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (_,0) -> False; (_,1) -> False; (False,_) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (False,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,-1) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (True,0) -> True; (True,-1) -> True; _ -> False+    , \x y -> case (x,y) of (True,2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,0) -> False; (True,-1) -> False; _ -> True+    , \x y -> case (x,y) of (True,2) -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> True; (True,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (_,0) -> False; (True,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> False; (True,-1) -> False; _ -> True+    , \_ y -> case y of 1 -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \_ y -> case y of 1 -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> True; (False,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (True,0) -> True; (False,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (_,0) -> False; (False,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,0) -> False; (False,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (False,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> False; (False,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,2) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (True,0) -> True; (True,2) -> True; _ -> False+    , \x y -> case (x,y) of (True,1) -> True; (True,-1) -> True; _ -> False+    , \x y -> case (x,y) of (True,-2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,0) -> False; (True,2) -> False; _ -> True+    , \x y -> case (x,y) of (True,1) -> False; (True,-1) -> False; _ -> True+    , \x y -> case (x,y) of (True,-2) -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> True; (True,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (_,0) -> False; (True,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> False; (True,2) -> False; _ -> True+    , \x y -> case (x,y) of (True,0) -> True; (_,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,1) -> True; (True,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,0) -> False; (_,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,1) -> False; (True,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (_,1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,1) -> True; (False,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (_,1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (True,1) -> False; (False,-1) -> False; _ -> True+    , \x y -> case (x,y) of (_,0) -> True; (False,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (True,0) -> True; (False,2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (_,0) -> False; (False,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (True,0) -> False; (False,2) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (False,2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,1) -> True; (False,-1) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,-2) -> True; _ -> False+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,0) -> False; (False,2) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,1) -> False; (False,-1) -> False; _ -> True+    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+    , \x y -> case (x,y) of (False,-2) -> False; _ -> True+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Bool-MBool.txt view
@@ -0,0 +1,21 @@+map length (tiers :: [[ Bool->Maybe Bool ]])  =  [1,4,4]++length (list :: [ Bool->Maybe Bool ])  =  9++allUnique (list :: [ Bool->Maybe Bool ])  =  True++ratioRepetitions (list :: [ Bool->Maybe Bool ])  =  0 % 1++tiers :: [Bool->Maybe Bool]  =+  [ [\_ -> Nothing]+  , [ \x -> case x of False -> Nothing; True -> Just False+    , \x -> case x of False -> Nothing; True -> Just True+    , \x -> case x of False -> Just False; True -> Nothing+    , \x -> case x of False -> Just True; True -> Nothing+    ]+  , [ \_ -> Just False+    , \x -> case x of False -> Just False; True -> Just True+    , \x -> case x of False -> Just True; True -> Just False+    , \_ -> Just True+    ]+  ]
+ bench/tiers-txt/4cases-Bool-U.txt view
@@ -0,0 +1,10 @@+map length (tiers :: [[ Bool->() ]])  =  [1]++length (list :: [ Bool->() ])  =  1++allUnique (list :: [ Bool->() ])  =  True++ratioRepetitions (list :: [ Bool->() ])  =  0 % 1++tiers :: [Bool->()]  =+  [[\_ -> ()]]
+ bench/tiers-txt/4cases-Bools-Bools.txt view
@@ -0,0 +1,140 @@+map length (tiers :: [[ [Bool]->[Bool] ]])  =  [1,2,8,26,88,...]++length (list :: [ [Bool]->[Bool] ])  =  Infinity++allUnique (list :: [ [Bool]->[Bool] ])  =  True++ratioRepetitions (list :: [ [Bool]->[Bool] ])  =  0 % 1++tiers :: [[Bool]->[Bool]]  =+  [ [\_ -> []]+  , [ \_ -> [False]+    , \_ -> [True]+    ]+  , [ \x -> case x of [] -> [False]; _ -> []+    , \x -> case x of [] -> [True]; _ -> []+    , \x -> case x of [] -> []; _ -> [False]+    , \x -> case x of [] -> []; _ -> [True]+    , \_ -> [False,False]+    , \_ -> [False,True]+    , \_ -> [True,False]+    , \_ -> [True,True]+    ]+  , [ \x -> case x of [] -> [False,False]; _ -> []+    , \x -> case x of [] -> [False,True]; _ -> []+    , \x -> case x of [] -> [True,False]; _ -> []+    , \x -> case x of [] -> [True,True]; _ -> []+    , \x -> case x of [False] -> [False]; _ -> []+    , \x -> case x of [False] -> [True]; _ -> []+    , \x -> case x of [True] -> [False]; _ -> []+    , \x -> case x of [True] -> [True]; _ -> []+    , \x -> case x of [] -> [True]; _ -> [False]+    , \x -> case x of [False] -> []; _ -> [False]+    , \x -> case x of [True] -> []; _ -> [False]+    , \x -> case x of [] -> [False]; _ -> [True]+    , \x -> case x of [False] -> []; _ -> [True]+    , \x -> case x of [True] -> []; _ -> [True]+    , \x -> case x of [] -> []; _ -> [False,False]+    , \x -> case x of [] -> []; _ -> [False,True]+    , \x -> case x of [] -> []; _ -> [True,False]+    , \x -> case x of [] -> []; _ -> [True,True]+    , \_ -> [False,False,False]+    , \_ -> [False,False,True]+    , \_ -> [False,True,False]+    , \_ -> [False,True,True]+    , \_ -> [True,False,False]+    , \_ -> [True,False,True]+    , \_ -> [True,True,False]+    , \_ -> [True,True,True]+    ]+  , [ \x -> case x of [] -> [False,False,False]; _ -> []+    , \x -> case x of [] -> [False,False,True]; _ -> []+    , \x -> case x of [] -> [False,True,False]; _ -> []+    , \x -> case x of [] -> [False,True,True]; _ -> []+    , \x -> case x of [] -> [True,False,False]; _ -> []+    , \x -> case x of [] -> [True,False,True]; _ -> []+    , \x -> case x of [] -> [True,True,False]; _ -> []+    , \x -> case x of [] -> [True,True,True]; _ -> []+    , \x -> case x of [False] -> [False,False]; _ -> []+    , \x -> case x of [False] -> [False,True]; _ -> []+    , \x -> case x of [False] -> [True,False]; _ -> []+    , \x -> case x of [False] -> [True,True]; _ -> []+    , \x -> case x of [True] -> [False,False]; _ -> []+    , \x -> case x of [True] -> [False,True]; _ -> []+    , \x -> case x of [True] -> [True,False]; _ -> []+    , \x -> case x of [True] -> [True,True]; _ -> []+    , \x -> case x of [False,False] -> [False]; _ -> []+    , \x -> case x of [False,False] -> [True]; _ -> []+    , \x -> case x of [False,True] -> [False]; _ -> []+    , \x -> case x of [False,True] -> [True]; _ -> []+    , \x -> case x of [True,False] -> [False]; _ -> []+    , \x -> case x of [True,False] -> [True]; _ -> []+    , \x -> case x of [True,True] -> [False]; _ -> []+    , \x -> case x of [True,True] -> [True]; _ -> []+    , \x -> case x of [] -> [False,False]; _ -> [False]+    , \x -> case x of [] -> [False,True]; _ -> [False]+    , \x -> case x of [] -> [True,False]; _ -> [False]+    , \x -> case x of [] -> [True,True]; _ -> [False]+    , \x -> case x of [False] -> [True]; _ -> [False]+    , \x -> case x of [True] -> [True]; _ -> [False]+    , \x -> case x of [] -> []; [False] -> []; _ -> [False]+    , \x -> case x of [] -> []; [True] -> []; _ -> [False]+    , \x -> case x of [False,False] -> []; _ -> [False]+    , \x -> case x of [False,True] -> []; _ -> [False]+    , \x -> case x of [True,False] -> []; _ -> [False]+    , \x -> case x of [True,True] -> []; _ -> [False]+    , \x -> case x of [] -> [False,False]; _ -> [True]+    , \x -> case x of [] -> [False,True]; _ -> [True]+    , \x -> case x of [] -> [True,False]; _ -> [True]+    , \x -> case x of [] -> [True,True]; _ -> [True]+    , \x -> case x of [False] -> [False]; _ -> [True]+    , \x -> case x of [True] -> [False]; _ -> [True]+    , \x -> case x of [] -> []; [False] -> []; _ -> [True]+    , \x -> case x of [] -> []; [True] -> []; _ -> [True]+    , \x -> case x of [False,False] -> []; _ -> [True]+    , \x -> case x of [False,True] -> []; _ -> [True]+    , \x -> case x of [True,False] -> []; _ -> [True]+    , \x -> case x of [True,True] -> []; _ -> [True]+    , \x -> case x of [] -> [False]; _ -> [False,False]+    , \x -> case x of [] -> [True]; _ -> [False,False]+    , \x -> case x of [False] -> []; _ -> [False,False]+    , \x -> case x of [True] -> []; _ -> [False,False]+    , \x -> case x of [] -> [False]; _ -> [False,True]+    , \x -> case x of [] -> [True]; _ -> [False,True]+    , \x -> case x of [False] -> []; _ -> [False,True]+    , \x -> case x of [True] -> []; _ -> [False,True]+    , \x -> case x of [] -> [False]; _ -> [True,False]+    , \x -> case x of [] -> [True]; _ -> [True,False]+    , \x -> case x of [False] -> []; _ -> [True,False]+    , \x -> case x of [True] -> []; _ -> [True,False]+    , \x -> case x of [] -> [False]; _ -> [True,True]+    , \x -> case x of [] -> [True]; _ -> [True,True]+    , \x -> case x of [False] -> []; _ -> [True,True]+    , \x -> case x of [True] -> []; _ -> [True,True]+    , \x -> case x of [] -> []; _ -> [False,False,False]+    , \x -> case x of [] -> []; _ -> [False,False,True]+    , \x -> case x of [] -> []; _ -> [False,True,False]+    , \x -> case x of [] -> []; _ -> [False,True,True]+    , \x -> case x of [] -> []; _ -> [True,False,False]+    , \x -> case x of [] -> []; _ -> [True,False,True]+    , \x -> case x of [] -> []; _ -> [True,True,False]+    , \x -> case x of [] -> []; _ -> [True,True,True]+    , \_ -> [False,False,False,False]+    , \_ -> [False,False,False,True]+    , \_ -> [False,False,True,False]+    , \_ -> [False,False,True,True]+    , \_ -> [False,True,False,False]+    , \_ -> [False,True,False,True]+    , \_ -> [False,True,True,False]+    , \_ -> [False,True,True,True]+    , \_ -> [True,False,False,False]+    , \_ -> [True,False,False,True]+    , \_ -> [True,False,True,False]+    , \_ -> [True,False,True,True]+    , \_ -> [True,True,False,False]+    , \_ -> [True,True,False,True]+    , \_ -> [True,True,True,False]+    , \_ -> [True,True,True,True]+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Int-Bool-Bool.txt view
@@ -0,0 +1,225 @@+map length (tiers :: [[ Int->Bool->Bool ]])  =  [4,12,12,48,48,84,...]++length (list :: [ Int->Bool->Bool ])  =  Infinity++allUnique (list :: [ Int->Bool->Bool ])  =  True++ratioRepetitions (list :: [ Int->Bool->Bool ])  =  0 % 1++tiers :: [Int->Bool->Bool]  =+  [ [ \_ _ -> False+    , \_ y -> case y of False -> False; _ -> True+    , \_ y -> case y of False -> True; _ -> False+    , \_ _ -> True+    ]+  , [ \x y -> case (x,y) of (0,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; _ -> False+    , \x _ -> case x of 0 -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> False; (_,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> True; (0,_) -> False; (_,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> True; (_,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (_,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> False; (0,_) -> True; (_,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (_,False) -> True; _ -> False+    , \x _ -> case x of 0 -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (1,True) -> True; _ -> False+    , \x y -> case (x,y) of (1,False) -> True; _ -> False+    , \x _ -> case x of 1 -> True; _ -> False+    , \x y -> case (x,y) of (_,False) -> False; (0,_) -> True; (1,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (_,False) -> True; (0,_) -> False; (1,_) -> True; _ -> False+    , \x _ -> case x of 1 -> False; _ -> True+    , \x y -> case (x,y) of (1,False) -> False; _ -> True+    , \x y -> case (x,y) of (1,True) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (0,True) -> True; (1,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,True) -> True; (1,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,True) -> True; (1,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (1,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (1,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (1,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (1,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (1,False) -> True; _ -> False+    , \x _ -> case x of 0 -> True; 1 -> True; _ -> False+    , \x y -> case (x,y) of (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (-1,False) -> True; _ -> False+    , \x _ -> case x of -1 -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> False; (_,False) -> False; (1,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,_) -> False; (1,_) -> True; (_,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,_) -> True; (1,_) -> False; (_,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,_) -> True; (1,_) -> True; (_,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,_) -> False; (1,_) -> False; (_,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,_) -> False; (1,_) -> True; (_,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,_) -> True; (1,_) -> False; (_,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,_) -> True; (_,False) -> True; (1,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x _ -> case x of 0 -> False; 1 -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (1,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (1,True) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (1,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (1,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (1,True) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (1,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (1,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (1,True) -> False; _ -> True+    , \x _ -> case x of -1 -> False; _ -> True+    , \x y -> case (x,y) of (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (-1,True) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (0,True) -> True; (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,True) -> True; (-1,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,True) -> True; (-1,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (-1,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (-1,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (-1,False) -> True; _ -> False+    , \x _ -> case x of 0 -> True; -1 -> True; _ -> False+    , \x y -> case (x,y) of (2,True) -> True; _ -> False+    , \x y -> case (x,y) of (2,False) -> True; _ -> False+    , \x _ -> case x of 2 -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x _ -> case x of 0 -> False; -1 -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (-1,True) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (-1,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (-1,True) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (-1,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (-1,True) -> False; _ -> True+    , \x _ -> case x of 2 -> False; _ -> True+    , \x y -> case (x,y) of (2,False) -> False; _ -> True+    , \x y -> case (x,y) of (2,True) -> False; _ -> True+    ]+  , [ \x y -> case (x,y) of (0,True) -> True; (2,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,True) -> True; (2,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,True) -> True; (2,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (2,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (2,False) -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> True; (2,_) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (2,True) -> True; _ -> False+    , \x y -> case (x,y) of (0,_) -> True; (2,False) -> True; _ -> False+    , \x _ -> case x of 0 -> True; 2 -> True; _ -> False+    , \x y -> case (x,y) of (1,True) -> True; (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (1,True) -> True; (-1,False) -> True; _ -> False+    , \x y -> case (x,y) of (1,True) -> True; (-1,_) -> True; _ -> False+    , \x y -> case (x,y) of (1,False) -> True; (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (1,False) -> True; (-1,False) -> True; _ -> False+    , \x y -> case (x,y) of (1,False) -> True; (-1,_) -> True; _ -> False+    , \x y -> case (x,y) of (1,_) -> True; (-1,True) -> True; _ -> False+    , \x y -> case (x,y) of (1,_) -> True; (-1,False) -> True; _ -> False+    , \x _ -> case x of 1 -> True; -1 -> True; _ -> False+    , \x y -> case (x,y) of (-2,True) -> True; _ -> False+    , \x y -> case (x,y) of (-2,False) -> True; _ -> False+    , \x _ -> case x of -2 -> True; _ -> False+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+    , \x _ -> case x of 0 -> False; 2 -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (2,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,_) -> False; (2,True) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (2,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (2,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,False) -> False; (2,True) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (2,_) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (2,False) -> False; _ -> True+    , \x y -> case (x,y) of (0,True) -> False; (2,True) -> False; _ -> True+    , \x _ -> case x of 1 -> False; -1 -> False; _ -> True+    , \x y -> case (x,y) of (1,_) -> False; (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (1,_) -> False; (-1,True) -> False; _ -> True+    , \x y -> case (x,y) of (1,False) -> False; (-1,_) -> False; _ -> True+    , \x y -> case (x,y) of (1,False) -> False; (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (1,False) -> False; (-1,True) -> False; _ -> True+    , \x y -> case (x,y) of (1,True) -> False; (-1,_) -> False; _ -> True+    , \x y -> case (x,y) of (1,True) -> False; (-1,False) -> False; _ -> True+    , \x y -> case (x,y) of (1,True) -> False; (-1,True) -> False; _ -> True+    , \x _ -> case x of -2 -> False; _ -> True+    , \x y -> case (x,y) of (-2,False) -> False; _ -> True+    , \x y -> case (x,y) of (-2,True) -> False; _ -> True+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Int-Int-Int-Int.txt view
@@ -0,0 +1,47 @@+map length (tiers :: [[ Int->Int->Int->Int ]])  =  [1,1,7,25,...]++length (list :: [ Int->Int->Int->Int ])  =  Infinity++allUnique (list :: [ Int->Int->Int->Int ])  =  True++ratioRepetitions (list :: [ Int->Int->Int->Int ])  =  0 % 1++tiers :: [Int->Int->Int->Int]  =+  [ [\_ _ _ -> 0]+  , [\_ _ _ -> 1]+  , [ \x _ _ -> case x of 0 -> 1; _ -> 0+    , \x _ _ -> case x of 0 -> 0; _ -> 1+    , \_ y _ -> case y of 0 -> 1; _ -> 0+    , \_ y _ -> case y of 0 -> 0; _ -> 1+    , \_ _ z -> case z of 0 -> 1; _ -> 0+    , \_ _ z -> case z of 0 -> 0; _ -> 1+    , \_ _ _ -> -1+    ]+  , [ \x y _ -> case (x,y) of (0,0) -> 1; _ -> 0+    , \x y _ -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0+    , \x _ z -> case (x,z) of (0,0) -> 1; _ -> 0+    , \x _ z -> case (x,z) of (_,0) -> 0; (0,_) -> 1; _ -> 0+    , \x _ _ -> case x of 0 -> -1; _ -> 0+    , \x _ _ -> case x of 1 -> 1; _ -> 0+    , \x _ _ -> case x of 1 -> 0; _ -> 1+    , \x y _ -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0+    , \x y _ -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \x _ z -> case (x,z) of (0,_) -> 0; (_,0) -> 1; _ -> 0+    , \x _ z -> case (x,z) of (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \x _ _ -> case x of 0 -> 0; _ -> -1+    , \_ y z -> case (y,z) of (0,0) -> 1; _ -> 0+    , \_ y z -> case (y,z) of (_,0) -> 0; (0,_) -> 1; _ -> 0+    , \_ y _ -> case y of 0 -> -1; _ -> 0+    , \_ y _ -> case y of 1 -> 1; _ -> 0+    , \_ y _ -> case y of 1 -> 0; _ -> 1+    , \_ y z -> case (y,z) of (0,_) -> 0; (_,0) -> 1; _ -> 0+    , \_ y z -> case (y,z) of (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \_ y _ -> case y of 0 -> 0; _ -> -1+    , \_ _ z -> case z of 0 -> -1; _ -> 0+    , \_ _ z -> case z of 1 -> 1; _ -> 0+    , \_ _ z -> case z of 1 -> 0; _ -> 1+    , \_ _ z -> case z of 0 -> 0; _ -> -1+    , \_ _ _ -> 2+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Int-Int-Int.txt view
@@ -0,0 +1,151 @@+map length (tiers :: [[ Int->Int->Int ]])  =  [1,1,5,13,35,81,...]++length (list :: [ Int->Int->Int ])  =  Infinity++allUnique (list :: [ Int->Int->Int ])  =  True++ratioRepetitions (list :: [ Int->Int->Int ])  =  0 % 1++tiers :: [Int->Int->Int]  =+  [ [\_ _ -> 0]+  , [\_ _ -> 1]+  , [ \x _ -> case x of 0 -> 1; _ -> 0+    , \x _ -> case x of 0 -> 0; _ -> 1+    , \_ y -> case y of 0 -> 1; _ -> 0+    , \_ y -> case y of 0 -> 0; _ -> 1+    , \_ _ -> -1+    ]+  , [ \x y -> case (x,y) of (0,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0+    , \x _ -> case x of 0 -> -1; _ -> 0+    , \x _ -> case x of 1 -> 1; _ -> 0+    , \x _ -> case x of 1 -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \x _ -> case x of 0 -> 0; _ -> -1+    , \_ y -> case y of 0 -> -1; _ -> 0+    , \_ y -> case y of 1 -> 1; _ -> 0+    , \_ y -> case y of 1 -> 0; _ -> 1+    , \_ y -> case y of 0 -> 0; _ -> -1+    , \_ _ -> 2+    ]+  , [ \x y -> case (x,y) of (0,0) -> -1; _ -> 0+    , \x y -> case (x,y) of (0,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 1; ...+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> -1; _ -> 0+    , \x _ -> case x of 0 -> 2; _ -> 0+    , \x y -> case (x,y) of (1,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 1; _ -> 0+    , \x _ -> case x of 1 -> -1; _ -> 0+    , \x _ -> case x of -1 -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; _ -> 1+    , \x _ -> case x of 0 -> -1; _ -> 1+    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 1+    , \x _ -> case x of -1 -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 0; ...+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 1+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; (1,_) -> 0; _ -> 1+    , \x _ -> case x of 0 -> 1; _ -> -1+    , \x _ -> case x of 1 -> 0; _ -> -1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; (_,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> -1+    , \x _ -> case x of 0 -> 0; _ -> 2+    , \_ y -> case y of 0 -> 2; _ -> 0+    , \_ y -> case y of 1 -> -1; _ -> 0+    , \_ y -> case y of -1 -> 1; _ -> 0+    , \_ y -> case y of 0 -> -1; _ -> 1+    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 1+    , \_ y -> case y of -1 -> 0; _ -> 1+    , \_ y -> case y of 0 -> 1; _ -> -1+    , \_ y -> case y of 1 -> 0; _ -> -1+    , \_ y -> case y of 0 -> 0; _ -> 2+    , \_ _ -> -2+    ]+  , [ \x y -> case (x,y) of (0,0) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,1) -> -1; _ -> 0+    , \x y -> case (x,y) of (0,-1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> -1; (0,_) -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 0; (_,1) -> 0; (0,_) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 1; (1,0) -> 0; (0,-1) -> 0; ...+    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> -1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> -1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> -1; ...+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; _ -> 0+    , \x _ -> case x of 0 -> -2; _ -> 0+    , \x y -> case (x,y) of (1,0) -> -1; _ -> 0+    , \x y -> case (x,y) of (1,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 0; (1,0) -> 1; (0,-1) -> 0; ...+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> -1; _ -> 0+    , \x _ -> case x of 1 -> 2; _ -> 0+    , \x _ -> case x of 0 -> 1; 1 -> 1; _ -> 0+    , \x y -> case (x,y) of (-1,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (-1,1) -> 1; (-1,-1) -> 1; _ -> 0+    , \x _ -> case x of -1 -> -1; _ -> 0+    , \x _ -> case x of 2 -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> -1; (0,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> 0; ...+    , \x y -> case (x,y) of (0,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> -1; _ -> 1+    , \x _ -> case x of 0 -> 2; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (1,0) -> 0; _ -> 1+    , \x _ -> case x of 1 -> -1; _ -> 1+    , \x _ -> case x of 0 -> 0; 1 -> 1; -1 -> 0; _ -> 1+    , \x _ -> case x of 2 -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> -1; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; (1,_) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (1,_) -> 0; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 1; (0,-1) -> 0; ...+    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> -1; (_,0) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> 1; ...+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (_,0) -> 0; (-1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; _ -> -1+    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; _ -> -1+    , \x _ -> case x of 1 -> 1; _ -> -1+    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> -1+    , \x _ -> case x of -1 -> 0; _ -> -1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> -1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> -1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 0; ...+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; (_,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,1) -> 1; (-1,1) -> 1; (2,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (_,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (_,1) -> 0; (1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> -1+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> -1; (1,_) -> 0; _ -> -1+    , \x _ -> case x of 0 -> 1; _ -> 2+    , \x _ -> case x of 1 -> 0; _ -> 2+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> -1; _ -> 0+    , \x y -> case (x,y) of (1,-1) -> 1; (-1,-1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,-1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> -1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; (_,1) -> 0; _ -> -1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 2+    , \x _ -> case x of 0 -> 0; _ -> -2+    , \_ y -> case y of 0 -> -2; _ -> 0+    , \_ y -> case y of 1 -> 2; _ -> 0+    , \_ y -> case y of 0 -> 1; 1 -> 1; _ -> 0+    , \_ y -> case y of -1 -> -1; _ -> 0+    , \_ y -> case y of 2 -> 1; _ -> 0+    , \_ y -> case y of 0 -> 2; _ -> 1+    , \_ y -> case y of 1 -> -1; _ -> 1+    , \_ y -> case y of 0 -> 0; -1 -> 0; _ -> 1+    , \_ y -> case y of 2 -> 0; _ -> 1+    , \_ y -> case y of 1 -> 1; _ -> -1+    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> -1+    , \_ y -> case y of -1 -> 0; _ -> -1+    , \_ y -> case y of 0 -> 1; _ -> 2+    , \_ y -> case y of 1 -> 0; _ -> 2+    , \_ y -> case y of 0 -> 0; _ -> -2+    , \_ _ -> 3+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Int-Int.txt view
@@ -0,0 +1,212 @@+map length (tiers :: [[ Int->Int ]])  =  [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Int->Int ])  =  Infinity++allUnique (list :: [ Int->Int ])  =  True++ratioRepetitions (list :: [ Int->Int ])  =  0 % 1++tiers :: [Int->Int]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [ \x -> case x of 0 -> 1; _ -> 0+    , \x -> case x of 0 -> 0; _ -> 1+    , \_ -> -1+    ]+  , [ \x -> case x of 0 -> -1; _ -> 0+    , \x -> case x of 1 -> 1; _ -> 0+    , \x -> case x of 1 -> 0; _ -> 1+    , \x -> case x of 0 -> 0; _ -> -1+    , \_ -> 2+    ]+  , [ \x -> case x of 0 -> 2; _ -> 0+    , \x -> case x of 1 -> -1; _ -> 0+    , \x -> case x of -1 -> 1; _ -> 0+    , \x -> case x of 0 -> -1; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 1+    , \x -> case x of -1 -> 0; _ -> 1+    , \x -> case x of 0 -> 1; _ -> -1+    , \x -> case x of 1 -> 0; _ -> -1+    , \x -> case x of 0 -> 0; _ -> 2+    , \_ -> -2+    ]+  , [ \x -> case x of 0 -> -2; _ -> 0+    , \x -> case x of 1 -> 2; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 0+    , \x -> case x of -1 -> -1; _ -> 0+    , \x -> case x of 2 -> 1; _ -> 0+    , \x -> case x of 0 -> 2; _ -> 1+    , \x -> case x of 1 -> -1; _ -> 1+    , \x -> case x of 0 -> 0; -1 -> 0; _ -> 1+    , \x -> case x of 2 -> 0; _ -> 1+    , \x -> case x of 1 -> 1; _ -> -1+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> -1+    , \x -> case x of -1 -> 0; _ -> -1+    , \x -> case x of 0 -> 1; _ -> 2+    , \x -> case x of 1 -> 0; _ -> 2+    , \x -> case x of 0 -> 0; _ -> -2+    , \_ -> 3+    ]+  , [ \x -> case x of 0 -> 3; _ -> 0+    , \x -> case x of 1 -> -2; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> -1; _ -> 0+    , \x -> case x of 0 -> -1; 1 -> 1; _ -> 0+    , \x -> case x of -1 -> 2; _ -> 0+    , \x -> case x of 0 -> 1; -1 -> 1; _ -> 0+    , \x -> case x of 2 -> -1; _ -> 0+    , \x -> case x of -2 -> 1; _ -> 0+    , \x -> case x of 0 -> -2; _ -> 1+    , \x -> case x of 1 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> -1; _ -> 1+    , \x -> case x of 0 -> -1; 1 -> 0; _ -> 1+    , \x -> case x of -1 -> -1; _ -> 1+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; -1 -> 0; _ -> 1+    , \x -> case x of -2 -> 0; _ -> 1+    , \x -> case x of 0 -> 2; _ -> -1+    , \x -> case x of 0 -> 0; 1 -> 1; _ -> -1+    , \x -> case x of 0 -> 1; 1 -> 0; _ -> -1+    , \x -> case x of -1 -> 1; _ -> -1+    , \x -> case x of 0 -> 0; -1 -> 0; _ -> -1+    , \x -> case x of 2 -> 0; _ -> -1+    , \x -> case x of 0 -> -1; _ -> 2+    , \x -> case x of 1 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 2+    , \x -> case x of -1 -> 0; _ -> 2+    , \x -> case x of 0 -> 1; _ -> -2+    , \x -> case x of 1 -> 0; _ -> -2+    , \x -> case x of 0 -> 0; _ -> 3+    , \_ -> -3+    ]+  , [ \x -> case x of 0 -> -3; _ -> 0+    , \x -> case x of 1 -> 3; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> 2; _ -> 0+    , \x -> case x of 0 -> -1; 1 -> -1; _ -> 0+    , \x -> case x of 0 -> 2; 1 -> 1; _ -> 0+    , \x -> case x of -1 -> -2; _ -> 0+    , \x -> case x of 0 -> 1; -1 -> -1; _ -> 0+    , \x -> case x of 0 -> -1; -1 -> 1; _ -> 0+    , \x -> case x of 2 -> 2; _ -> 0+    , \x -> case x of 0 -> 1; 2 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; -1 -> 1; _ -> 0+    , \x -> case x of -2 -> -1; _ -> 0+    , \x -> case x of 3 -> 1; _ -> 0+    , \x -> case x of 0 -> 3; _ -> 1+    , \x -> case x of 1 -> -2; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 2; _ -> 1+    , \x -> case x of 0 -> 2; 1 -> 0; _ -> 1+    , \x -> case x of -1 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; -1 -> -1; _ -> 1+    , \x -> case x of 0 -> -1; -1 -> 0; _ -> 1+    , \x -> case x of 2 -> -1; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 0; -1 -> 0; _ -> 1+    , \x -> case x of 0 -> 0; -2 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of 3 -> 0; _ -> 1+    , \x -> case x of 0 -> -2; _ -> -1+    , \x -> case x of 1 -> 2; _ -> -1+    , \x -> case x of 0 -> 1; 1 -> 1; _ -> -1+    , \x -> case x of 0 -> 0; -1 -> 1; _ -> -1+    , \x -> case x of 0 -> 1; -1 -> 0; _ -> -1+    , \x -> case x of 2 -> 1; _ -> -1+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> -1+    , \x -> case x of 1 -> 0; -1 -> 0; _ -> -1+    , \x -> case x of -2 -> 0; _ -> -1+    , \x -> case x of 1 -> -1; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 2+    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 2+    , \x -> case x of -1 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; -1 -> 0; _ -> 2+    , \x -> case x of 2 -> 0; _ -> 2+    , \x -> case x of 0 -> -1; _ -> -2+    , \x -> case x of 1 -> 1; _ -> -2+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> -2+    , \x -> case x of -1 -> 0; _ -> -2+    , \x -> case x of 0 -> 1; _ -> 3+    , \x -> case x of 1 -> 0; _ -> 3+    , \x -> case x of 0 -> 0; _ -> -3+    , \_ -> 4+    ]+  , [ \x -> case x of 0 -> 4; _ -> 0+    , \x -> case x of 1 -> -3; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> -2; _ -> 0+    , \x -> case x of 0 -> -1; 1 -> 2; _ -> 0+    , \x -> case x of 0 -> 2; 1 -> -1; _ -> 0+    , \x -> case x of 0 -> -2; 1 -> 1; _ -> 0+    , \x -> case x of -1 -> 3; _ -> 0+    , \x -> case x of 0 -> 1; -1 -> 2; _ -> 0+    , \x -> case x of 0 -> -1; -1 -> -1; _ -> 0+    , \x -> case x of 0 -> 2; -1 -> 1; _ -> 0+    , \x -> case x of 2 -> -2; _ -> 0+    , \x -> case x of 0 -> 1; 2 -> -1; _ -> 0+    , \x -> case x of 0 -> -1; 2 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; -1 -> -1; _ -> 0+    , \x -> case x of 1 -> -1; -1 -> 1; _ -> 0+    , \x -> case x of -2 -> 2; _ -> 0+    , \x -> case x of 0 -> 1; -2 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; 2 -> 1; _ -> 0+    , \x -> case x of 3 -> -1; _ -> 0+    , \x -> case x of -3 -> 1; _ -> 0+    , \x -> case x of 0 -> -3; _ -> 1+    , \x -> case x of 1 -> 3; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> -2; _ -> 1+    , \x -> case x of 0 -> -1; 1 -> -1; _ -> 1+    , \x -> case x of 0 -> -2; 1 -> 0; _ -> 1+    , \x -> case x of -1 -> -2; _ -> 1+    , \x -> case x of 0 -> 0; -1 -> 2; _ -> 1+    , \x -> case x of 0 -> 2; -1 -> 0; _ -> 1+    , \x -> case x of 2 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 2 -> -1; _ -> 1+    , \x -> case x of 0 -> -1; 2 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; -1 -> -1; _ -> 1+    , \x -> case x of 1 -> -1; -1 -> 0; _ -> 1+    , \x -> case x of -2 -> -1; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; -2 -> 0; _ -> 1+    , \x -> case x of -1 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of -3 -> 0; _ -> 1+    , \x -> case x of 0 -> 3; _ -> -1+    , \x -> case x of 1 -> -2; _ -> -1+    , \x -> case x of 0 -> 0; 1 -> 2; _ -> -1+    , \x -> case x of 0 -> 2; 1 -> 0; _ -> -1+    , \x -> case x of -1 -> 2; _ -> -1+    , \x -> case x of 0 -> 1; -1 -> 1; _ -> -1+    , \x -> case x of 0 -> 0; 2 -> 1; _ -> -1+    , \x -> case x of 0 -> 1; 2 -> 0; _ -> -1+    , \x -> case x of 1 -> 0; -1 -> 1; _ -> -1+    , \x -> case x of 1 -> 1; -1 -> 0; _ -> -1+    , \x -> case x of -2 -> 1; _ -> -1+    , \x -> case x of 0 -> 0; 1 -> 0; -1 -> 0; _ -> -1+    , \x -> case x of 0 -> 0; -2 -> 0; _ -> -1+    , \x -> case x of 1 -> 0; 2 -> 0; _ -> -1+    , \x -> case x of 3 -> 0; _ -> -1+    , \x -> case x of 0 -> -2; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> -1; _ -> 2+    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 2+    , \x -> case x of 0 -> -1; 1 -> 0; _ -> 2+    , \x -> case x of -1 -> -1; _ -> 2+    , \x -> case x of 0 -> 0; -1 -> 1; _ -> 2+    , \x -> case x of 0 -> 1; -1 -> 0; _ -> 2+    , \x -> case x of 2 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 2+    , \x -> case x of 1 -> 0; -1 -> 0; _ -> 2+    , \x -> case x of -2 -> 0; _ -> 2+    , \x -> case x of 0 -> 2; _ -> -2+    , \x -> case x of 1 -> -1; _ -> -2+    , \x -> case x of 0 -> 0; 1 -> 1; _ -> -2+    , \x -> case x of 0 -> 1; 1 -> 0; _ -> -2+    , \x -> case x of -1 -> 1; _ -> -2+    , \x -> case x of 0 -> 0; -1 -> 0; _ -> -2+    , \x -> case x of 2 -> 0; _ -> -2+    , \x -> case x of 0 -> -1; _ -> 3+    , \x -> case x of 1 -> 1; _ -> 3+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 3+    , \x -> case x of -1 -> 0; _ -> 3+    , \x -> case x of 0 -> 1; _ -> -3+    , \x -> case x of 1 -> 0; _ -> -3+    , \x -> case x of 0 -> 0; _ -> 4+    , \_ -> -4+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Ints-Ints.txt view
@@ -0,0 +1,135 @@+map length (tiers :: [[ [Int]->[Int] ]])  =  [1,1,4,10,29,75,...]++length (list :: [ [Int]->[Int] ])  =  Infinity++allUnique (list :: [ [Int]->[Int] ])  =  True++ratioRepetitions (list :: [ [Int]->[Int] ])  =  0 % 1++tiers :: [[Int]->[Int]]  =+  [ [\_ -> []]+  , [\_ -> [0]]+  , [ \x -> case x of [] -> [0]; _ -> []+    , \x -> case x of [] -> []; _ -> [0]+    , \_ -> [0,0]+    , \_ -> [1]+    ]+  , [ \x -> case x of [] -> [0,0]; _ -> []+    , \x -> case x of [] -> [1]; _ -> []+    , \x -> case x of [0] -> [0]; _ -> []+    , \x -> case x of [0] -> []; _ -> [0]+    , \x -> case x of [] -> []; _ -> [0,0]+    , \x -> case x of [] -> []; _ -> [1]+    , \_ -> [0,0,0]+    , \_ -> [0,1]+    , \_ -> [1,0]+    , \_ -> [-1]+    ]+  , [ \x -> case x of [] -> [0,0,0]; _ -> []+    , \x -> case x of [] -> [0,1]; _ -> []+    , \x -> case x of [] -> [1,0]; _ -> []+    , \x -> case x of [] -> [-1]; _ -> []+    , \x -> case x of [0] -> [0,0]; _ -> []+    , \x -> case x of [0] -> [1]; _ -> []+    , \x -> case x of [0,0] -> [0]; _ -> []+    , \x -> case x of [1] -> [0]; _ -> []+    , \x -> case x of [] -> [0,0]; _ -> [0]+    , \x -> case x of [] -> [1]; _ -> [0]+    , \x -> case x of [] -> []; [0] -> []; _ -> [0]+    , \x -> case x of [0,0] -> []; _ -> [0]+    , \x -> case x of [1] -> []; _ -> [0]+    , \x -> case x of [] -> [0]; _ -> [0,0]+    , \x -> case x of [0] -> []; _ -> [0,0]+    , \x -> case x of [] -> [0]; _ -> [1]+    , \x -> case x of [0] -> []; _ -> [1]+    , \x -> case x of [] -> []; _ -> [0,0,0]+    , \x -> case x of [] -> []; _ -> [0,1]+    , \x -> case x of [] -> []; _ -> [1,0]+    , \x -> case x of [] -> []; _ -> [-1]+    , \_ -> [0,0,0,0]+    , \_ -> [0,0,1]+    , \_ -> [0,1,0]+    , \_ -> [0,-1]+    , \_ -> [1,0,0]+    , \_ -> [1,1]+    , \_ -> [-1,0]+    , \_ -> [2]+    ]+  , [ \x -> case x of [] -> [0,0,0,0]; _ -> []+    , \x -> case x of [] -> [0,0,1]; _ -> []+    , \x -> case x of [] -> [0,1,0]; _ -> []+    , \x -> case x of [] -> [0,-1]; _ -> []+    , \x -> case x of [] -> [1,0,0]; _ -> []+    , \x -> case x of [] -> [1,1]; _ -> []+    , \x -> case x of [] -> [-1,0]; _ -> []+    , \x -> case x of [] -> [2]; _ -> []+    , \x -> case x of [0] -> [0,0,0]; _ -> []+    , \x -> case x of [0] -> [0,1]; _ -> []+    , \x -> case x of [0] -> [1,0]; _ -> []+    , \x -> case x of [0] -> [-1]; _ -> []+    , \x -> case x of [] -> [0]; [0] -> [0]; _ -> []+    , \x -> case x of [0,0] -> [0,0]; _ -> []+    , \x -> case x of [0,0] -> [1]; _ -> []+    , \x -> case x of [1] -> [0,0]; _ -> []+    , \x -> case x of [1] -> [1]; _ -> []+    , \x -> case x of [0,0,0] -> [0]; _ -> []+    , \x -> case x of [0,1] -> [0]; _ -> []+    , \x -> case x of [1,0] -> [0]; _ -> []+    , \x -> case x of [-1] -> [0]; _ -> []+    , \x -> case x of [] -> [0,0,0]; _ -> [0]+    , \x -> case x of [] -> [0,1]; _ -> [0]+    , \x -> case x of [] -> [1,0]; _ -> [0]+    , \x -> case x of [] -> [-1]; _ -> [0]+    , \x -> case x of [0] -> [0,0]; _ -> [0]+    , \x -> case x of [0] -> [1]; _ -> [0]+    , \x -> case x of [] -> []; [0,0] -> []; _ -> [0]+    , \x -> case x of [] -> []; [1] -> []; _ -> [0]+    , \x -> case x of [0,0,0] -> []; _ -> [0]+    , \x -> case x of [0,1] -> []; _ -> [0]+    , \x -> case x of [1,0] -> []; _ -> [0]+    , \x -> case x of [-1] -> []; _ -> [0]+    , \x -> case x of [] -> [1]; _ -> [0,0]+    , \x -> case x of [0] -> [0]; _ -> [0,0]+    , \x -> case x of [] -> []; [0] -> []; _ -> [0,0]+    , \x -> case x of [0,0] -> []; _ -> [0,0]+    , \x -> case x of [1] -> []; _ -> [0,0]+    , \x -> case x of [] -> [0,0]; _ -> [1]+    , \x -> case x of [0] -> [0]; _ -> [1]+    , \x -> case x of [] -> []; [0] -> []; _ -> [1]+    , \x -> case x of [0,0] -> []; _ -> [1]+    , \x -> case x of [1] -> []; _ -> [1]+    , \x -> case x of [] -> [0]; _ -> [0,0,0]+    , \x -> case x of [0] -> []; _ -> [0,0,0]+    , \x -> case x of [] -> [0]; _ -> [0,1]+    , \x -> case x of [0] -> []; _ -> [0,1]+    , \x -> case x of [] -> [0]; _ -> [1,0]+    , \x -> case x of [0] -> []; _ -> [1,0]+    , \x -> case x of [] -> [0]; _ -> [-1]+    , \x -> case x of [0] -> []; _ -> [-1]+    , \x -> case x of [] -> []; _ -> [0,0,0,0]+    , \x -> case x of [] -> []; _ -> [0,0,1]+    , \x -> case x of [] -> []; _ -> [0,1,0]+    , \x -> case x of [] -> []; _ -> [0,-1]+    , \x -> case x of [] -> []; _ -> [1,0,0]+    , \x -> case x of [] -> []; _ -> [1,1]+    , \x -> case x of [] -> []; _ -> [-1,0]+    , \x -> case x of [] -> []; _ -> [2]+    , \_ -> [0,0,0,0,0]+    , \_ -> [0,0,0,1]+    , \_ -> [0,0,1,0]+    , \_ -> [0,0,-1]+    , \_ -> [0,1,0,0]+    , \_ -> [0,1,1]+    , \_ -> [0,-1,0]+    , \_ -> [0,2]+    , \_ -> [1,0,0,0]+    , \_ -> [1,0,1]+    , \_ -> [1,1,0]+    , \_ -> [1,-1]+    , \_ -> [-1,0,0]+    , \_ -> [-1,1]+    , \_ -> [2,0]+    , \_ -> [-2]+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-MBool-Bool.txt view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Maybe Bool->Bool ]])  =  [8]++length (list :: [ Maybe Bool->Bool ])  =  8++allUnique (list :: [ Maybe Bool->Bool ])  =  True++ratioRepetitions (list :: [ Maybe Bool->Bool ])  =  0 % 1++tiers :: [Maybe Bool->Bool]  =+  [ [ \_ -> False+    , \x -> case x of Just True -> True; _ -> False+    , \x -> case x of Just False -> True; _ -> False+    , \x -> case x of Nothing -> False; _ -> True+    , \x -> case x of Nothing -> True; _ -> False+    , \x -> case x of Just False -> False; _ -> True+    , \x -> case x of Just True -> False; _ -> True+    , \_ -> True+    ]+  ]
+ bench/tiers-txt/4cases-MBool-MBool.txt view
@@ -0,0 +1,40 @@+map length (tiers :: [[ Maybe Bool->Maybe Bool ]])  =  [1,6,12,8]++length (list :: [ Maybe Bool->Maybe Bool ])  =  Infinity++allUnique (list :: [ Maybe Bool->Maybe Bool ])  =  True++ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ])  =  0 % 1++tiers :: [Maybe Bool->Maybe Bool]  =+  [ [\_ -> Nothing]+  , [ \x -> case x of Just True -> Just False; _ -> Nothing+    , \x -> case x of Just True -> Just True; _ -> Nothing+    , \x -> case x of Just False -> Just False; _ -> Nothing+    , \x -> case x of Just False -> Just True; _ -> Nothing+    , \x -> case x of Nothing -> Just False; _ -> Nothing+    , \x -> case x of Nothing -> Just True; _ -> Nothing+    ]+  , [ \x -> case x of Nothing -> Nothing; _ -> Just False+    , \x -> case x of Nothing -> Nothing; Just False -> Just False; Just True -> Just True+    , \x -> case x of Nothing -> Nothing; Just False -> Just True; Just True -> Just False+    , \x -> case x of Nothing -> Nothing; _ -> Just True+    , \x -> case x of Just False -> Nothing; _ -> Just False+    , \x -> case x of Nothing -> Just False; Just False -> Nothing; Just True -> Just True+    , \x -> case x of Just True -> Nothing; _ -> Just False+    , \x -> case x of Nothing -> Just False; Just False -> Just True; Just True -> Nothing+    , \x -> case x of Nothing -> Just True; Just False -> Nothing; Just True -> Just False+    , \x -> case x of Just False -> Nothing; _ -> Just True+    , \x -> case x of Nothing -> Just True; Just False -> Just False; Just True -> Nothing+    , \x -> case x of Just True -> Nothing; _ -> Just True+    ]+  , [ \_ -> Just False+    , \x -> case x of Just True -> Just True; _ -> Just False+    , \x -> case x of Just False -> Just True; _ -> Just False+    , \x -> case x of Nothing -> Just False; _ -> Just True+    , \x -> case x of Nothing -> Just True; _ -> Just False+    , \x -> case x of Just False -> Just False; _ -> Just True+    , \x -> case x of Just True -> Just False; _ -> Just True+    , \_ -> Just True+    ]+  ]
+ bench/tiers-txt/4cases-Nat,Nat-Nat.txt view
@@ -0,0 +1,79 @@+map length (tiers :: [[ (Nat,Nat)->Nat ]])  =  [1,1,3,7,17,35,...]++length (list :: [ (Nat,Nat)->Nat ])  =  Infinity++allUnique (list :: [ (Nat,Nat)->Nat ])  =  True++ratioRepetitions (list :: [ (Nat,Nat)->Nat ])  =  0 % 1++tiers :: [(Nat,Nat)->Nat]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [ \x -> case x of (0,0) -> 1; _ -> 0+    , \x -> case x of (0,0) -> 0; _ -> 1+    , \_ -> 2+    ]+  , [ \x -> case x of (0,0) -> 2; _ -> 0+    , \x -> case x of (0,1) -> 1; _ -> 0+    , \x -> case x of (1,0) -> 1; _ -> 0+    , \x -> case x of (0,1) -> 0; _ -> 1+    , \x -> case x of (1,0) -> 0; _ -> 1+    , \x -> case x of (0,0) -> 0; _ -> 2+    , \_ -> 3+    ]+  , [ \x -> case x of (0,0) -> 3; _ -> 0+    , \x -> case x of (0,1) -> 2; _ -> 0+    , \x -> case x of (1,0) -> 2; _ -> 0+    , \x -> case x of (0,2) -> 1; _ -> 0+    , \x -> case x of (1,1) -> 1; _ -> 0+    , \x -> case x of (2,0) -> 1; _ -> 0+    , \x -> case x of (0,0) -> 2; _ -> 1+    , \x -> case x of (0,0) -> 0; (0,1) -> 0; _ -> 1+    , \x -> case x of (0,0) -> 0; (1,0) -> 0; _ -> 1+    , \x -> case x of (0,2) -> 0; _ -> 1+    , \x -> case x of (1,1) -> 0; _ -> 1+    , \x -> case x of (2,0) -> 0; _ -> 1+    , \x -> case x of (0,0) -> 1; _ -> 2+    , \x -> case x of (0,1) -> 0; _ -> 2+    , \x -> case x of (1,0) -> 0; _ -> 2+    , \x -> case x of (0,0) -> 0; _ -> 3+    , \_ -> 4+    ]+  , [ \x -> case x of (0,0) -> 4; _ -> 0+    , \x -> case x of (0,1) -> 3; _ -> 0+    , \x -> case x of (1,0) -> 3; _ -> 0+    , \x -> case x of (0,0) -> 1; (0,1) -> 1; _ -> 0+    , \x -> case x of (0,0) -> 1; (1,0) -> 1; _ -> 0+    , \x -> case x of (0,2) -> 2; _ -> 0+    , \x -> case x of (1,1) -> 2; _ -> 0+    , \x -> case x of (2,0) -> 2; _ -> 0+    , \x -> case x of (0,3) -> 1; _ -> 0+    , \x -> case x of (1,2) -> 1; _ -> 0+    , \x -> case x of (2,1) -> 1; _ -> 0+    , \x -> case x of (3,0) -> 1; _ -> 0+    , \x -> case x of (0,0) -> 3; _ -> 1+    , \x -> case x of (0,1) -> 2; _ -> 1+    , \x -> case x of (1,0) -> 2; _ -> 1+    , \x -> case x of (0,0) -> 0; (0,2) -> 0; _ -> 1+    , \x -> case x of (0,0) -> 0; (1,1) -> 0; _ -> 1+    , \x -> case x of (0,0) -> 0; (2,0) -> 0; _ -> 1+    , \x -> case x of (0,1) -> 0; (1,0) -> 0; _ -> 1+    , \x -> case x of (0,3) -> 0; _ -> 1+    , \x -> case x of (1,2) -> 0; _ -> 1+    , \x -> case x of (2,1) -> 0; _ -> 1+    , \x -> case x of (3,0) -> 0; _ -> 1+    , \x -> case x of (0,1) -> 1; _ -> 2+    , \x -> case x of (1,0) -> 1; _ -> 2+    , \x -> case x of (0,0) -> 0; (0,1) -> 0; _ -> 2+    , \x -> case x of (0,0) -> 0; (1,0) -> 0; _ -> 2+    , \x -> case x of (0,2) -> 0; _ -> 2+    , \x -> case x of (1,1) -> 0; _ -> 2+    , \x -> case x of (2,0) -> 0; _ -> 2+    , \x -> case x of (0,0) -> 1; _ -> 3+    , \x -> case x of (0,1) -> 0; _ -> 3+    , \x -> case x of (1,0) -> 0; _ -> 3+    , \x -> case x of (0,0) -> 0; _ -> 4+    , \_ -> 5+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Nat-Nat-Nat.txt view
@@ -0,0 +1,151 @@+map length (tiers :: [[ Nat->Nat->Nat ]])  =  [1,1,5,13,35,81,...]++length (list :: [ Nat->Nat->Nat ])  =  Infinity++allUnique (list :: [ Nat->Nat->Nat ])  =  True++ratioRepetitions (list :: [ Nat->Nat->Nat ])  =  0 % 1++tiers :: [Nat->Nat->Nat]  =+  [ [\_ _ -> 0]+  , [\_ _ -> 1]+  , [ \x _ -> case x of 0 -> 1; _ -> 0+    , \x _ -> case x of 0 -> 0; _ -> 1+    , \_ y -> case y of 0 -> 1; _ -> 0+    , \_ y -> case y of 0 -> 0; _ -> 1+    , \_ _ -> 2+    ]+  , [ \x y -> case (x,y) of (0,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0+    , \x _ -> case x of 0 -> 2; _ -> 0+    , \x _ -> case x of 1 -> 1; _ -> 0+    , \x _ -> case x of 1 -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \x _ -> case x of 0 -> 0; _ -> 2+    , \_ y -> case y of 0 -> 2; _ -> 0+    , \_ y -> case y of 1 -> 1; _ -> 0+    , \_ y -> case y of 1 -> 0; _ -> 1+    , \_ y -> case y of 0 -> 0; _ -> 2+    , \_ _ -> 3+    ]+  , [ \x y -> case (x,y) of (0,0) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,2) -> 1; ...+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; _ -> 0+    , \x _ -> case x of 0 -> 3; _ -> 0+    , \x y -> case (x,y) of (1,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 1; _ -> 0+    , \x _ -> case x of 1 -> 2; _ -> 0+    , \x _ -> case x of 2 -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; _ -> 1+    , \x _ -> case x of 0 -> 2; _ -> 1+    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 1+    , \x _ -> case x of 2 -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,2) -> 0; ...+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 1+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; (1,_) -> 0; _ -> 1+    , \x _ -> case x of 0 -> 1; _ -> 2+    , \x _ -> case x of 1 -> 0; _ -> 2+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; (_,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 2+    , \x _ -> case x of 0 -> 0; _ -> 3+    , \_ y -> case y of 0 -> 3; _ -> 0+    , \_ y -> case y of 1 -> 2; _ -> 0+    , \_ y -> case y of 2 -> 1; _ -> 0+    , \_ y -> case y of 0 -> 2; _ -> 1+    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 1+    , \_ y -> case y of 2 -> 0; _ -> 1+    , \_ y -> case y of 0 -> 1; _ -> 2+    , \_ y -> case y of 1 -> 0; _ -> 2+    , \_ y -> case y of 0 -> 0; _ -> 3+    , \_ _ -> 4+    ]+  , [ \x y -> case (x,y) of (0,0) -> 3; _ -> 0+    , \x y -> case (x,y) of (0,1) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,2) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 2; (0,_) -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 0; (_,1) -> 0; (0,_) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 1; (1,0) -> 0; (0,2) -> 0; ...+    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 2; (0,1) -> 0; (1,0) -> 0; (0,2) -> 2; ...+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 3; _ -> 0+    , \x _ -> case x of 0 -> 4; _ -> 0+    , \x y -> case (x,y) of (1,0) -> 2; _ -> 0+    , \x y -> case (x,y) of (1,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 0; (1,0) -> 1; (0,2) -> 0; ...+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 2; _ -> 0+    , \x _ -> case x of 1 -> 3; _ -> 0+    , \x _ -> case x of 0 -> 1; 1 -> 1; _ -> 0+    , \x y -> case (x,y) of (2,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (2,1) -> 1; (2,2) -> 1; _ -> 0+    , \x _ -> case x of 2 -> 2; _ -> 0+    , \x _ -> case x of 3 -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 2; (0,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,2) -> 0; ...+    , \x y -> case (x,y) of (0,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 2; _ -> 1+    , \x _ -> case x of 0 -> 3; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (1,0) -> 0; _ -> 1+    , \x _ -> case x of 1 -> 2; _ -> 1+    , \x _ -> case x of 0 -> 0; 1 -> 1; 2 -> 0; _ -> 1+    , \x _ -> case x of 3 -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 2; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; (1,_) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (1,_) -> 0; (_,0) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 1; (0,2) -> 0; ...+    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; (_,0) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 2; (_,0) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,2) -> 1; ...+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (_,0) -> 0; (2,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; _ -> 2+    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; _ -> 2+    , \x _ -> case x of 1 -> 1; _ -> 2+    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 2+    , \x _ -> case x of 2 -> 0; _ -> 2+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 2; _ -> 0+    , \x y -> case (x,y) of (0,0) -> 2; (0,1) -> 0; (1,0) -> 0; (0,2) -> 0; ...+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; (_,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,1) -> 1; (2,1) -> 1; (3,1) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (_,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (_,1) -> 0; (1,_) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 2+    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; (1,_) -> 0; _ -> 2+    , \x _ -> case x of 0 -> 1; _ -> 3+    , \x _ -> case x of 1 -> 0; _ -> 3+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 3; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 2; _ -> 0+    , \x y -> case (x,y) of (1,2) -> 1; (2,2) -> 1; _ -> 0+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,2) -> 0; _ -> 1+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 2+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; (_,1) -> 0; _ -> 2+    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 3+    , \x _ -> case x of 0 -> 0; _ -> 4+    , \_ y -> case y of 0 -> 4; _ -> 0+    , \_ y -> case y of 1 -> 3; _ -> 0+    , \_ y -> case y of 0 -> 1; 1 -> 1; _ -> 0+    , \_ y -> case y of 2 -> 2; _ -> 0+    , \_ y -> case y of 3 -> 1; _ -> 0+    , \_ y -> case y of 0 -> 3; _ -> 1+    , \_ y -> case y of 1 -> 2; _ -> 1+    , \_ y -> case y of 0 -> 0; 2 -> 0; _ -> 1+    , \_ y -> case y of 3 -> 0; _ -> 1+    , \_ y -> case y of 1 -> 1; _ -> 2+    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 2+    , \_ y -> case y of 2 -> 0; _ -> 2+    , \_ y -> case y of 0 -> 1; _ -> 3+    , \_ y -> case y of 1 -> 0; _ -> 3+    , \_ y -> case y of 0 -> 0; _ -> 4+    , \_ _ -> 5+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Nat-Nat.txt view
@@ -0,0 +1,212 @@+map length (tiers :: [[ Nat->Nat ]])  =  [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Nat->Nat ])  =  Infinity++allUnique (list :: [ Nat->Nat ])  =  True++ratioRepetitions (list :: [ Nat->Nat ])  =  0 % 1++tiers :: [Nat->Nat]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [ \x -> case x of 0 -> 1; _ -> 0+    , \x -> case x of 0 -> 0; _ -> 1+    , \_ -> 2+    ]+  , [ \x -> case x of 0 -> 2; _ -> 0+    , \x -> case x of 1 -> 1; _ -> 0+    , \x -> case x of 1 -> 0; _ -> 1+    , \x -> case x of 0 -> 0; _ -> 2+    , \_ -> 3+    ]+  , [ \x -> case x of 0 -> 3; _ -> 0+    , \x -> case x of 1 -> 2; _ -> 0+    , \x -> case x of 2 -> 1; _ -> 0+    , \x -> case x of 0 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 1+    , \x -> case x of 2 -> 0; _ -> 1+    , \x -> case x of 0 -> 1; _ -> 2+    , \x -> case x of 1 -> 0; _ -> 2+    , \x -> case x of 0 -> 0; _ -> 3+    , \_ -> 4+    ]+  , [ \x -> case x of 0 -> 4; _ -> 0+    , \x -> case x of 1 -> 3; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 0+    , \x -> case x of 2 -> 2; _ -> 0+    , \x -> case x of 3 -> 1; _ -> 0+    , \x -> case x of 0 -> 3; _ -> 1+    , \x -> case x of 1 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of 3 -> 0; _ -> 1+    , \x -> case x of 1 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 2+    , \x -> case x of 2 -> 0; _ -> 2+    , \x -> case x of 0 -> 1; _ -> 3+    , \x -> case x of 1 -> 0; _ -> 3+    , \x -> case x of 0 -> 0; _ -> 4+    , \_ -> 5+    ]+  , [ \x -> case x of 0 -> 5; _ -> 0+    , \x -> case x of 1 -> 4; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> 2; _ -> 0+    , \x -> case x of 0 -> 2; 1 -> 1; _ -> 0+    , \x -> case x of 2 -> 3; _ -> 0+    , \x -> case x of 0 -> 1; 2 -> 1; _ -> 0+    , \x -> case x of 3 -> 2; _ -> 0+    , \x -> case x of 4 -> 1; _ -> 0+    , \x -> case x of 0 -> 4; _ -> 1+    , \x -> case x of 1 -> 3; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 2; _ -> 1+    , \x -> case x of 0 -> 2; 1 -> 0; _ -> 1+    , \x -> case x of 2 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of 4 -> 0; _ -> 1+    , \x -> case x of 0 -> 3; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 2+    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 2+    , \x -> case x of 2 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 2+    , \x -> case x of 3 -> 0; _ -> 2+    , \x -> case x of 0 -> 2; _ -> 3+    , \x -> case x of 1 -> 1; _ -> 3+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 3+    , \x -> case x of 2 -> 0; _ -> 3+    , \x -> case x of 0 -> 1; _ -> 4+    , \x -> case x of 1 -> 0; _ -> 4+    , \x -> case x of 0 -> 0; _ -> 5+    , \_ -> 6+    ]+  , [ \x -> case x of 0 -> 6; _ -> 0+    , \x -> case x of 1 -> 5; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> 3; _ -> 0+    , \x -> case x of 0 -> 2; 1 -> 2; _ -> 0+    , \x -> case x of 0 -> 3; 1 -> 1; _ -> 0+    , \x -> case x of 2 -> 4; _ -> 0+    , \x -> case x of 0 -> 1; 2 -> 2; _ -> 0+    , \x -> case x of 0 -> 2; 2 -> 1; _ -> 0+    , \x -> case x of 3 -> 3; _ -> 0+    , \x -> case x of 0 -> 1; 3 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; 2 -> 1; _ -> 0+    , \x -> case x of 4 -> 2; _ -> 0+    , \x -> case x of 5 -> 1; _ -> 0+    , \x -> case x of 0 -> 5; _ -> 1+    , \x -> case x of 1 -> 4; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 3; _ -> 1+    , \x -> case x of 0 -> 3; 1 -> 0; _ -> 1+    , \x -> case x of 2 -> 3; _ -> 1+    , \x -> case x of 0 -> 0; 2 -> 2; _ -> 1+    , \x -> case x of 0 -> 2; 2 -> 0; _ -> 1+    , \x -> case x of 3 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 1+    , \x -> case x of 0 -> 0; 4 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; 3 -> 0; _ -> 1+    , \x -> case x of 5 -> 0; _ -> 1+    , \x -> case x of 0 -> 4; _ -> 2+    , \x -> case x of 1 -> 3; _ -> 2+    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 2 -> 1; _ -> 2+    , \x -> case x of 0 -> 1; 2 -> 0; _ -> 2+    , \x -> case x of 3 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 2+    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 2+    , \x -> case x of 4 -> 0; _ -> 2+    , \x -> case x of 1 -> 2; _ -> 3+    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 3+    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 3+    , \x -> case x of 2 -> 1; _ -> 3+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 3+    , \x -> case x of 3 -> 0; _ -> 3+    , \x -> case x of 0 -> 2; _ -> 4+    , \x -> case x of 1 -> 1; _ -> 4+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 4+    , \x -> case x of 2 -> 0; _ -> 4+    , \x -> case x of 0 -> 1; _ -> 5+    , \x -> case x of 1 -> 0; _ -> 5+    , \x -> case x of 0 -> 0; _ -> 6+    , \_ -> 7+    ]+  , [ \x -> case x of 0 -> 7; _ -> 0+    , \x -> case x of 1 -> 6; _ -> 0+    , \x -> case x of 0 -> 1; 1 -> 4; _ -> 0+    , \x -> case x of 0 -> 2; 1 -> 3; _ -> 0+    , \x -> case x of 0 -> 3; 1 -> 2; _ -> 0+    , \x -> case x of 0 -> 4; 1 -> 1; _ -> 0+    , \x -> case x of 2 -> 5; _ -> 0+    , \x -> case x of 0 -> 1; 2 -> 3; _ -> 0+    , \x -> case x of 0 -> 2; 2 -> 2; _ -> 0+    , \x -> case x of 0 -> 3; 2 -> 1; _ -> 0+    , \x -> case x of 3 -> 4; _ -> 0+    , \x -> case x of 0 -> 1; 3 -> 2; _ -> 0+    , \x -> case x of 0 -> 2; 3 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; 2 -> 2; _ -> 0+    , \x -> case x of 1 -> 2; 2 -> 1; _ -> 0+    , \x -> case x of 4 -> 3; _ -> 0+    , \x -> case x of 0 -> 1; 4 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; 3 -> 1; _ -> 0+    , \x -> case x of 5 -> 2; _ -> 0+    , \x -> case x of 6 -> 1; _ -> 0+    , \x -> case x of 0 -> 6; _ -> 1+    , \x -> case x of 1 -> 5; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 4; _ -> 1+    , \x -> case x of 0 -> 2; 1 -> 2; _ -> 1+    , \x -> case x of 0 -> 4; 1 -> 0; _ -> 1+    , \x -> case x of 2 -> 4; _ -> 1+    , \x -> case x of 0 -> 0; 2 -> 3; _ -> 1+    , \x -> case x of 0 -> 3; 2 -> 0; _ -> 1+    , \x -> case x of 3 -> 3; _ -> 1+    , \x -> case x of 0 -> 0; 3 -> 2; _ -> 1+    , \x -> case x of 0 -> 2; 3 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; 2 -> 2; _ -> 1+    , \x -> case x of 1 -> 2; 2 -> 0; _ -> 1+    , \x -> case x of 4 -> 2; _ -> 1+    , \x -> case x of 0 -> 0; 1 -> 0; 3 -> 0; _ -> 1+    , \x -> case x of 0 -> 0; 5 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; 4 -> 0; _ -> 1+    , \x -> case x of 2 -> 0; 3 -> 0; _ -> 1+    , \x -> case x of 6 -> 0; _ -> 1+    , \x -> case x of 0 -> 5; _ -> 2+    , \x -> case x of 1 -> 4; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> 3; _ -> 2+    , \x -> case x of 0 -> 3; 1 -> 0; _ -> 2+    , \x -> case x of 2 -> 3; _ -> 2+    , \x -> case x of 0 -> 1; 2 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 3 -> 1; _ -> 2+    , \x -> case x of 0 -> 1; 3 -> 0; _ -> 2+    , \x -> case x of 1 -> 0; 2 -> 1; _ -> 2+    , \x -> case x of 1 -> 1; 2 -> 0; _ -> 2+    , \x -> case x of 4 -> 1; _ -> 2+    , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 2+    , \x -> case x of 0 -> 0; 4 -> 0; _ -> 2+    , \x -> case x of 1 -> 0; 3 -> 0; _ -> 2+    , \x -> case x of 5 -> 0; _ -> 2+    , \x -> case x of 0 -> 4; _ -> 3+    , \x -> case x of 0 -> 0; 1 -> 2; _ -> 3+    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 3+    , \x -> case x of 0 -> 2; 1 -> 0; _ -> 3+    , \x -> case x of 2 -> 2; _ -> 3+    , \x -> case x of 0 -> 0; 2 -> 1; _ -> 3+    , \x -> case x of 0 -> 1; 2 -> 0; _ -> 3+    , \x -> case x of 3 -> 1; _ -> 3+    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 3+    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 3+    , \x -> case x of 4 -> 0; _ -> 3+    , \x -> case x of 0 -> 3; _ -> 4+    , \x -> case x of 1 -> 2; _ -> 4+    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 4+    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 4+    , \x -> case x of 2 -> 1; _ -> 4+    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 4+    , \x -> case x of 3 -> 0; _ -> 4+    , \x -> case x of 0 -> 2; _ -> 5+    , \x -> case x of 1 -> 1; _ -> 5+    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 5+    , \x -> case x of 2 -> 0; _ -> 5+    , \x -> case x of 0 -> 1; _ -> 6+    , \x -> case x of 1 -> 0; _ -> 6+    , \x -> case x of 0 -> 0; _ -> 7+    , \_ -> 8+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-Nat-U.txt view
@@ -0,0 +1,17 @@+map length (tiers :: [[ Nat->() ]])  =  [1,0,0,0,0,0,...]++length (list :: [ Nat->() ])  =  1++allUnique (list :: [ Nat->() ])  =  True++ratioRepetitions (list :: [ Nat->() ])  =  0 % 1++tiers :: [Nat->()]  =+  [ [\_ -> ()]+  , []+  , []+  , []+  , []+  , []+  , ...+  ]
+ bench/tiers-txt/4cases-Nat2-Nat2.txt view
@@ -0,0 +1,15 @@+map length (tiers :: [[ Nat2->Nat2 ]])  =  [1,2,1]++length (list :: [ Nat2->Nat2 ])  =  4++allUnique (list :: [ Nat2->Nat2 ])  =  True++ratioRepetitions (list :: [ Nat2->Nat2 ])  =  0 % 1++tiers :: [Nat2->Nat2]  =+  [ [\_ -> 0]+  , [ \x -> case x of 0 -> 0; 1 -> 1+    , \x -> case x of 0 -> 1; 1 -> 0+    ]+  , [\_ -> 1]+  ]
+ bench/tiers-txt/4cases-Nat2-Nat3.txt view
@@ -0,0 +1,22 @@+map length (tiers :: [[ Nat2->Nat3 ]])  =  [1,2,3,2,1]++length (list :: [ Nat2->Nat3 ])  =  9++allUnique (list :: [ Nat2->Nat3 ])  =  True++ratioRepetitions (list :: [ Nat2->Nat3 ])  =  0 % 1++tiers :: [Nat2->Nat3]  =+  [ [\_ -> 0]+  , [ \x -> case x of 0 -> 0; 1 -> 1+    , \x -> case x of 0 -> 1; 1 -> 0+    ]+  , [ \x -> case x of 0 -> 0; 1 -> 2+    , \_ -> 1+    , \x -> case x of 0 -> 2; 1 -> 0+    ]+  , [ \x -> case x of 0 -> 1; 1 -> 2+    , \x -> case x of 0 -> 2; 1 -> 1+    ]+  , [\_ -> 2]+  ]
+ bench/tiers-txt/4cases-Nat3-Nat2.txt view
@@ -0,0 +1,20 @@+map length (tiers :: [[ Nat3->Nat2 ]])  =  [1,3,3,1]++length (list :: [ Nat3->Nat2 ])  =  8++allUnique (list :: [ Nat3->Nat2 ])  =  True++ratioRepetitions (list :: [ Nat3->Nat2 ])  =  0 % 1++tiers :: [Nat3->Nat2]  =+  [ [\_ -> 0]+  , [ \x -> case x of 2 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; _ -> 0+    , \x -> case x of 0 -> 1; _ -> 0+    ]+  , [ \x -> case x of 0 -> 0; _ -> 1+    , \x -> case x of 1 -> 0; _ -> 1+    , \x -> case x of 2 -> 0; _ -> 1+    ]+  , [\_ -> 1]+  ]
+ bench/tiers-txt/4cases-Nat3-Nat3.txt view
@@ -0,0 +1,42 @@+map length (tiers :: [[ Nat3->Nat3 ]])  =  [1,3,6,7,6,3,1]++length (list :: [ Nat3->Nat3 ])  =  Infinity++allUnique (list :: [ Nat3->Nat3 ])  =  True++ratioRepetitions (list :: [ Nat3->Nat3 ])  =  0 % 1++tiers :: [Nat3->Nat3]  =+  [ [\_ -> 0]+  , [ \x -> case x of 2 -> 1; _ -> 0+    , \x -> case x of 1 -> 1; _ -> 0+    , \x -> case x of 0 -> 1; _ -> 0+    ]+  , [ \x -> case x of 2 -> 2; _ -> 0+    , \x -> case x of 0 -> 0; _ -> 1+    , \x -> case x of 1 -> 2; _ -> 0+    , \x -> case x of 1 -> 0; _ -> 1+    , \x -> case x of 2 -> 0; _ -> 1+    , \x -> case x of 0 -> 2; _ -> 0+    ]+  , [ \x -> case x of 0 -> 0; 1 -> 1; 2 -> 2+    , \x -> case x of 0 -> 0; 1 -> 2; 2 -> 1+    , \x -> case x of 0 -> 1; 1 -> 0; 2 -> 2+    , \_ -> 1+    , \x -> case x of 0 -> 1; 1 -> 2; 2 -> 0+    , \x -> case x of 0 -> 2; 1 -> 0; 2 -> 1+    , \x -> case x of 0 -> 2; 1 -> 1; 2 -> 0+    ]+  , [ \x -> case x of 0 -> 0; _ -> 2+    , \x -> case x of 2 -> 2; _ -> 1+    , \x -> case x of 1 -> 2; _ -> 1+    , \x -> case x of 1 -> 0; _ -> 2+    , \x -> case x of 0 -> 2; _ -> 1+    , \x -> case x of 2 -> 0; _ -> 2+    ]+  , [ \x -> case x of 0 -> 1; _ -> 2+    , \x -> case x of 1 -> 1; _ -> 2+    , \x -> case x of 2 -> 1; _ -> 2+    ]+  , [\_ -> 2]+  ]
+ bench/tiers-txt/4cases-Nats-Nats.txt view
@@ -0,0 +1,135 @@+map length (tiers :: [[ [Nat]->[Nat] ]])  =  [1,1,4,10,29,75,...]++length (list :: [ [Nat]->[Nat] ])  =  Infinity++allUnique (list :: [ [Nat]->[Nat] ])  =  True++ratioRepetitions (list :: [ [Nat]->[Nat] ])  =  0 % 1++tiers :: [[Nat]->[Nat]]  =+  [ [\_ -> []]+  , [\_ -> [0]]+  , [ \x -> case x of [] -> [0]; _ -> []+    , \x -> case x of [] -> []; _ -> [0]+    , \_ -> [0,0]+    , \_ -> [1]+    ]+  , [ \x -> case x of [] -> [0,0]; _ -> []+    , \x -> case x of [] -> [1]; _ -> []+    , \x -> case x of [0] -> [0]; _ -> []+    , \x -> case x of [0] -> []; _ -> [0]+    , \x -> case x of [] -> []; _ -> [0,0]+    , \x -> case x of [] -> []; _ -> [1]+    , \_ -> [0,0,0]+    , \_ -> [0,1]+    , \_ -> [1,0]+    , \_ -> [2]+    ]+  , [ \x -> case x of [] -> [0,0,0]; _ -> []+    , \x -> case x of [] -> [0,1]; _ -> []+    , \x -> case x of [] -> [1,0]; _ -> []+    , \x -> case x of [] -> [2]; _ -> []+    , \x -> case x of [0] -> [0,0]; _ -> []+    , \x -> case x of [0] -> [1]; _ -> []+    , \x -> case x of [0,0] -> [0]; _ -> []+    , \x -> case x of [1] -> [0]; _ -> []+    , \x -> case x of [] -> [0,0]; _ -> [0]+    , \x -> case x of [] -> [1]; _ -> [0]+    , \x -> case x of [] -> []; [0] -> []; _ -> [0]+    , \x -> case x of [0,0] -> []; _ -> [0]+    , \x -> case x of [1] -> []; _ -> [0]+    , \x -> case x of [] -> [0]; _ -> [0,0]+    , \x -> case x of [0] -> []; _ -> [0,0]+    , \x -> case x of [] -> [0]; _ -> [1]+    , \x -> case x of [0] -> []; _ -> [1]+    , \x -> case x of [] -> []; _ -> [0,0,0]+    , \x -> case x of [] -> []; _ -> [0,1]+    , \x -> case x of [] -> []; _ -> [1,0]+    , \x -> case x of [] -> []; _ -> [2]+    , \_ -> [0,0,0,0]+    , \_ -> [0,0,1]+    , \_ -> [0,1,0]+    , \_ -> [0,2]+    , \_ -> [1,0,0]+    , \_ -> [1,1]+    , \_ -> [2,0]+    , \_ -> [3]+    ]+  , [ \x -> case x of [] -> [0,0,0,0]; _ -> []+    , \x -> case x of [] -> [0,0,1]; _ -> []+    , \x -> case x of [] -> [0,1,0]; _ -> []+    , \x -> case x of [] -> [0,2]; _ -> []+    , \x -> case x of [] -> [1,0,0]; _ -> []+    , \x -> case x of [] -> [1,1]; _ -> []+    , \x -> case x of [] -> [2,0]; _ -> []+    , \x -> case x of [] -> [3]; _ -> []+    , \x -> case x of [0] -> [0,0,0]; _ -> []+    , \x -> case x of [0] -> [0,1]; _ -> []+    , \x -> case x of [0] -> [1,0]; _ -> []+    , \x -> case x of [0] -> [2]; _ -> []+    , \x -> case x of [] -> [0]; [0] -> [0]; _ -> []+    , \x -> case x of [0,0] -> [0,0]; _ -> []+    , \x -> case x of [0,0] -> [1]; _ -> []+    , \x -> case x of [1] -> [0,0]; _ -> []+    , \x -> case x of [1] -> [1]; _ -> []+    , \x -> case x of [0,0,0] -> [0]; _ -> []+    , \x -> case x of [0,1] -> [0]; _ -> []+    , \x -> case x of [1,0] -> [0]; _ -> []+    , \x -> case x of [2] -> [0]; _ -> []+    , \x -> case x of [] -> [0,0,0]; _ -> [0]+    , \x -> case x of [] -> [0,1]; _ -> [0]+    , \x -> case x of [] -> [1,0]; _ -> [0]+    , \x -> case x of [] -> [2]; _ -> [0]+    , \x -> case x of [0] -> [0,0]; _ -> [0]+    , \x -> case x of [0] -> [1]; _ -> [0]+    , \x -> case x of [] -> []; [0,0] -> []; _ -> [0]+    , \x -> case x of [] -> []; [1] -> []; _ -> [0]+    , \x -> case x of [0,0,0] -> []; _ -> [0]+    , \x -> case x of [0,1] -> []; _ -> [0]+    , \x -> case x of [1,0] -> []; _ -> [0]+    , \x -> case x of [2] -> []; _ -> [0]+    , \x -> case x of [] -> [1]; _ -> [0,0]+    , \x -> case x of [0] -> [0]; _ -> [0,0]+    , \x -> case x of [] -> []; [0] -> []; _ -> [0,0]+    , \x -> case x of [0,0] -> []; _ -> [0,0]+    , \x -> case x of [1] -> []; _ -> [0,0]+    , \x -> case x of [] -> [0,0]; _ -> [1]+    , \x -> case x of [0] -> [0]; _ -> [1]+    , \x -> case x of [] -> []; [0] -> []; _ -> [1]+    , \x -> case x of [0,0] -> []; _ -> [1]+    , \x -> case x of [1] -> []; _ -> [1]+    , \x -> case x of [] -> [0]; _ -> [0,0,0]+    , \x -> case x of [0] -> []; _ -> [0,0,0]+    , \x -> case x of [] -> [0]; _ -> [0,1]+    , \x -> case x of [0] -> []; _ -> [0,1]+    , \x -> case x of [] -> [0]; _ -> [1,0]+    , \x -> case x of [0] -> []; _ -> [1,0]+    , \x -> case x of [] -> [0]; _ -> [2]+    , \x -> case x of [0] -> []; _ -> [2]+    , \x -> case x of [] -> []; _ -> [0,0,0,0]+    , \x -> case x of [] -> []; _ -> [0,0,1]+    , \x -> case x of [] -> []; _ -> [0,1,0]+    , \x -> case x of [] -> []; _ -> [0,2]+    , \x -> case x of [] -> []; _ -> [1,0,0]+    , \x -> case x of [] -> []; _ -> [1,1]+    , \x -> case x of [] -> []; _ -> [2,0]+    , \x -> case x of [] -> []; _ -> [3]+    , \_ -> [0,0,0,0,0]+    , \_ -> [0,0,0,1]+    , \_ -> [0,0,1,0]+    , \_ -> [0,0,2]+    , \_ -> [0,1,0,0]+    , \_ -> [0,1,1]+    , \_ -> [0,2,0]+    , \_ -> [0,3]+    , \_ -> [1,0,0,0]+    , \_ -> [1,0,1]+    , \_ -> [1,1,0]+    , \_ -> [1,2]+    , \_ -> [2,0,0]+    , \_ -> [2,1]+    , \_ -> [3,0]+    , \_ -> [4]+    ]+  , ...+  ]
+ bench/tiers-txt/4cases-U-Bool.txt view
@@ -0,0 +1,13 @@+map length (tiers :: [[ ()->Bool ]])  =  [2]++length (list :: [ ()->Bool ])  =  2++allUnique (list :: [ ()->Bool ])  =  True++ratioRepetitions (list :: [ ()->Bool ])  =  0 % 1++tiers :: [()->Bool]  =+  [ [ \_ -> False+    , \_ -> True+    ]+  ]
+ bench/tiers-txt/4cases-U-Nat.txt view
@@ -0,0 +1,17 @@+map length (tiers :: [[ ()->Nat ]])  =  [1,1,1,1,1,1,...]++length (list :: [ ()->Nat ])  =  Infinity++allUnique (list :: [ ()->Nat ])  =  True++ratioRepetitions (list :: [ ()->Nat ])  =  0 % 1++tiers :: [()->Nat]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [\_ -> 2]+  , [\_ -> 3]+  , [\_ -> 4]+  , [\_ -> 5]+  , ...+  ]
+ bench/tiers-txt/4cases-U-U.txt view
@@ -0,0 +1,10 @@+map length (tiers :: [[ ()->() ]])  =  [1]++length (list :: [ ()->() ])  =  1++allUnique (list :: [ ()->() ])  =  True++ratioRepetitions (list :: [ ()->() ])  =  0 % 1++tiers :: [()->()]  =+  [[\_ -> ()]]
+ bench/tiers-txt/4cases-Us-Us.txt view
@@ -0,0 +1,51 @@+map length (tiers :: [[ [()]->[()] ]])  =  [1,1,3,5,10,16,...]++length (list :: [ [()]->[()] ])  =  Infinity++allUnique (list :: [ [()]->[()] ])  =  True++ratioRepetitions (list :: [ [()]->[()] ])  =  0 % 1++tiers :: [[()]->[()]]  =+  [ [\_ -> []]+  , [\_ -> [()]]+  , [ \x -> case x of [] -> [()]; _ -> []+    , \x -> case x of [] -> []; _ -> [()]+    , \_ -> [(),()]+    ]+  , [ \x -> case x of [] -> [(),()]; _ -> []+    , \x -> case x of [()] -> [()]; _ -> []+    , \x -> case x of [()] -> []; _ -> [()]+    , \x -> case x of [] -> []; _ -> [(),()]+    , \_ -> [(),(),()]+    ]+  , [ \x -> case x of [] -> [(),(),()]; _ -> []+    , \x -> case x of [()] -> [(),()]; _ -> []+    , \x -> case x of [(),()] -> [()]; _ -> []+    , \x -> case x of [] -> [(),()]; _ -> [()]+    , \x -> case x of [] -> []; [()] -> []; _ -> [()]+    , \x -> case x of [(),()] -> []; _ -> [()]+    , \x -> case x of [] -> [()]; _ -> [(),()]+    , \x -> case x of [()] -> []; _ -> [(),()]+    , \x -> case x of [] -> []; _ -> [(),(),()]+    , \_ -> [(),(),(),()]+    ]+  , [ \x -> case x of [] -> [(),(),(),()]; _ -> []+    , \x -> case x of [()] -> [(),(),()]; _ -> []+    , \x -> case x of [] -> [()]; [()] -> [()]; _ -> []+    , \x -> case x of [(),()] -> [(),()]; _ -> []+    , \x -> case x of [(),(),()] -> [()]; _ -> []+    , \x -> case x of [] -> [(),(),()]; _ -> [()]+    , \x -> case x of [()] -> [(),()]; _ -> [()]+    , \x -> case x of [] -> []; [(),()] -> []; _ -> [()]+    , \x -> case x of [(),(),()] -> []; _ -> [()]+    , \x -> case x of [()] -> [()]; _ -> [(),()]+    , \x -> case x of [] -> []; [()] -> []; _ -> [(),()]+    , \x -> case x of [(),()] -> []; _ -> [(),()]+    , \x -> case x of [] -> [()]; _ -> [(),(),()]+    , \x -> case x of [()] -> []; _ -> [(),(),()]+    , \x -> case x of [] -> []; _ -> [(),(),(),()]+    , \_ -> [(),(),(),(),()]+    ]+  , ...+  ]
+ bench/tiers-txt/BagBool.txt view
@@ -0,0 +1,100 @@+map length (tiers :: [[ Bag Bool ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ Bag Bool ])  =  Infinity++allUnique (list :: [ Bag Bool ])  =  True++ratioRepetitions (list :: [ Bag Bool ])  =  0 % 1++tiers :: [Bag Bool]  =+  [ [Bag []]+  , [ Bag [False]+    , Bag [True]+    ]+  , [ Bag [False,False]+    , Bag [False,True]+    , Bag [True,True]+    ]+  , [ Bag [False,False,False]+    , Bag [False,False,True]+    , Bag [False,True,True]+    , Bag [True,True,True]+    ]+  , [ Bag [False,False,False,False]+    , Bag [False,False,False,True]+    , Bag [False,False,True,True]+    , Bag [False,True,True,True]+    , Bag [True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False]+    , Bag [False,False,False,False,True]+    , Bag [False,False,False,True,True]+    , Bag [False,False,True,True,True]+    , Bag [False,True,True,True,True]+    , Bag [True,True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False,False]+    , Bag [False,False,False,False,False,True]+    , Bag [False,False,False,False,True,True]+    , Bag [False,False,False,True,True,True]+    , Bag [False,False,True,True,True,True]+    , Bag [False,True,True,True,True,True]+    , Bag [True,True,True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False,False,False]+    , Bag [False,False,False,False,False,False,True]+    , Bag [False,False,False,False,False,True,True]+    , Bag [False,False,False,False,True,True,True]+    , Bag [False,False,False,True,True,True,True]+    , Bag [False,False,True,True,True,True,True]+    , Bag [False,True,True,True,True,True,True]+    , Bag [True,True,True,True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False,False,False,False]+    , Bag [False,False,False,False,False,False,False,True]+    , Bag [False,False,False,False,False,False,True,True]+    , Bag [False,False,False,False,False,True,True,True]+    , Bag [False,False,False,False,True,True,True,True]+    , Bag [False,False,False,True,True,True,True,True]+    , Bag [False,False,True,True,True,True,True,True]+    , Bag [False,True,True,True,True,True,True,True]+    , Bag [True,True,True,True,True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False,False,False,False,False]+    , Bag [False,False,False,False,False,False,False,False,True]+    , Bag [False,False,False,False,False,False,False,True,True]+    , Bag [False,False,False,False,False,False,True,True,True]+    , Bag [False,False,False,False,False,True,True,True,True]+    , Bag [False,False,False,False,True,True,True,True,True]+    , Bag [False,False,False,True,True,True,True,True,True]+    , Bag [False,False,True,True,True,True,True,True,True]+    , Bag [False,True,True,True,True,True,True,True,True]+    , Bag [True,True,True,True,True,True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False,False,False,False,False,False]+    , Bag [False,False,False,False,False,False,False,False,False,True]+    , Bag [False,False,False,False,False,False,False,False,True,True]+    , Bag [False,False,False,False,False,False,False,True,True,True]+    , Bag [False,False,False,False,False,False,True,True,True,True]+    , Bag [False,False,False,False,False,True,True,True,True,True]+    , Bag [False,False,False,False,True,True,True,True,True,True]+    , Bag [False,False,False,True,True,True,True,True,True,True]+    , Bag [False,False,True,True,True,True,True,True,True,True]+    , Bag [False,True,True,True,True,True,True,True,True,True]+    , Bag [True,True,True,True,True,True,True,True,True,True]+    ]+  , [ Bag [False,False,False,False,False,False,False,False,False,False,False]+    , Bag [False,False,False,False,False,False,False,False,False,False,True]+    , Bag [False,False,False,False,False,False,False,False,False,True,True]+    , Bag [False,False,False,False,False,False,False,False,True,True,True]+    , Bag [False,False,False,False,False,False,False,True,True,True,True]+    , Bag [False,False,False,False,False,False,True,True,True,True,True]+    , Bag [False,False,False,False,False,True,True,True,True,True,True]+    , Bag [False,False,False,False,True,True,True,True,True,True,True]+    , Bag [False,False,False,True,True,True,True,True,True,True,True]+    , Bag [False,False,True,True,True,True,True,True,True,True,True]+    , Bag [False,True,True,True,True,True,True,True,True,True,True]+    , Bag [True,True,True,True,True,True,True,True,True,True,True]+    ]+  , ...+  ]
+ bench/tiers-txt/BagNat.txt view
@@ -0,0 +1,216 @@+map length (tiers :: [[ Bag Nat ]])  =  [1,1,2,3,5,7,11,15,22,30,42,56,...]++length (list :: [ Bag Nat ])  =  Infinity++allUnique (list :: [ Bag Nat ])  =  True++ratioRepetitions (list :: [ Bag Nat ])  =  0 % 1++tiers :: [Bag Nat]  =+  [ [Bag []]+  , [Bag [0]]+  , [ Bag [0,0]+    , Bag [1]+    ]+  , [ Bag [0,0,0]+    , Bag [0,1]+    , Bag [2]+    ]+  , [ Bag [0,0,0,0]+    , Bag [0,0,1]+    , Bag [0,2]+    , Bag [1,1]+    , Bag [3]+    ]+  , [ Bag [0,0,0,0,0]+    , Bag [0,0,0,1]+    , Bag [0,0,2]+    , Bag [0,1,1]+    , Bag [0,3]+    , Bag [1,2]+    , Bag [4]+    ]+  , [ Bag [0,0,0,0,0,0]+    , Bag [0,0,0,0,1]+    , Bag [0,0,0,2]+    , Bag [0,0,1,1]+    , Bag [0,0,3]+    , Bag [0,1,2]+    , Bag [0,4]+    , Bag [1,1,1]+    , Bag [1,3]+    , Bag [2,2]+    , Bag [5]+    ]+  , [ Bag [0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,1]+    , Bag [0,0,0,0,2]+    , Bag [0,0,0,1,1]+    , Bag [0,0,0,3]+    , Bag [0,0,1,2]+    , Bag [0,0,4]+    , Bag [0,1,1,1]+    , Bag [0,1,3]+    , Bag [0,2,2]+    , Bag [0,5]+    , Bag [1,1,2]+    , Bag [1,4]+    , Bag [2,3]+    , Bag [6]+    ]+  , [ Bag [0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,2]+    , Bag [0,0,0,0,1,1]+    , Bag [0,0,0,0,3]+    , Bag [0,0,0,1,2]+    , Bag [0,0,0,4]+    , Bag [0,0,1,1,1]+    , Bag [0,0,1,3]+    , Bag [0,0,2,2]+    , Bag [0,0,5]+    , Bag [0,1,1,2]+    , Bag [0,1,4]+    , Bag [0,2,3]+    , Bag [0,6]+    , Bag [1,1,1,1]+    , Bag [1,1,3]+    , Bag [1,2,2]+    , Bag [1,5]+    , Bag [2,4]+    , Bag [3,3]+    , Bag [7]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,2]+    , Bag [0,0,0,0,0,1,1]+    , Bag [0,0,0,0,0,3]+    , Bag [0,0,0,0,1,2]+    , Bag [0,0,0,0,4]+    , Bag [0,0,0,1,1,1]+    , Bag [0,0,0,1,3]+    , Bag [0,0,0,2,2]+    , Bag [0,0,0,5]+    , Bag [0,0,1,1,2]+    , Bag [0,0,1,4]+    , Bag [0,0,2,3]+    , Bag [0,0,6]+    , Bag [0,1,1,1,1]+    , Bag [0,1,1,3]+    , Bag [0,1,2,2]+    , Bag [0,1,5]+    , Bag [0,2,4]+    , Bag [0,3,3]+    , Bag [0,7]+    , Bag [1,1,1,2]+    , Bag [1,1,4]+    , Bag [1,2,3]+    , Bag [1,6]+    , Bag [2,2,2]+    , Bag [2,5]+    , Bag [3,4]+    , Bag [8]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,0,2]+    , Bag [0,0,0,0,0,0,1,1]+    , Bag [0,0,0,0,0,0,3]+    , Bag [0,0,0,0,0,1,2]+    , Bag [0,0,0,0,0,4]+    , Bag [0,0,0,0,1,1,1]+    , Bag [0,0,0,0,1,3]+    , Bag [0,0,0,0,2,2]+    , Bag [0,0,0,0,5]+    , Bag [0,0,0,1,1,2]+    , Bag [0,0,0,1,4]+    , Bag [0,0,0,2,3]+    , Bag [0,0,0,6]+    , Bag [0,0,1,1,1,1]+    , Bag [0,0,1,1,3]+    , Bag [0,0,1,2,2]+    , Bag [0,0,1,5]+    , Bag [0,0,2,4]+    , Bag [0,0,3,3]+    , Bag [0,0,7]+    , Bag [0,1,1,1,2]+    , Bag [0,1,1,4]+    , Bag [0,1,2,3]+    , Bag [0,1,6]+    , Bag [0,2,2,2]+    , Bag [0,2,5]+    , Bag [0,3,4]+    , Bag [0,8]+    , Bag [1,1,1,1,1]+    , Bag [1,1,1,3]+    , Bag [1,1,2,2]+    , Bag [1,1,5]+    , Bag [1,2,4]+    , Bag [1,3,3]+    , Bag [1,7]+    , Bag [2,2,3]+    , Bag [2,6]+    , Bag [3,5]+    , Bag [4,4]+    , Bag [9]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,0,0,2]+    , Bag [0,0,0,0,0,0,0,1,1]+    , Bag [0,0,0,0,0,0,0,3]+    , Bag [0,0,0,0,0,0,1,2]+    , Bag [0,0,0,0,0,0,4]+    , Bag [0,0,0,0,0,1,1,1]+    , Bag [0,0,0,0,0,1,3]+    , Bag [0,0,0,0,0,2,2]+    , Bag [0,0,0,0,0,5]+    , Bag [0,0,0,0,1,1,2]+    , Bag [0,0,0,0,1,4]+    , Bag [0,0,0,0,2,3]+    , Bag [0,0,0,0,6]+    , Bag [0,0,0,1,1,1,1]+    , Bag [0,0,0,1,1,3]+    , Bag [0,0,0,1,2,2]+    , Bag [0,0,0,1,5]+    , Bag [0,0,0,2,4]+    , Bag [0,0,0,3,3]+    , Bag [0,0,0,7]+    , Bag [0,0,1,1,1,2]+    , Bag [0,0,1,1,4]+    , Bag [0,0,1,2,3]+    , Bag [0,0,1,6]+    , Bag [0,0,2,2,2]+    , Bag [0,0,2,5]+    , Bag [0,0,3,4]+    , Bag [0,0,8]+    , Bag [0,1,1,1,1,1]+    , Bag [0,1,1,1,3]+    , Bag [0,1,1,2,2]+    , Bag [0,1,1,5]+    , Bag [0,1,2,4]+    , Bag [0,1,3,3]+    , Bag [0,1,7]+    , Bag [0,2,2,3]+    , Bag [0,2,6]+    , Bag [0,3,5]+    , Bag [0,4,4]+    , Bag [0,9]+    , Bag [1,1,1,1,2]+    , Bag [1,1,1,4]+    , Bag [1,1,2,3]+    , Bag [1,1,6]+    , Bag [1,2,2,2]+    , Bag [1,2,5]+    , Bag [1,3,4]+    , Bag [1,8]+    , Bag [2,2,4]+    , Bag [2,3,3]+    , Bag [2,7]+    , Bag [3,6]+    , Bag [4,5]+    , Bag [10]+    ]+  , ...+  ]
+ bench/tiers-txt/BagNat2.txt view
@@ -0,0 +1,63 @@+map length (tiers :: [[ Bag Nat2 ]])  =  [1,1,2,2,3,3,4,4,5,5,6,6,...]++length (list :: [ Bag Nat2 ])  =  Infinity++allUnique (list :: [ Bag Nat2 ])  =  True++ratioRepetitions (list :: [ Bag Nat2 ])  =  0 % 1++tiers :: [Bag Nat2]  =+  [ [Bag []]+  , [Bag [0]]+  , [ Bag [0,0]+    , Bag [1]+    ]+  , [ Bag [0,0,0]+    , Bag [0,1]+    ]+  , [ Bag [0,0,0,0]+    , Bag [0,0,1]+    , Bag [1,1]+    ]+  , [ Bag [0,0,0,0,0]+    , Bag [0,0,0,1]+    , Bag [0,1,1]+    ]+  , [ Bag [0,0,0,0,0,0]+    , Bag [0,0,0,0,1]+    , Bag [0,0,1,1]+    , Bag [1,1,1]+    ]+  , [ Bag [0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,1]+    , Bag [0,0,0,1,1]+    , Bag [0,1,1,1]+    ]+  , [ Bag [0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,1]+    , Bag [0,0,0,0,1,1]+    , Bag [0,0,1,1,1]+    , Bag [1,1,1,1]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,1,1]+    , Bag [0,0,0,1,1,1]+    , Bag [0,1,1,1,1]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,1,1]+    , Bag [0,0,0,0,1,1,1]+    , Bag [0,0,1,1,1,1]+    , Bag [1,1,1,1,1]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,0,1,1]+    , Bag [0,0,0,0,0,1,1,1]+    , Bag [0,0,0,1,1,1,1]+    , Bag [0,1,1,1,1,1]+    ]+  , ...+  ]
+ bench/tiers-txt/BagNat3.txt view
@@ -0,0 +1,104 @@+map length (tiers :: [[ Bag Nat3 ]])  =  [1,1,2,3,4,5,7,8,10,12,14,16,...]++length (list :: [ Bag Nat3 ])  =  Infinity++allUnique (list :: [ Bag Nat3 ])  =  True++ratioRepetitions (list :: [ Bag Nat3 ])  =  0 % 1++tiers :: [Bag Nat3]  =+  [ [Bag []]+  , [Bag [0]]+  , [ Bag [0,0]+    , Bag [1]+    ]+  , [ Bag [0,0,0]+    , Bag [0,1]+    , Bag [2]+    ]+  , [ Bag [0,0,0,0]+    , Bag [0,0,1]+    , Bag [0,2]+    , Bag [1,1]+    ]+  , [ Bag [0,0,0,0,0]+    , Bag [0,0,0,1]+    , Bag [0,0,2]+    , Bag [0,1,1]+    , Bag [1,2]+    ]+  , [ Bag [0,0,0,0,0,0]+    , Bag [0,0,0,0,1]+    , Bag [0,0,0,2]+    , Bag [0,0,1,1]+    , Bag [0,1,2]+    , Bag [1,1,1]+    , Bag [2,2]+    ]+  , [ Bag [0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,1]+    , Bag [0,0,0,0,2]+    , Bag [0,0,0,1,1]+    , Bag [0,0,1,2]+    , Bag [0,1,1,1]+    , Bag [0,2,2]+    , Bag [1,1,2]+    ]+  , [ Bag [0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,2]+    , Bag [0,0,0,0,1,1]+    , Bag [0,0,0,1,2]+    , Bag [0,0,1,1,1]+    , Bag [0,0,2,2]+    , Bag [0,1,1,2]+    , Bag [1,1,1,1]+    , Bag [1,2,2]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,2]+    , Bag [0,0,0,0,0,1,1]+    , Bag [0,0,0,0,1,2]+    , Bag [0,0,0,1,1,1]+    , Bag [0,0,0,2,2]+    , Bag [0,0,1,1,2]+    , Bag [0,1,1,1,1]+    , Bag [0,1,2,2]+    , Bag [1,1,1,2]+    , Bag [2,2,2]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,0,2]+    , Bag [0,0,0,0,0,0,1,1]+    , Bag [0,0,0,0,0,1,2]+    , Bag [0,0,0,0,1,1,1]+    , Bag [0,0,0,0,2,2]+    , Bag [0,0,0,1,1,2]+    , Bag [0,0,1,1,1,1]+    , Bag [0,0,1,2,2]+    , Bag [0,1,1,1,2]+    , Bag [0,2,2,2]+    , Bag [1,1,1,1,1]+    , Bag [1,1,2,2]+    ]+  , [ Bag [0,0,0,0,0,0,0,0,0,0,0]+    , Bag [0,0,0,0,0,0,0,0,0,1]+    , Bag [0,0,0,0,0,0,0,0,2]+    , Bag [0,0,0,0,0,0,0,1,1]+    , Bag [0,0,0,0,0,0,1,2]+    , Bag [0,0,0,0,0,1,1,1]+    , Bag [0,0,0,0,0,2,2]+    , Bag [0,0,0,0,1,1,2]+    , Bag [0,0,0,1,1,1,1]+    , Bag [0,0,0,1,2,2]+    , Bag [0,0,1,1,1,2]+    , Bag [0,0,2,2,2]+    , Bag [0,1,1,1,1,1]+    , Bag [0,1,1,2,2]+    , Bag [1,1,1,1,2]+    , Bag [1,2,2,2]+    ]+  , ...+  ]
+ bench/tiers-txt/BagU.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Bag () ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Bag () ])  =  Infinity++allUnique (list :: [ Bag () ])  =  True++ratioRepetitions (list :: [ Bag () ])  =  0 % 1++tiers :: [Bag ()]  =+  [ [Bag []]+  , [Bag [()]]+  , [Bag [(),()]]+  , [Bag [(),(),()]]+  , [Bag [(),(),(),()]]+  , [Bag [(),(),(),(),()]]+  , [Bag [(),(),(),(),(),()]]+  , [Bag [(),(),(),(),(),(),()]]+  , [Bag [(),(),(),(),(),(),(),()]]+  , [Bag [(),(),(),(),(),(),(),(),()]]+  , [Bag [(),(),(),(),(),(),(),(),(),()]]+  , [Bag [(),(),(),(),(),(),(),(),(),(),()]]+  , ...+  ]
+ bench/tiers-txt/Bool.txt view
@@ -0,0 +1,13 @@+map length (tiers :: [[ Bool ]])  =  [2]++length (list :: [ Bool ])  =  2++allUnique (list :: [ Bool ])  =  True++ratioRepetitions (list :: [ Bool ])  =  0 % 1++tiers :: [Bool]  =+  [ [ False+    , True+    ]+  ]
+ bench/tiers-txt/Bools.txt view
@@ -0,0 +1,79 @@+map length (tiers :: [[ [Bool] ]])  =  [1,2,4,8,16,32,...]++length (list :: [ [Bool] ])  =  Infinity++allUnique (list :: [ [Bool] ])  =  True++ratioRepetitions (list :: [ [Bool] ])  =  0 % 1++tiers :: [[Bool]]  =+  [ [[]]+  , [ [False]+    , [True]+    ]+  , [ [False,False]+    , [False,True]+    , [True,False]+    , [True,True]+    ]+  , [ [False,False,False]+    , [False,False,True]+    , [False,True,False]+    , [False,True,True]+    , [True,False,False]+    , [True,False,True]+    , [True,True,False]+    , [True,True,True]+    ]+  , [ [False,False,False,False]+    , [False,False,False,True]+    , [False,False,True,False]+    , [False,False,True,True]+    , [False,True,False,False]+    , [False,True,False,True]+    , [False,True,True,False]+    , [False,True,True,True]+    , [True,False,False,False]+    , [True,False,False,True]+    , [True,False,True,False]+    , [True,False,True,True]+    , [True,True,False,False]+    , [True,True,False,True]+    , [True,True,True,False]+    , [True,True,True,True]+    ]+  , [ [False,False,False,False,False]+    , [False,False,False,False,True]+    , [False,False,False,True,False]+    , [False,False,False,True,True]+    , [False,False,True,False,False]+    , [False,False,True,False,True]+    , [False,False,True,True,False]+    , [False,False,True,True,True]+    , [False,True,False,False,False]+    , [False,True,False,False,True]+    , [False,True,False,True,False]+    , [False,True,False,True,True]+    , [False,True,True,False,False]+    , [False,True,True,False,True]+    , [False,True,True,True,False]+    , [False,True,True,True,True]+    , [True,False,False,False,False]+    , [True,False,False,False,True]+    , [True,False,False,True,False]+    , [True,False,False,True,True]+    , [True,False,True,False,False]+    , [True,False,True,False,True]+    , [True,False,True,True,False]+    , [True,False,True,True,True]+    , [True,True,False,False,False]+    , [True,True,False,False,True]+    , [True,True,False,True,False]+    , [True,True,False,True,True]+    , [True,True,True,False,False]+    , [True,True,True,False,True]+    , [True,True,True,True,False]+    , [True,True,True,True,True]+    ]+  , ...+  ]
+ bench/tiers-txt/Char.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Char ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Char ])  =  Infinity++allUnique (list :: [ Char ])  =  True++ratioRepetitions (list :: [ Char ])  =  0 % 1++tiers :: [Char]  =+  [ ['a']+  , [' ']+  , ['b']+  , ['A']+  , ['c']+  , ['\n']+  , ['d']+  , ['0']+  , ['e']+  , ['B']+  , ['f']+  , ['!']+  , ...+  ]
+ bench/tiers-txt/ComplexDouble.txt view
@@ -0,0 +1,88 @@+map length (tiers :: [[ Complex Double ]])  =  [0,1,2,3,4,5,6,7,8,9,10,11,...]++length (list :: [ Complex Double ])  =  Infinity++allUnique (list :: [ Complex Double ])  =  True++ratioRepetitions (list :: [ Complex Double ])  =  0 % 1++tiers :: [Complex Double]  =+  [ []+  , [0.0 :+ 0.0]+  , [ 0.0 :+ 1.0+    , 1.0 :+ 0.0+    ]+  , [ 0.0 :+ (-1.0)+    , 1.0 :+ 1.0+    , (-1.0) :+ 0.0+    ]+  , [ 0.0 :+ 0.5+    , 1.0 :+ (-1.0)+    , (-1.0) :+ 1.0+    , 0.5 :+ 0.0+    ]+  , [ 0.0 :+ (-0.5)+    , 1.0 :+ 0.5+    , (-1.0) :+ (-1.0)+    , 0.5 :+ 1.0+    , (-0.5) :+ 0.0+    ]+  , [ 0.0 :+ 2.0+    , 1.0 :+ (-0.5)+    , (-1.0) :+ 0.5+    , 0.5 :+ (-1.0)+    , (-0.5) :+ 1.0+    , 2.0 :+ 0.0+    ]+  , [ 0.0 :+ Infinity+    , 1.0 :+ 2.0+    , (-1.0) :+ (-0.5)+    , 0.5 :+ 0.5+    , (-0.5) :+ (-1.0)+    , 2.0 :+ 1.0+    , Infinity :+ 0.0+    ]+  , [ 0.0 :+ (-Infinity)+    , 1.0 :+ Infinity+    , (-1.0) :+ 2.0+    , 0.5 :+ (-0.5)+    , (-0.5) :+ 0.5+    , 2.0 :+ (-1.0)+    , Infinity :+ 1.0+    , (-Infinity) :+ 0.0+    ]+  , [ 0.0 :+ (-2.0)+    , 1.0 :+ (-Infinity)+    , (-1.0) :+ Infinity+    , 0.5 :+ 2.0+    , (-0.5) :+ (-0.5)+    , 2.0 :+ 0.5+    , Infinity :+ (-1.0)+    , (-Infinity) :+ 1.0+    , (-2.0) :+ 0.0+    ]+  , [ 0.0 :+ 0.3333333333333333+    , 1.0 :+ (-2.0)+    , (-1.0) :+ (-Infinity)+    , 0.5 :+ Infinity+    , (-0.5) :+ 2.0+    , 2.0 :+ (-0.5)+    , Infinity :+ 0.5+    , (-Infinity) :+ (-1.0)+    , (-2.0) :+ 1.0+    , 0.3333333333333333 :+ 0.0+    ]+  , [ 0.0 :+ (-0.3333333333333333)+    , 1.0 :+ 0.3333333333333333+    , (-1.0) :+ (-2.0)+    , 0.5 :+ (-Infinity)+    , (-0.5) :+ Infinity+    , 2.0 :+ 2.0+    , Infinity :+ (-0.5)+    , (-Infinity) :+ 0.5+    , (-2.0) :+ (-1.0)+    , 0.3333333333333333 :+ 1.0+    , (-0.3333333333333333) :+ 0.0+    ]+  , ...+  ]
+ bench/tiers-txt/Double.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Double ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Double ])  =  Infinity++allUnique (list :: [ Double ])  =  True++ratioRepetitions (list :: [ Double ])  =  0 % 1++tiers :: [Double]  =+  [ [0.0]+  , [1.0]+  , [-1.0]+  , [0.5]+  , [-0.5]+  , [2.0]+  , [Infinity]+  , [-Infinity]+  , [-2.0]+  , [0.3333333333333333]+  , [-0.3333333333333333]+  , [1.5]+  , ...+  ]
+ bench/tiers-txt/Float.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Float ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Float ])  =  Infinity++allUnique (list :: [ Float ])  =  True++ratioRepetitions (list :: [ Float ])  =  0 % 1++tiers :: [Float]  =+  [ [0.0]+  , [1.0]+  , [-1.0]+  , [0.5]+  , [-0.5]+  , [2.0]+  , [Infinity]+  , [-Infinity]+  , [-2.0]+  , [0.33333334]+  , [-0.33333334]+  , [1.5]+  , ...+  ]
+ bench/tiers-txt/Int,Int,Int.txt view
@@ -0,0 +1,72 @@+map length (tiers :: [[ (Int,Int,Int) ]])  =  [1,3,6,10,15,21,...]++length (list :: [ (Int,Int,Int) ])  =  Infinity++allUnique (list :: [ (Int,Int,Int) ])  =  True++ratioRepetitions (list :: [ (Int,Int,Int) ])  =  0 % 1++tiers :: [(Int,Int,Int)]  =+  [ [(0,0,0)]+  , [ (0,0,1)+    , (0,1,0)+    , (1,0,0)+    ]+  , [ (0,0,-1)+    , (0,1,1)+    , (0,-1,0)+    , (1,0,1)+    , (1,1,0)+    , (-1,0,0)+    ]+  , [ (0,0,2)+    , (0,1,-1)+    , (0,-1,1)+    , (0,2,0)+    , (1,0,-1)+    , (1,1,1)+    , (1,-1,0)+    , (-1,0,1)+    , (-1,1,0)+    , (2,0,0)+    ]+  , [ (0,0,-2)+    , (0,1,2)+    , (0,-1,-1)+    , (0,2,1)+    , (0,-2,0)+    , (1,0,2)+    , (1,1,-1)+    , (1,-1,1)+    , (1,2,0)+    , (-1,0,-1)+    , (-1,1,1)+    , (-1,-1,0)+    , (2,0,1)+    , (2,1,0)+    , (-2,0,0)+    ]+  , [ (0,0,3)+    , (0,1,-2)+    , (0,-1,2)+    , (0,2,-1)+    , (0,-2,1)+    , (0,3,0)+    , (1,0,-2)+    , (1,1,2)+    , (1,-1,-1)+    , (1,2,1)+    , (1,-2,0)+    , (-1,0,2)+    , (-1,1,-1)+    , (-1,-1,1)+    , (-1,2,0)+    , (2,0,-1)+    , (2,1,1)+    , (2,-1,0)+    , (-2,0,1)+    , (-2,1,0)+    , (3,0,0)+    ]+  , ...+  ]
+ bench/tiers-txt/Int,Int.txt view
@@ -0,0 +1,100 @@+map length (tiers :: [[ (Int,Int) ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ (Int,Int) ])  =  Infinity++allUnique (list :: [ (Int,Int) ])  =  True++ratioRepetitions (list :: [ (Int,Int) ])  =  0 % 1++tiers :: [(Int,Int)]  =+  [ [(0,0)]+  , [ (0,1)+    , (1,0)+    ]+  , [ (0,-1)+    , (1,1)+    , (-1,0)+    ]+  , [ (0,2)+    , (1,-1)+    , (-1,1)+    , (2,0)+    ]+  , [ (0,-2)+    , (1,2)+    , (-1,-1)+    , (2,1)+    , (-2,0)+    ]+  , [ (0,3)+    , (1,-2)+    , (-1,2)+    , (2,-1)+    , (-2,1)+    , (3,0)+    ]+  , [ (0,-3)+    , (1,3)+    , (-1,-2)+    , (2,2)+    , (-2,-1)+    , (3,1)+    , (-3,0)+    ]+  , [ (0,4)+    , (1,-3)+    , (-1,3)+    , (2,-2)+    , (-2,2)+    , (3,-1)+    , (-3,1)+    , (4,0)+    ]+  , [ (0,-4)+    , (1,4)+    , (-1,-3)+    , (2,3)+    , (-2,-2)+    , (3,2)+    , (-3,-1)+    , (4,1)+    , (-4,0)+    ]+  , [ (0,5)+    , (1,-4)+    , (-1,4)+    , (2,-3)+    , (-2,3)+    , (3,-2)+    , (-3,2)+    , (4,-1)+    , (-4,1)+    , (5,0)+    ]+  , [ (0,-5)+    , (1,5)+    , (-1,-4)+    , (2,4)+    , (-2,-3)+    , (3,3)+    , (-3,-2)+    , (4,2)+    , (-4,-1)+    , (5,1)+    , (-5,0)+    ]+  , [ (0,6)+    , (1,-5)+    , (-1,5)+    , (2,-4)+    , (-2,4)+    , (3,-3)+    , (-3,3)+    , (4,-2)+    , (-4,2)+    , (5,-1)+    , (-5,1)+    , (6,0)+    ]+  , ...+  ]
+ bench/tiers-txt/Int.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Int ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Int ])  =  Infinity++allUnique (list :: [ Int ])  =  True++ratioRepetitions (list :: [ Int ])  =  0 % 1++tiers :: [Int]  =+  [ [0]+  , [1]+  , [-1]+  , [2]+  , [-2]+  , [3]+  , [-3]+  , [4]+  , [-4]+  , [5]+  , [-5]+  , [6]+  , ...+  ]
+ bench/tiers-txt/Int2.txt view
@@ -0,0 +1,14 @@+map length (tiers :: [[ Int2 ]])  =  [1,1,1,1]++length (list :: [ Int2 ])  =  4++allUnique (list :: [ Int2 ])  =  True++ratioRepetitions (list :: [ Int2 ])  =  0 % 1++tiers :: [Int2]  =+  [ [0]+  , [1]+  , [-1]+  , [-2]+  ]
+ bench/tiers-txt/Int3.txt view
@@ -0,0 +1,18 @@+map length (tiers :: [[ Int3 ]])  =  [1,1,1,1,1,1,1,1]++length (list :: [ Int3 ])  =  8++allUnique (list :: [ Int3 ])  =  True++ratioRepetitions (list :: [ Int3 ])  =  0 % 1++tiers :: [Int3]  =+  [ [0]+  , [1]+  , [-1]+  , [2]+  , [-2]+  , [3]+  , [-3]+  , [-4]+  ]
+ bench/tiers-txt/Int4.txt view
@@ -0,0 +1,26 @@+map length (tiers :: [[ Int4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]++length (list :: [ Int4 ])  =  Infinity++allUnique (list :: [ Int4 ])  =  True++ratioRepetitions (list :: [ Int4 ])  =  0 % 1++tiers :: [Int4]  =+  [ [0]+  , [1]+  , [-1]+  , [2]+  , [-2]+  , [3]+  , [-3]+  , [4]+  , [-4]+  , [5]+  , [-5]+  , [6]+  , [-6]+  , [7]+  , [-7]+  , [-8]+  ]
+ bench/tiers-txt/Int8.txt view
@@ -0,0 +1,266 @@+map length (tiers :: [[ Int8 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]++length (list :: [ Int8 ])  =  Infinity++allUnique (list :: [ Int8 ])  =  True++ratioRepetitions (list :: [ Int8 ])  =  0 % 1++tiers :: [Int8]  =+  [ [0]+  , [1]+  , [-1]+  , [2]+  , [-2]+  , [3]+  , [-3]+  , [4]+  , [-4]+  , [5]+  , [-5]+  , [6]+  , [-6]+  , [7]+  , [-7]+  , [8]+  , [-8]+  , [9]+  , [-9]+  , [10]+  , [-10]+  , [11]+  , [-11]+  , [12]+  , [-12]+  , [13]+  , [-13]+  , [14]+  , [-14]+  , [15]+  , [-15]+  , [16]+  , [-16]+  , [17]+  , [-17]+  , [18]+  , [-18]+  , [19]+  , [-19]+  , [20]+  , [-20]+  , [21]+  , [-21]+  , [22]+  , [-22]+  , [23]+  , [-23]+  , [24]+  , [-24]+  , [25]+  , [-25]+  , [26]+  , [-26]+  , [27]+  , [-27]+  , [28]+  , [-28]+  , [29]+  , [-29]+  , [30]+  , [-30]+  , [31]+  , [-31]+  , [32]+  , [-32]+  , [33]+  , [-33]+  , [34]+  , [-34]+  , [35]+  , [-35]+  , [36]+  , [-36]+  , [37]+  , [-37]+  , [38]+  , [-38]+  , [39]+  , [-39]+  , [40]+  , [-40]+  , [41]+  , [-41]+  , [42]+  , [-42]+  , [43]+  , [-43]+  , [44]+  , [-44]+  , [45]+  , [-45]+  , [46]+  , [-46]+  , [47]+  , [-47]+  , [48]+  , [-48]+  , [49]+  , [-49]+  , [50]+  , [-50]+  , [51]+  , [-51]+  , [52]+  , [-52]+  , [53]+  , [-53]+  , [54]+  , [-54]+  , [55]+  , [-55]+  , [56]+  , [-56]+  , [57]+  , [-57]+  , [58]+  , [-58]+  , [59]+  , [-59]+  , [60]+  , [-60]+  , [61]+  , [-61]+  , [62]+  , [-62]+  , [63]+  , [-63]+  , [64]+  , [-64]+  , [65]+  , [-65]+  , [66]+  , [-66]+  , [67]+  , [-67]+  , [68]+  , [-68]+  , [69]+  , [-69]+  , [70]+  , [-70]+  , [71]+  , [-71]+  , [72]+  , [-72]+  , [73]+  , [-73]+  , [74]+  , [-74]+  , [75]+  , [-75]+  , [76]+  , [-76]+  , [77]+  , [-77]+  , [78]+  , [-78]+  , [79]+  , [-79]+  , [80]+  , [-80]+  , [81]+  , [-81]+  , [82]+  , [-82]+  , [83]+  , [-83]+  , [84]+  , [-84]+  , [85]+  , [-85]+  , [86]+  , [-86]+  , [87]+  , [-87]+  , [88]+  , [-88]+  , [89]+  , [-89]+  , [90]+  , [-90]+  , [91]+  , [-91]+  , [92]+  , [-92]+  , [93]+  , [-93]+  , [94]+  , [-94]+  , [95]+  , [-95]+  , [96]+  , [-96]+  , [97]+  , [-97]+  , [98]+  , [-98]+  , [99]+  , [-99]+  , [100]+  , [-100]+  , [101]+  , [-101]+  , [102]+  , [-102]+  , [103]+  , [-103]+  , [104]+  , [-104]+  , [105]+  , [-105]+  , [106]+  , [-106]+  , [107]+  , [-107]+  , [108]+  , [-108]+  , [109]+  , [-109]+  , [110]+  , [-110]+  , [111]+  , [-111]+  , [112]+  , [-112]+  , [113]+  , [-113]+  , [114]+  , [-114]+  , [115]+  , [-115]+  , [116]+  , [-116]+  , [117]+  , [-117]+  , [118]+  , [-118]+  , [119]+  , [-119]+  , [120]+  , [-120]+  , [121]+  , [-121]+  , [122]+  , [-122]+  , [123]+  , [-123]+  , [124]+  , [-124]+  , [125]+  , [-125]+  , [126]+  , [-126]+  , [127]+  , [-127]+  , [-128]+  ]
+ bench/tiers-txt/Integer.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Integer ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Integer ])  =  Infinity++allUnique (list :: [ Integer ])  =  True++ratioRepetitions (list :: [ Integer ])  =  0 % 1++tiers :: [Integer]  =+  [ [0]+  , [1]+  , [-1]+  , [2]+  , [-2]+  , [3]+  , [-3]+  , [4]+  , [-4]+  , [5]+  , [-5]+  , [6]+  , ...+  ]
+ bench/tiers-txt/Ints.txt view
@@ -0,0 +1,47 @@+map length (tiers :: [[ [Int] ]])  =  [1,1,2,4,8,16,...]++length (list :: [ [Int] ])  =  Infinity++allUnique (list :: [ [Int] ])  =  True++ratioRepetitions (list :: [ [Int] ])  =  0 % 1++tiers :: [[Int]]  =+  [ [[]]+  , [[0]]+  , [ [0,0]+    , [1]+    ]+  , [ [0,0,0]+    , [0,1]+    , [1,0]+    , [-1]+    ]+  , [ [0,0,0,0]+    , [0,0,1]+    , [0,1,0]+    , [0,-1]+    , [1,0,0]+    , [1,1]+    , [-1,0]+    , [2]+    ]+  , [ [0,0,0,0,0]+    , [0,0,0,1]+    , [0,0,1,0]+    , [0,0,-1]+    , [0,1,0,0]+    , [0,1,1]+    , [0,-1,0]+    , [0,2]+    , [1,0,0,0]+    , [1,0,1]+    , [1,1,0]+    , [1,-1]+    , [-1,0,0]+    , [-1,1]+    , [2,0]+    , [-2]+    ]+  , ...+  ]
+ bench/tiers-txt/MapBoolBool.txt view
@@ -0,0 +1,21 @@+map length (tiers :: [[ Map Bool Bool ]])  =  [1,4,4]++length (list :: [ Map Bool Bool ])  =  9++allUnique (list :: [ Map Bool Bool ])  =  True++ratioRepetitions (list :: [ Map Bool Bool ])  =  0 % 1++tiers :: [Map Bool Bool]  =+  [ [Map []]+  , [ Map [(False,False)]+    , Map [(False,True)]+    , Map [(True,False)]+    , Map [(True,True)]+    ]+  , [ Map [(False,False),(True,False)]+    , Map [(False,False),(True,True)]+    , Map [(False,True),(True,False)]+    , Map [(False,True),(True,True)]+    ]+  ]
+ bench/tiers-txt/MapNat2Nat2.txt view
@@ -0,0 +1,22 @@+map length (tiers :: [[ Map Nat2 Nat2 ]])  =  [1,1,2,2,2,1]++length (list :: [ Map Nat2 Nat2 ])  =  9++allUnique (list :: [ Map Nat2 Nat2 ])  =  True++ratioRepetitions (list :: [ Map Nat2 Nat2 ])  =  0 % 1++tiers :: [Map Nat2 Nat2]  =+  [ [Map []]+  , [Map [(0,0)]]+  , [ Map [(0,1)]+    , Map [(1,0)]+    ]+  , [ Map [(1,1)]+    , Map [(0,0),(1,0)]+    ]+  , [ Map [(0,0),(1,1)]+    , Map [(0,1),(1,0)]+    ]+  , [Map [(0,1),(1,1)]]+  ]
+ bench/tiers-txt/MapNat3Nat3.txt view
@@ -0,0 +1,84 @@+map length (tiers :: [[ Map Nat3 Nat3 ]])  =  [1,1,2,4,5,7,8,9,9,8,6,3,...]++length (list :: [ Map Nat3 Nat3 ])  =  Infinity++allUnique (list :: [ Map Nat3 Nat3 ])  =  True++ratioRepetitions (list :: [ Map Nat3 Nat3 ])  =  0 % 1++tiers :: [Map Nat3 Nat3]  =+  [ [Map []]+  , [Map [(0,0)]]+  , [ Map [(0,1)]+    , Map [(1,0)]+    ]+  , [ Map [(0,2)]+    , Map [(1,1)]+    , Map [(0,0),(1,0)]+    , Map [(2,0)]+    ]+  , [ Map [(1,2)]+    , Map [(0,0),(1,1)]+    , Map [(0,1),(1,0)]+    , Map [(2,1)]+    , Map [(0,0),(2,0)]+    ]+  , [ Map [(0,0),(1,2)]+    , Map [(0,1),(1,1)]+    , Map [(0,2),(1,0)]+    , Map [(2,2)]+    , Map [(0,0),(2,1)]+    , Map [(0,1),(2,0)]+    , Map [(1,0),(2,0)]+    ]+  , [ Map [(0,1),(1,2)]+    , Map [(0,2),(1,1)]+    , Map [(0,0),(2,2)]+    , Map [(0,1),(2,1)]+    , Map [(0,2),(2,0)]+    , Map [(1,0),(2,1)]+    , Map [(1,1),(2,0)]+    , Map [(0,0),(1,0),(2,0)]+    ]+  , [ Map [(0,2),(1,2)]+    , Map [(0,1),(2,2)]+    , Map [(0,2),(2,1)]+    , Map [(1,0),(2,2)]+    , Map [(1,1),(2,1)]+    , Map [(1,2),(2,0)]+    , Map [(0,0),(1,0),(2,1)]+    , Map [(0,0),(1,1),(2,0)]+    , Map [(0,1),(1,0),(2,0)]+    ]+  , [ Map [(0,2),(2,2)]+    , Map [(1,1),(2,2)]+    , Map [(1,2),(2,1)]+    , Map [(0,0),(1,0),(2,2)]+    , Map [(0,0),(1,1),(2,1)]+    , Map [(0,0),(1,2),(2,0)]+    , Map [(0,1),(1,0),(2,1)]+    , Map [(0,1),(1,1),(2,0)]+    , Map [(0,2),(1,0),(2,0)]+    ]+  , [ Map [(1,2),(2,2)]+    , Map [(0,0),(1,1),(2,2)]+    , Map [(0,0),(1,2),(2,1)]+    , Map [(0,1),(1,0),(2,2)]+    , Map [(0,1),(1,1),(2,1)]+    , Map [(0,1),(1,2),(2,0)]+    , Map [(0,2),(1,0),(2,1)]+    , Map [(0,2),(1,1),(2,0)]+    ]+  , [ Map [(0,0),(1,2),(2,2)]+    , Map [(0,1),(1,1),(2,2)]+    , Map [(0,1),(1,2),(2,1)]+    , Map [(0,2),(1,0),(2,2)]+    , Map [(0,2),(1,1),(2,1)]+    , Map [(0,2),(1,2),(2,0)]+    ]+  , [ Map [(0,1),(1,2),(2,2)]+    , Map [(0,2),(1,1),(2,2)]+    , Map [(0,2),(1,2),(2,1)]+    ]+  , ...+  ]
+ bench/tiers-txt/MapNatNat.txt view
@@ -0,0 +1,571 @@+map length (tiers :: [[ Map Nat Nat ]])  =  [1,1,2,4,7,12,20,33,53,84,131,202,...]++length (list :: [ Map Nat Nat ])  =  Infinity++allUnique (list :: [ Map Nat Nat ])  =  True++ratioRepetitions (list :: [ Map Nat Nat ])  =  0 % 1++tiers :: [Map Nat Nat]  =+  [ [Map []]+  , [Map [(0,0)]]+  , [ Map [(0,1)]+    , Map [(1,0)]+    ]+  , [ Map [(0,2)]+    , Map [(1,1)]+    , Map [(0,0),(1,0)]+    , Map [(2,0)]+    ]+  , [ Map [(0,3)]+    , Map [(1,2)]+    , Map [(0,0),(1,1)]+    , Map [(0,1),(1,0)]+    , Map [(2,1)]+    , Map [(0,0),(2,0)]+    , Map [(3,0)]+    ]+  , [ Map [(0,4)]+    , Map [(1,3)]+    , Map [(0,0),(1,2)]+    , Map [(0,1),(1,1)]+    , Map [(0,2),(1,0)]+    , Map [(2,2)]+    , Map [(0,0),(2,1)]+    , Map [(0,1),(2,0)]+    , Map [(3,1)]+    , Map [(0,0),(3,0)]+    , Map [(1,0),(2,0)]+    , Map [(4,0)]+    ]+  , [ Map [(0,5)]+    , Map [(1,4)]+    , Map [(0,0),(1,3)]+    , Map [(0,1),(1,2)]+    , Map [(0,2),(1,1)]+    , Map [(0,3),(1,0)]+    , Map [(2,3)]+    , Map [(0,0),(2,2)]+    , Map [(0,1),(2,1)]+    , Map [(0,2),(2,0)]+    , Map [(3,2)]+    , Map [(0,0),(3,1)]+    , Map [(0,1),(3,0)]+    , Map [(1,0),(2,1)]+    , Map [(1,1),(2,0)]+    , Map [(4,1)]+    , Map [(0,0),(1,0),(2,0)]+    , Map [(0,0),(4,0)]+    , Map [(1,0),(3,0)]+    , Map [(5,0)]+    ]+  , [ Map [(0,6)]+    , Map [(1,5)]+    , Map [(0,0),(1,4)]+    , Map [(0,1),(1,3)]+    , Map [(0,2),(1,2)]+    , Map [(0,3),(1,1)]+    , Map [(0,4),(1,0)]+    , Map [(2,4)]+    , Map [(0,0),(2,3)]+    , Map [(0,1),(2,2)]+    , Map [(0,2),(2,1)]+    , Map [(0,3),(2,0)]+    , Map [(3,3)]+    , Map [(0,0),(3,2)]+    , Map [(0,1),(3,1)]+    , Map [(0,2),(3,0)]+    , Map [(1,0),(2,2)]+    , Map [(1,1),(2,1)]+    , Map [(1,2),(2,0)]+    , Map [(4,2)]+    , Map [(0,0),(1,0),(2,1)]+    , Map [(0,0),(1,1),(2,0)]+    , Map [(0,1),(1,0),(2,0)]+    , Map [(0,0),(4,1)]+    , Map [(0,1),(4,0)]+    , Map [(1,0),(3,1)]+    , Map [(1,1),(3,0)]+    , Map [(5,1)]+    , Map [(0,0),(1,0),(3,0)]+    , Map [(0,0),(5,0)]+    , Map [(1,0),(4,0)]+    , Map [(2,0),(3,0)]+    , Map [(6,0)]+    ]+  , [ Map [(0,7)]+    , Map [(1,6)]+    , Map [(0,0),(1,5)]+    , Map [(0,1),(1,4)]+    , Map [(0,2),(1,3)]+    , Map [(0,3),(1,2)]+    , Map [(0,4),(1,1)]+    , Map [(0,5),(1,0)]+    , Map [(2,5)]+    , Map [(0,0),(2,4)]+    , Map [(0,1),(2,3)]+    , Map [(0,2),(2,2)]+    , Map [(0,3),(2,1)]+    , Map [(0,4),(2,0)]+    , Map [(3,4)]+    , Map [(0,0),(3,3)]+    , Map [(0,1),(3,2)]+    , Map [(0,2),(3,1)]+    , Map [(0,3),(3,0)]+    , Map [(1,0),(2,3)]+    , Map [(1,1),(2,2)]+    , Map [(1,2),(2,1)]+    , Map [(1,3),(2,0)]+    , Map [(4,3)]+    , Map [(0,0),(1,0),(2,2)]+    , Map [(0,0),(1,1),(2,1)]+    , Map [(0,0),(1,2),(2,0)]+    , Map [(0,1),(1,0),(2,1)]+    , Map [(0,1),(1,1),(2,0)]+    , Map [(0,2),(1,0),(2,0)]+    , Map [(0,0),(4,2)]+    , Map [(0,1),(4,1)]+    , Map [(0,2),(4,0)]+    , Map [(1,0),(3,2)]+    , Map [(1,1),(3,1)]+    , Map [(1,2),(3,0)]+    , Map [(5,2)]+    , Map [(0,0),(1,0),(3,1)]+    , Map [(0,0),(1,1),(3,0)]+    , Map [(0,1),(1,0),(3,0)]+    , Map [(0,0),(5,1)]+    , Map [(0,1),(5,0)]+    , Map [(1,0),(4,1)]+    , Map [(1,1),(4,0)]+    , Map [(2,0),(3,1)]+    , Map [(2,1),(3,0)]+    , Map [(6,1)]+    , Map [(0,0),(1,0),(4,0)]+    , Map [(0,0),(2,0),(3,0)]+    , Map [(0,0),(6,0)]+    , Map [(1,0),(5,0)]+    , Map [(2,0),(4,0)]+    , Map [(7,0)]+    ]+  , [ Map [(0,8)]+    , Map [(1,7)]+    , Map [(0,0),(1,6)]+    , Map [(0,1),(1,5)]+    , Map [(0,2),(1,4)]+    , Map [(0,3),(1,3)]+    , Map [(0,4),(1,2)]+    , Map [(0,5),(1,1)]+    , Map [(0,6),(1,0)]+    , Map [(2,6)]+    , Map [(0,0),(2,5)]+    , Map [(0,1),(2,4)]+    , Map [(0,2),(2,3)]+    , Map [(0,3),(2,2)]+    , Map [(0,4),(2,1)]+    , Map [(0,5),(2,0)]+    , Map [(3,5)]+    , Map [(0,0),(3,4)]+    , Map [(0,1),(3,3)]+    , Map [(0,2),(3,2)]+    , Map [(0,3),(3,1)]+    , Map [(0,4),(3,0)]+    , Map [(1,0),(2,4)]+    , Map [(1,1),(2,3)]+    , Map [(1,2),(2,2)]+    , Map [(1,3),(2,1)]+    , Map [(1,4),(2,0)]+    , Map [(4,4)]+    , Map [(0,0),(1,0),(2,3)]+    , Map [(0,0),(1,1),(2,2)]+    , Map [(0,0),(1,2),(2,1)]+    , Map [(0,0),(1,3),(2,0)]+    , Map [(0,1),(1,0),(2,2)]+    , Map [(0,1),(1,1),(2,1)]+    , Map [(0,1),(1,2),(2,0)]+    , Map [(0,2),(1,0),(2,1)]+    , Map [(0,2),(1,1),(2,0)]+    , Map [(0,3),(1,0),(2,0)]+    , Map [(0,0),(4,3)]+    , Map [(0,1),(4,2)]+    , Map [(0,2),(4,1)]+    , Map [(0,3),(4,0)]+    , Map [(1,0),(3,3)]+    , Map [(1,1),(3,2)]+    , Map [(1,2),(3,1)]+    , Map [(1,3),(3,0)]+    , Map [(5,3)]+    , Map [(0,0),(1,0),(3,2)]+    , Map [(0,0),(1,1),(3,1)]+    , Map [(0,0),(1,2),(3,0)]+    , Map [(0,1),(1,0),(3,1)]+    , Map [(0,1),(1,1),(3,0)]+    , Map [(0,2),(1,0),(3,0)]+    , Map [(0,0),(5,2)]+    , Map [(0,1),(5,1)]+    , Map [(0,2),(5,0)]+    , Map [(1,0),(4,2)]+    , Map [(1,1),(4,1)]+    , Map [(1,2),(4,0)]+    , Map [(2,0),(3,2)]+    , Map [(2,1),(3,1)]+    , Map [(2,2),(3,0)]+    , Map [(6,2)]+    , Map [(0,0),(1,0),(4,1)]+    , Map [(0,0),(1,1),(4,0)]+    , Map [(0,1),(1,0),(4,0)]+    , Map [(0,0),(2,0),(3,1)]+    , Map [(0,0),(2,1),(3,0)]+    , Map [(0,1),(2,0),(3,0)]+    , Map [(0,0),(6,1)]+    , Map [(0,1),(6,0)]+    , Map [(1,0),(5,1)]+    , Map [(1,1),(5,0)]+    , Map [(2,0),(4,1)]+    , Map [(2,1),(4,0)]+    , Map [(7,1)]+    , Map [(0,0),(1,0),(5,0)]+    , Map [(0,0),(2,0),(4,0)]+    , Map [(0,0),(7,0)]+    , Map [(1,0),(2,0),(3,0)]+    , Map [(1,0),(6,0)]+    , Map [(2,0),(5,0)]+    , Map [(3,0),(4,0)]+    , Map [(8,0)]+    ]+  , [ Map [(0,9)]+    , Map [(1,8)]+    , Map [(0,0),(1,7)]+    , Map [(0,1),(1,6)]+    , Map [(0,2),(1,5)]+    , Map [(0,3),(1,4)]+    , Map [(0,4),(1,3)]+    , Map [(0,5),(1,2)]+    , Map [(0,6),(1,1)]+    , Map [(0,7),(1,0)]+    , Map [(2,7)]+    , Map [(0,0),(2,6)]+    , Map [(0,1),(2,5)]+    , Map [(0,2),(2,4)]+    , Map [(0,3),(2,3)]+    , Map [(0,4),(2,2)]+    , Map [(0,5),(2,1)]+    , Map [(0,6),(2,0)]+    , Map [(3,6)]+    , Map [(0,0),(3,5)]+    , Map [(0,1),(3,4)]+    , Map [(0,2),(3,3)]+    , Map [(0,3),(3,2)]+    , Map [(0,4),(3,1)]+    , Map [(0,5),(3,0)]+    , Map [(1,0),(2,5)]+    , Map [(1,1),(2,4)]+    , Map [(1,2),(2,3)]+    , Map [(1,3),(2,2)]+    , Map [(1,4),(2,1)]+    , Map [(1,5),(2,0)]+    , Map [(4,5)]+    , Map [(0,0),(1,0),(2,4)]+    , Map [(0,0),(1,1),(2,3)]+    , Map [(0,0),(1,2),(2,2)]+    , Map [(0,0),(1,3),(2,1)]+    , Map [(0,0),(1,4),(2,0)]+    , Map [(0,1),(1,0),(2,3)]+    , Map [(0,1),(1,1),(2,2)]+    , Map [(0,1),(1,2),(2,1)]+    , Map [(0,1),(1,3),(2,0)]+    , Map [(0,2),(1,0),(2,2)]+    , Map [(0,2),(1,1),(2,1)]+    , Map [(0,2),(1,2),(2,0)]+    , Map [(0,3),(1,0),(2,1)]+    , Map [(0,3),(1,1),(2,0)]+    , Map [(0,4),(1,0),(2,0)]+    , Map [(0,0),(4,4)]+    , Map [(0,1),(4,3)]+    , Map [(0,2),(4,2)]+    , Map [(0,3),(4,1)]+    , Map [(0,4),(4,0)]+    , Map [(1,0),(3,4)]+    , Map [(1,1),(3,3)]+    , Map [(1,2),(3,2)]+    , Map [(1,3),(3,1)]+    , Map [(1,4),(3,0)]+    , Map [(5,4)]+    , Map [(0,0),(1,0),(3,3)]+    , Map [(0,0),(1,1),(3,2)]+    , Map [(0,0),(1,2),(3,1)]+    , Map [(0,0),(1,3),(3,0)]+    , Map [(0,1),(1,0),(3,2)]+    , Map [(0,1),(1,1),(3,1)]+    , Map [(0,1),(1,2),(3,0)]+    , Map [(0,2),(1,0),(3,1)]+    , Map [(0,2),(1,1),(3,0)]+    , Map [(0,3),(1,0),(3,0)]+    , Map [(0,0),(5,3)]+    , Map [(0,1),(5,2)]+    , Map [(0,2),(5,1)]+    , Map [(0,3),(5,0)]+    , Map [(1,0),(4,3)]+    , Map [(1,1),(4,2)]+    , Map [(1,2),(4,1)]+    , Map [(1,3),(4,0)]+    , Map [(2,0),(3,3)]+    , Map [(2,1),(3,2)]+    , Map [(2,2),(3,1)]+    , Map [(2,3),(3,0)]+    , Map [(6,3)]+    , Map [(0,0),(1,0),(4,2)]+    , Map [(0,0),(1,1),(4,1)]+    , Map [(0,0),(1,2),(4,0)]+    , Map [(0,1),(1,0),(4,1)]+    , Map [(0,1),(1,1),(4,0)]+    , Map [(0,2),(1,0),(4,0)]+    , Map [(0,0),(2,0),(3,2)]+    , Map [(0,0),(2,1),(3,1)]+    , Map [(0,0),(2,2),(3,0)]+    , Map [(0,1),(2,0),(3,1)]+    , Map [(0,1),(2,1),(3,0)]+    , Map [(0,2),(2,0),(3,0)]+    , Map [(0,0),(6,2)]+    , Map [(0,1),(6,1)]+    , Map [(0,2),(6,0)]+    , Map [(1,0),(5,2)]+    , Map [(1,1),(5,1)]+    , Map [(1,2),(5,0)]+    , Map [(2,0),(4,2)]+    , Map [(2,1),(4,1)]+    , Map [(2,2),(4,0)]+    , Map [(7,2)]+    , Map [(0,0),(1,0),(5,1)]+    , Map [(0,0),(1,1),(5,0)]+    , Map [(0,1),(1,0),(5,0)]+    , Map [(0,0),(2,0),(4,1)]+    , Map [(0,0),(2,1),(4,0)]+    , Map [(0,1),(2,0),(4,0)]+    , Map [(0,0),(7,1)]+    , Map [(0,1),(7,0)]+    , Map [(1,0),(2,0),(3,1)]+    , Map [(1,0),(2,1),(3,0)]+    , Map [(1,1),(2,0),(3,0)]+    , Map [(1,0),(6,1)]+    , Map [(1,1),(6,0)]+    , Map [(2,0),(5,1)]+    , Map [(2,1),(5,0)]+    , Map [(3,0),(4,1)]+    , Map [(3,1),(4,0)]+    , Map [(8,1)]+    , Map [(0,0),(1,0),(2,0),(3,0)]+    , Map [(0,0),(1,0),(6,0)]+    , Map [(0,0),(2,0),(5,0)]+    , Map [(0,0),(3,0),(4,0)]+    , Map [(0,0),(8,0)]+    , Map [(1,0),(2,0),(4,0)]+    , Map [(1,0),(7,0)]+    , Map [(2,0),(6,0)]+    , Map [(3,0),(5,0)]+    , Map [(9,0)]+    ]+  , [ Map [(0,10)]+    , Map [(1,9)]+    , Map [(0,0),(1,8)]+    , Map [(0,1),(1,7)]+    , Map [(0,2),(1,6)]+    , Map [(0,3),(1,5)]+    , Map [(0,4),(1,4)]+    , Map [(0,5),(1,3)]+    , Map [(0,6),(1,2)]+    , Map [(0,7),(1,1)]+    , Map [(0,8),(1,0)]+    , Map [(2,8)]+    , Map [(0,0),(2,7)]+    , Map [(0,1),(2,6)]+    , Map [(0,2),(2,5)]+    , Map [(0,3),(2,4)]+    , Map [(0,4),(2,3)]+    , Map [(0,5),(2,2)]+    , Map [(0,6),(2,1)]+    , Map [(0,7),(2,0)]+    , Map [(3,7)]+    , Map [(0,0),(3,6)]+    , Map [(0,1),(3,5)]+    , Map [(0,2),(3,4)]+    , Map [(0,3),(3,3)]+    , Map [(0,4),(3,2)]+    , Map [(0,5),(3,1)]+    , Map [(0,6),(3,0)]+    , Map [(1,0),(2,6)]+    , Map [(1,1),(2,5)]+    , Map [(1,2),(2,4)]+    , Map [(1,3),(2,3)]+    , Map [(1,4),(2,2)]+    , Map [(1,5),(2,1)]+    , Map [(1,6),(2,0)]+    , Map [(4,6)]+    , Map [(0,0),(1,0),(2,5)]+    , Map [(0,0),(1,1),(2,4)]+    , Map [(0,0),(1,2),(2,3)]+    , Map [(0,0),(1,3),(2,2)]+    , Map [(0,0),(1,4),(2,1)]+    , Map [(0,0),(1,5),(2,0)]+    , Map [(0,1),(1,0),(2,4)]+    , Map [(0,1),(1,1),(2,3)]+    , Map [(0,1),(1,2),(2,2)]+    , Map [(0,1),(1,3),(2,1)]+    , Map [(0,1),(1,4),(2,0)]+    , Map [(0,2),(1,0),(2,3)]+    , Map [(0,2),(1,1),(2,2)]+    , Map [(0,2),(1,2),(2,1)]+    , Map [(0,2),(1,3),(2,0)]+    , Map [(0,3),(1,0),(2,2)]+    , Map [(0,3),(1,1),(2,1)]+    , Map [(0,3),(1,2),(2,0)]+    , Map [(0,4),(1,0),(2,1)]+    , Map [(0,4),(1,1),(2,0)]+    , Map [(0,5),(1,0),(2,0)]+    , Map [(0,0),(4,5)]+    , Map [(0,1),(4,4)]+    , Map [(0,2),(4,3)]+    , Map [(0,3),(4,2)]+    , Map [(0,4),(4,1)]+    , Map [(0,5),(4,0)]+    , Map [(1,0),(3,5)]+    , Map [(1,1),(3,4)]+    , Map [(1,2),(3,3)]+    , Map [(1,3),(3,2)]+    , Map [(1,4),(3,1)]+    , Map [(1,5),(3,0)]+    , Map [(5,5)]+    , Map [(0,0),(1,0),(3,4)]+    , Map [(0,0),(1,1),(3,3)]+    , Map [(0,0),(1,2),(3,2)]+    , Map [(0,0),(1,3),(3,1)]+    , Map [(0,0),(1,4),(3,0)]+    , Map [(0,1),(1,0),(3,3)]+    , Map [(0,1),(1,1),(3,2)]+    , Map [(0,1),(1,2),(3,1)]+    , Map [(0,1),(1,3),(3,0)]+    , Map [(0,2),(1,0),(3,2)]+    , Map [(0,2),(1,1),(3,1)]+    , Map [(0,2),(1,2),(3,0)]+    , Map [(0,3),(1,0),(3,1)]+    , Map [(0,3),(1,1),(3,0)]+    , Map [(0,4),(1,0),(3,0)]+    , Map [(0,0),(5,4)]+    , Map [(0,1),(5,3)]+    , Map [(0,2),(5,2)]+    , Map [(0,3),(5,1)]+    , Map [(0,4),(5,0)]+    , Map [(1,0),(4,4)]+    , Map [(1,1),(4,3)]+    , Map [(1,2),(4,2)]+    , Map [(1,3),(4,1)]+    , Map [(1,4),(4,0)]+    , Map [(2,0),(3,4)]+    , Map [(2,1),(3,3)]+    , Map [(2,2),(3,2)]+    , Map [(2,3),(3,1)]+    , Map [(2,4),(3,0)]+    , Map [(6,4)]+    , Map [(0,0),(1,0),(4,3)]+    , Map [(0,0),(1,1),(4,2)]+    , Map [(0,0),(1,2),(4,1)]+    , Map [(0,0),(1,3),(4,0)]+    , Map [(0,1),(1,0),(4,2)]+    , Map [(0,1),(1,1),(4,1)]+    , Map [(0,1),(1,2),(4,0)]+    , Map [(0,2),(1,0),(4,1)]+    , Map [(0,2),(1,1),(4,0)]+    , Map [(0,3),(1,0),(4,0)]+    , Map [(0,0),(2,0),(3,3)]+    , Map [(0,0),(2,1),(3,2)]+    , Map [(0,0),(2,2),(3,1)]+    , Map [(0,0),(2,3),(3,0)]+    , Map [(0,1),(2,0),(3,2)]+    , Map [(0,1),(2,1),(3,1)]+    , Map [(0,1),(2,2),(3,0)]+    , Map [(0,2),(2,0),(3,1)]+    , Map [(0,2),(2,1),(3,0)]+    , Map [(0,3),(2,0),(3,0)]+    , Map [(0,0),(6,3)]+    , Map [(0,1),(6,2)]+    , Map [(0,2),(6,1)]+    , Map [(0,3),(6,0)]+    , Map [(1,0),(5,3)]+    , Map [(1,1),(5,2)]+    , Map [(1,2),(5,1)]+    , Map [(1,3),(5,0)]+    , Map [(2,0),(4,3)]+    , Map [(2,1),(4,2)]+    , Map [(2,2),(4,1)]+    , Map [(2,3),(4,0)]+    , Map [(7,3)]+    , Map [(0,0),(1,0),(5,2)]+    , Map [(0,0),(1,1),(5,1)]+    , Map [(0,0),(1,2),(5,0)]+    , Map [(0,1),(1,0),(5,1)]+    , Map [(0,1),(1,1),(5,0)]+    , Map [(0,2),(1,0),(5,0)]+    , Map [(0,0),(2,0),(4,2)]+    , Map [(0,0),(2,1),(4,1)]+    , Map [(0,0),(2,2),(4,0)]+    , Map [(0,1),(2,0),(4,1)]+    , Map [(0,1),(2,1),(4,0)]+    , Map [(0,2),(2,0),(4,0)]+    , Map [(0,0),(7,2)]+    , Map [(0,1),(7,1)]+    , Map [(0,2),(7,0)]+    , Map [(1,0),(2,0),(3,2)]+    , Map [(1,0),(2,1),(3,1)]+    , Map [(1,0),(2,2),(3,0)]+    , Map [(1,1),(2,0),(3,1)]+    , Map [(1,1),(2,1),(3,0)]+    , Map [(1,2),(2,0),(3,0)]+    , Map [(1,0),(6,2)]+    , Map [(1,1),(6,1)]+    , Map [(1,2),(6,0)]+    , Map [(2,0),(5,2)]+    , Map [(2,1),(5,1)]+    , Map [(2,2),(5,0)]+    , Map [(3,0),(4,2)]+    , Map [(3,1),(4,1)]+    , Map [(3,2),(4,0)]+    , Map [(8,2)]+    , Map [(0,0),(1,0),(2,0),(3,1)]+    , Map [(0,0),(1,0),(2,1),(3,0)]+    , Map [(0,0),(1,1),(2,0),(3,0)]+    , Map [(0,1),(1,0),(2,0),(3,0)]+    , Map [(0,0),(1,0),(6,1)]+    , Map [(0,0),(1,1),(6,0)]+    , Map [(0,1),(1,0),(6,0)]+    , Map [(0,0),(2,0),(5,1)]+    , Map [(0,0),(2,1),(5,0)]+    , Map [(0,1),(2,0),(5,0)]+    , Map [(0,0),(3,0),(4,1)]+    , Map [(0,0),(3,1),(4,0)]+    , Map [(0,1),(3,0),(4,0)]+    , Map [(0,0),(8,1)]+    , Map [(0,1),(8,0)]+    , Map [(1,0),(2,0),(4,1)]+    , Map [(1,0),(2,1),(4,0)]+    , Map [(1,1),(2,0),(4,0)]+    , Map [(1,0),(7,1)]+    , Map [(1,1),(7,0)]+    , Map [(2,0),(6,1)]+    , Map [(2,1),(6,0)]+    , Map [(3,0),(5,1)]+    , Map [(3,1),(5,0)]+    , Map [(9,1)]+    , Map [(0,0),(1,0),(2,0),(4,0)]+    , Map [(0,0),(1,0),(7,0)]+    , Map [(0,0),(2,0),(6,0)]+    , Map [(0,0),(3,0),(5,0)]+    , Map [(0,0),(9,0)]+    , Map [(1,0),(2,0),(5,0)]+    , Map [(1,0),(3,0),(4,0)]+    , Map [(1,0),(8,0)]+    , Map [(2,0),(7,0)]+    , Map [(3,0),(6,0)]+    , Map [(4,0),(5,0)]+    , Map [(10,0)]+    ]+  , ...+  ]
+ bench/tiers-txt/MapUU.txt view
@@ -0,0 +1,12 @@+map length (tiers :: [[ Map () () ]])  =  [1,1]++length (list :: [ Map () () ])  =  2++allUnique (list :: [ Map () () ])  =  True++ratioRepetitions (list :: [ Map () () ])  =  0 % 1++tiers :: [Map () ()]  =+  [ [Map []]+  , [Map [((),())]]+  ]
+ bench/tiers-txt/Nat,Nat,Nat.txt view
@@ -0,0 +1,72 @@+map length (tiers :: [[ (Nat,Nat,Nat) ]])  =  [1,3,6,10,15,21,...]++length (list :: [ (Nat,Nat,Nat) ])  =  Infinity++allUnique (list :: [ (Nat,Nat,Nat) ])  =  True++ratioRepetitions (list :: [ (Nat,Nat,Nat) ])  =  0 % 1++tiers :: [(Nat,Nat,Nat)]  =+  [ [(0,0,0)]+  , [ (0,0,1)+    , (0,1,0)+    , (1,0,0)+    ]+  , [ (0,0,2)+    , (0,1,1)+    , (0,2,0)+    , (1,0,1)+    , (1,1,0)+    , (2,0,0)+    ]+  , [ (0,0,3)+    , (0,1,2)+    , (0,2,1)+    , (0,3,0)+    , (1,0,2)+    , (1,1,1)+    , (1,2,0)+    , (2,0,1)+    , (2,1,0)+    , (3,0,0)+    ]+  , [ (0,0,4)+    , (0,1,3)+    , (0,2,2)+    , (0,3,1)+    , (0,4,0)+    , (1,0,3)+    , (1,1,2)+    , (1,2,1)+    , (1,3,0)+    , (2,0,2)+    , (2,1,1)+    , (2,2,0)+    , (3,0,1)+    , (3,1,0)+    , (4,0,0)+    ]+  , [ (0,0,5)+    , (0,1,4)+    , (0,2,3)+    , (0,3,2)+    , (0,4,1)+    , (0,5,0)+    , (1,0,4)+    , (1,1,3)+    , (1,2,2)+    , (1,3,1)+    , (1,4,0)+    , (2,0,3)+    , (2,1,2)+    , (2,2,1)+    , (2,3,0)+    , (3,0,2)+    , (3,1,1)+    , (3,2,0)+    , (4,0,1)+    , (4,1,0)+    , (5,0,0)+    ]+  , ...+  ]
+ bench/tiers-txt/Nat,Nat.txt view
@@ -0,0 +1,100 @@+map length (tiers :: [[ (Nat,Nat) ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ (Nat,Nat) ])  =  Infinity++allUnique (list :: [ (Nat,Nat) ])  =  True++ratioRepetitions (list :: [ (Nat,Nat) ])  =  0 % 1++tiers :: [(Nat,Nat)]  =+  [ [(0,0)]+  , [ (0,1)+    , (1,0)+    ]+  , [ (0,2)+    , (1,1)+    , (2,0)+    ]+  , [ (0,3)+    , (1,2)+    , (2,1)+    , (3,0)+    ]+  , [ (0,4)+    , (1,3)+    , (2,2)+    , (3,1)+    , (4,0)+    ]+  , [ (0,5)+    , (1,4)+    , (2,3)+    , (3,2)+    , (4,1)+    , (5,0)+    ]+  , [ (0,6)+    , (1,5)+    , (2,4)+    , (3,3)+    , (4,2)+    , (5,1)+    , (6,0)+    ]+  , [ (0,7)+    , (1,6)+    , (2,5)+    , (3,4)+    , (4,3)+    , (5,2)+    , (6,1)+    , (7,0)+    ]+  , [ (0,8)+    , (1,7)+    , (2,6)+    , (3,5)+    , (4,4)+    , (5,3)+    , (6,2)+    , (7,1)+    , (8,0)+    ]+  , [ (0,9)+    , (1,8)+    , (2,7)+    , (3,6)+    , (4,5)+    , (5,4)+    , (6,3)+    , (7,2)+    , (8,1)+    , (9,0)+    ]+  , [ (0,10)+    , (1,9)+    , (2,8)+    , (3,7)+    , (4,6)+    , (5,5)+    , (6,4)+    , (7,3)+    , (8,2)+    , (9,1)+    , (10,0)+    ]+  , [ (0,11)+    , (1,10)+    , (2,9)+    , (3,8)+    , (4,7)+    , (5,6)+    , (6,5)+    , (7,4)+    , (8,3)+    , (9,2)+    , (10,1)+    , (11,0)+    ]+  , ...+  ]
+ bench/tiers-txt/Nat.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Nat ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Nat ])  =  Infinity++allUnique (list :: [ Nat ])  =  True++ratioRepetitions (list :: [ Nat ])  =  0 % 1++tiers :: [Nat]  =+  [ [0]+  , [1]+  , [2]+  , [3]+  , [4]+  , [5]+  , [6]+  , [7]+  , [8]+  , [9]+  , [10]+  , [11]+  , ...+  ]
+ bench/tiers-txt/Nat2.txt view
@@ -0,0 +1,12 @@+map length (tiers :: [[ Nat2 ]])  =  [1,1]++length (list :: [ Nat2 ])  =  2++allUnique (list :: [ Nat2 ])  =  True++ratioRepetitions (list :: [ Nat2 ])  =  0 % 1++tiers :: [Nat2]  =+  [ [0]+  , [1]+  ]
+ bench/tiers-txt/Nat3.txt view
@@ -0,0 +1,13 @@+map length (tiers :: [[ Nat3 ]])  =  [1,1,1]++length (list :: [ Nat3 ])  =  3++allUnique (list :: [ Nat3 ])  =  True++ratioRepetitions (list :: [ Nat3 ])  =  0 % 1++tiers :: [Nat3]  =+  [ [0]+  , [1]+  , [2]+  ]
+ bench/tiers-txt/Nat4.txt view
@@ -0,0 +1,14 @@+map length (tiers :: [[ Nat4 ]])  =  [1,1,1,1]++length (list :: [ Nat4 ])  =  4++allUnique (list :: [ Nat4 ])  =  True++ratioRepetitions (list :: [ Nat4 ])  =  0 % 1++tiers :: [Nat4]  =+  [ [0]+  , [1]+  , [2]+  , [3]+  ]
+ bench/tiers-txt/Nats.txt view
@@ -0,0 +1,47 @@+map length (tiers :: [[ [Nat] ]])  =  [1,1,2,4,8,16,...]++length (list :: [ [Nat] ])  =  Infinity++allUnique (list :: [ [Nat] ])  =  True++ratioRepetitions (list :: [ [Nat] ])  =  0 % 1++tiers :: [[Nat]]  =+  [ [[]]+  , [[0]]+  , [ [0,0]+    , [1]+    ]+  , [ [0,0,0]+    , [0,1]+    , [1,0]+    , [2]+    ]+  , [ [0,0,0,0]+    , [0,0,1]+    , [0,1,0]+    , [0,2]+    , [1,0,0]+    , [1,1]+    , [2,0]+    , [3]+    ]+  , [ [0,0,0,0,0]+    , [0,0,0,1]+    , [0,0,1,0]+    , [0,0,2]+    , [0,1,0,0]+    , [0,1,1]+    , [0,2,0]+    , [0,3]+    , [1,0,0,0]+    , [1,0,1]+    , [1,1,0]+    , [1,2]+    , [2,0,0]+    , [2,1]+    , [3,0]+    , [4]+    ]+  , ...+  ]
+ bench/tiers-txt/NoDupBool.txt view
@@ -0,0 +1,17 @@+map length (tiers :: [[ NoDup Bool ]])  =  [1,2,2]++length (list :: [ NoDup Bool ])  =  5++allUnique (list :: [ NoDup Bool ])  =  True++ratioRepetitions (list :: [ NoDup Bool ])  =  0 % 1++tiers :: [NoDup Bool]  =+  [ [NoDup []]+  , [ NoDup [False]+    , NoDup [True]+    ]+  , [ NoDup [False,True]+    , NoDup [True,False]+    ]+  ]
+ bench/tiers-txt/NoDupNat.txt view
@@ -0,0 +1,226 @@+map length (tiers :: [[ NoDup Nat ]])  =  [1,1,1,3,3,5,11,13,19,27,57,65,...]++length (list :: [ NoDup Nat ])  =  Infinity++allUnique (list :: [ NoDup Nat ])  =  True++ratioRepetitions (list :: [ NoDup Nat ])  =  0 % 1++tiers :: [NoDup Nat]  =+  [ [NoDup []]+  , [NoDup [0]]+  , [NoDup [1]]+  , [ NoDup [0,1]+    , NoDup [1,0]+    , NoDup [2]+    ]+  , [ NoDup [0,2]+    , NoDup [2,0]+    , NoDup [3]+    ]+  , [ NoDup [0,3]+    , NoDup [1,2]+    , NoDup [2,1]+    , NoDup [3,0]+    , NoDup [4]+    ]+  , [ NoDup [0,1,2]+    , NoDup [0,2,1]+    , NoDup [0,4]+    , NoDup [1,0,2]+    , NoDup [1,2,0]+    , NoDup [1,3]+    , NoDup [2,0,1]+    , NoDup [2,1,0]+    , NoDup [3,1]+    , NoDup [4,0]+    , NoDup [5]+    ]+  , [ NoDup [0,1,3]+    , NoDup [0,3,1]+    , NoDup [0,5]+    , NoDup [1,0,3]+    , NoDup [1,3,0]+    , NoDup [1,4]+    , NoDup [2,3]+    , NoDup [3,0,1]+    , NoDup [3,1,0]+    , NoDup [3,2]+    , NoDup [4,1]+    , NoDup [5,0]+    , NoDup [6]+    ]+  , [ NoDup [0,1,4]+    , NoDup [0,2,3]+    , NoDup [0,3,2]+    , NoDup [0,4,1]+    , NoDup [0,6]+    , NoDup [1,0,4]+    , NoDup [1,4,0]+    , NoDup [1,5]+    , NoDup [2,0,3]+    , NoDup [2,3,0]+    , NoDup [2,4]+    , NoDup [3,0,2]+    , NoDup [3,2,0]+    , NoDup [4,0,1]+    , NoDup [4,1,0]+    , NoDup [4,2]+    , NoDup [5,1]+    , NoDup [6,0]+    , NoDup [7]+    ]+  , [ NoDup [0,1,5]+    , NoDup [0,2,4]+    , NoDup [0,4,2]+    , NoDup [0,5,1]+    , NoDup [0,7]+    , NoDup [1,0,5]+    , NoDup [1,2,3]+    , NoDup [1,3,2]+    , NoDup [1,5,0]+    , NoDup [1,6]+    , NoDup [2,0,4]+    , NoDup [2,1,3]+    , NoDup [2,3,1]+    , NoDup [2,4,0]+    , NoDup [2,5]+    , NoDup [3,1,2]+    , NoDup [3,2,1]+    , NoDup [3,4]+    , NoDup [4,0,2]+    , NoDup [4,2,0]+    , NoDup [4,3]+    , NoDup [5,0,1]+    , NoDup [5,1,0]+    , NoDup [5,2]+    , NoDup [6,1]+    , NoDup [7,0]+    , NoDup [8]+    ]+  , [ NoDup [0,1,2,3]+    , NoDup [0,1,3,2]+    , NoDup [0,1,6]+    , NoDup [0,2,1,3]+    , NoDup [0,2,3,1]+    , NoDup [0,2,5]+    , NoDup [0,3,1,2]+    , NoDup [0,3,2,1]+    , NoDup [0,3,4]+    , NoDup [0,4,3]+    , NoDup [0,5,2]+    , NoDup [0,6,1]+    , NoDup [0,8]+    , NoDup [1,0,2,3]+    , NoDup [1,0,3,2]+    , NoDup [1,0,6]+    , NoDup [1,2,0,3]+    , NoDup [1,2,3,0]+    , NoDup [1,2,4]+    , NoDup [1,3,0,2]+    , NoDup [1,3,2,0]+    , NoDup [1,4,2]+    , NoDup [1,6,0]+    , NoDup [1,7]+    , NoDup [2,0,1,3]+    , NoDup [2,0,3,1]+    , NoDup [2,0,5]+    , NoDup [2,1,0,3]+    , NoDup [2,1,3,0]+    , NoDup [2,1,4]+    , NoDup [2,3,0,1]+    , NoDup [2,3,1,0]+    , NoDup [2,4,1]+    , NoDup [2,5,0]+    , NoDup [2,6]+    , NoDup [3,0,1,2]+    , NoDup [3,0,2,1]+    , NoDup [3,0,4]+    , NoDup [3,1,0,2]+    , NoDup [3,1,2,0]+    , NoDup [3,2,0,1]+    , NoDup [3,2,1,0]+    , NoDup [3,4,0]+    , NoDup [3,5]+    , NoDup [4,0,3]+    , NoDup [4,1,2]+    , NoDup [4,2,1]+    , NoDup [4,3,0]+    , NoDup [5,0,2]+    , NoDup [5,2,0]+    , NoDup [5,3]+    , NoDup [6,0,1]+    , NoDup [6,1,0]+    , NoDup [6,2]+    , NoDup [7,1]+    , NoDup [8,0]+    , NoDup [9]+    ]+  , [ NoDup [0,1,2,4]+    , NoDup [0,1,4,2]+    , NoDup [0,1,7]+    , NoDup [0,2,1,4]+    , NoDup [0,2,4,1]+    , NoDup [0,2,6]+    , NoDup [0,3,5]+    , NoDup [0,4,1,2]+    , NoDup [0,4,2,1]+    , NoDup [0,5,3]+    , NoDup [0,6,2]+    , NoDup [0,7,1]+    , NoDup [0,9]+    , NoDup [1,0,2,4]+    , NoDup [1,0,4,2]+    , NoDup [1,0,7]+    , NoDup [1,2,0,4]+    , NoDup [1,2,4,0]+    , NoDup [1,2,5]+    , NoDup [1,3,4]+    , NoDup [1,4,0,2]+    , NoDup [1,4,2,0]+    , NoDup [1,4,3]+    , NoDup [1,5,2]+    , NoDup [1,7,0]+    , NoDup [1,8]+    , NoDup [2,0,1,4]+    , NoDup [2,0,4,1]+    , NoDup [2,0,6]+    , NoDup [2,1,0,4]+    , NoDup [2,1,4,0]+    , NoDup [2,1,5]+    , NoDup [2,4,0,1]+    , NoDup [2,4,1,0]+    , NoDup [2,5,1]+    , NoDup [2,6,0]+    , NoDup [2,7]+    , NoDup [3,0,5]+    , NoDup [3,1,4]+    , NoDup [3,4,1]+    , NoDup [3,5,0]+    , NoDup [3,6]+    , NoDup [4,0,1,2]+    , NoDup [4,0,2,1]+    , NoDup [4,1,0,2]+    , NoDup [4,1,2,0]+    , NoDup [4,1,3]+    , NoDup [4,2,0,1]+    , NoDup [4,2,1,0]+    , NoDup [4,3,1]+    , NoDup [4,5]+    , NoDup [5,0,3]+    , NoDup [5,1,2]+    , NoDup [5,2,1]+    , NoDup [5,3,0]+    , NoDup [5,4]+    , NoDup [6,0,2]+    , NoDup [6,2,0]+    , NoDup [6,3]+    , NoDup [7,0,1]+    , NoDup [7,1,0]+    , NoDup [7,2]+    , NoDup [8,1]+    , NoDup [9,0]+    , NoDup [10]+    ]+  , ...+  ]
+ bench/tiers-txt/NoDupNat2.txt view
@@ -0,0 +1,16 @@+map length (tiers :: [[ NoDup Nat2 ]])  =  [1,1,1,2]++length (list :: [ NoDup Nat2 ])  =  5++allUnique (list :: [ NoDup Nat2 ])  =  True++ratioRepetitions (list :: [ NoDup Nat2 ])  =  0 % 1++tiers :: [NoDup Nat2]  =+  [ [NoDup []]+  , [NoDup [0]]+  , [NoDup [1]]+  , [ NoDup [0,1]+    , NoDup [1,0]+    ]+  ]
+ bench/tiers-txt/NoDupNat3.txt view
@@ -0,0 +1,30 @@+map length (tiers :: [[ NoDup Nat3 ]])  =  [1,1,1,3,2,2,6]++length (list :: [ NoDup Nat3 ])  =  Infinity++allUnique (list :: [ NoDup Nat3 ])  =  True++ratioRepetitions (list :: [ NoDup Nat3 ])  =  0 % 1++tiers :: [NoDup Nat3]  =+  [ [NoDup []]+  , [NoDup [0]]+  , [NoDup [1]]+  , [ NoDup [0,1]+    , NoDup [1,0]+    , NoDup [2]+    ]+  , [ NoDup [0,2]+    , NoDup [2,0]+    ]+  , [ NoDup [1,2]+    , NoDup [2,1]+    ]+  , [ NoDup [0,1,2]+    , NoDup [0,2,1]+    , NoDup [1,0,2]+    , NoDup [1,2,0]+    , NoDup [2,0,1]+    , NoDup [2,1,0]+    ]+  ]
+ bench/tiers-txt/NoDupU.txt view
@@ -0,0 +1,12 @@+map length (tiers :: [[ NoDup () ]])  =  [1,1]++length (list :: [ NoDup () ])  =  2++allUnique (list :: [ NoDup () ])  =  True++ratioRepetitions (list :: [ NoDup () ])  =  0 % 1++tiers :: [NoDup ()]  =+  [ [NoDup []]+  , [NoDup [()]]+  ]
+ bench/tiers-txt/Rational.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Rational ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Rational ])  =  Infinity++allUnique (list :: [ Rational ])  =  True++ratioRepetitions (list :: [ Rational ])  =  0 % 1++tiers :: [Rational]  =+  [ [0 % 1]+  , [1 % 1]+  , [(-1) % 1]+  , [1 % 2]+  , [(-1) % 2]+  , [2 % 1]+  , [(-2) % 1]+  , [1 % 3]+  , [(-1) % 3]+  , [3 % 2]+  , [(-3) % 2]+  , [2 % 3]+  , ...+  ]
+ bench/tiers-txt/SetBool.txt view
@@ -0,0 +1,15 @@+map length (tiers :: [[ Set Bool ]])  =  [1,2,1]++length (list :: [ Set Bool ])  =  4++allUnique (list :: [ Set Bool ])  =  True++ratioRepetitions (list :: [ Set Bool ])  =  0 % 1++tiers :: [Set Bool]  =+  [ [Set []]+  , [ Set [False]+    , Set [True]+    ]+  , [Set [False,True]]+  ]
+ bench/tiers-txt/SetNat.txt view
@@ -0,0 +1,75 @@+map length (tiers :: [[ Set Nat ]])  =  [1,1,1,2,2,3,4,5,6,8,10,12,...]++length (list :: [ Set Nat ])  =  Infinity++allUnique (list :: [ Set Nat ])  =  True++ratioRepetitions (list :: [ Set Nat ])  =  0 % 1++tiers :: [Set Nat]  =+  [ [Set []]+  , [Set [0]]+  , [Set [1]]+  , [ Set [0,1]+    , Set [2]+    ]+  , [ Set [0,2]+    , Set [3]+    ]+  , [ Set [0,3]+    , Set [1,2]+    , Set [4]+    ]+  , [ Set [0,1,2]+    , Set [0,4]+    , Set [1,3]+    , Set [5]+    ]+  , [ Set [0,1,3]+    , Set [0,5]+    , Set [1,4]+    , Set [2,3]+    , Set [6]+    ]+  , [ Set [0,1,4]+    , Set [0,2,3]+    , Set [0,6]+    , Set [1,5]+    , Set [2,4]+    , Set [7]+    ]+  , [ Set [0,1,5]+    , Set [0,2,4]+    , Set [0,7]+    , Set [1,2,3]+    , Set [1,6]+    , Set [2,5]+    , Set [3,4]+    , Set [8]+    ]+  , [ Set [0,1,2,3]+    , Set [0,1,6]+    , Set [0,2,5]+    , Set [0,3,4]+    , Set [0,8]+    , Set [1,2,4]+    , Set [1,7]+    , Set [2,6]+    , Set [3,5]+    , Set [9]+    ]+  , [ Set [0,1,2,4]+    , Set [0,1,7]+    , Set [0,2,6]+    , Set [0,3,5]+    , Set [0,9]+    , Set [1,2,5]+    , Set [1,3,4]+    , Set [1,8]+    , Set [2,7]+    , Set [3,6]+    , Set [4,5]+    , Set [10]+    ]+  , ...+  ]
+ bench/tiers-txt/SetNat2.txt view
@@ -0,0 +1,14 @@+map length (tiers :: [[ Set Nat2 ]])  =  [1,1,1,1]++length (list :: [ Set Nat2 ])  =  4++allUnique (list :: [ Set Nat2 ])  =  True++ratioRepetitions (list :: [ Set Nat2 ])  =  0 % 1++tiers :: [Set Nat2]  =+  [ [Set []]+  , [Set [0]]+  , [Set [1]]+  , [Set [0,1]]+  ]
+ bench/tiers-txt/SetNat3.txt view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Set Nat3 ]])  =  [1,1,1,2,1,1,1]++length (list :: [ Set Nat3 ])  =  8++allUnique (list :: [ Set Nat3 ])  =  True++ratioRepetitions (list :: [ Set Nat3 ])  =  0 % 1++tiers :: [Set Nat3]  =+  [ [Set []]+  , [Set [0]]+  , [Set [1]]+  , [ Set [0,1]+    , Set [2]+    ]+  , [Set [0,2]]+  , [Set [1,2]]+  , [Set [0,1,2]]+  ]
+ bench/tiers-txt/SetU.txt view
@@ -0,0 +1,12 @@+map length (tiers :: [[ Set () ]])  =  [1,1]++length (list :: [ Set () ])  =  2++allUnique (list :: [ Set () ])  =  True++ratioRepetitions (list :: [ Set () ])  =  0 % 1++tiers :: [Set ()]  =+  [ [Set []]+  , [Set [()]]+  ]
+ bench/tiers-txt/String.txt view
@@ -0,0 +1,47 @@+map length (tiers :: [[ String ]])  =  [1,1,2,4,8,16,...]++length (list :: [ String ])  =  Infinity++allUnique (list :: [ String ])  =  True++ratioRepetitions (list :: [ String ])  =  0 % 1++tiers :: [String]  =+  [ [""]+  , ["a"]+  , [ "aa"+    , " "+    ]+  , [ "aaa"+    , "a "+    , " a"+    , "b"+    ]+  , [ "aaaa"+    , "aa "+    , "a a"+    , "ab"+    , " aa"+    , "  "+    , "ba"+    , "A"+    ]+  , [ "aaaaa"+    , "aaa "+    , "aa a"+    , "aab"+    , "a aa"+    , "a  "+    , "aba"+    , "aA"+    , " aaa"+    , " a "+    , "  a"+    , " b"+    , "baa"+    , "b "+    , "Aa"+    , "c"+    ]+  , ...+  ]
+ bench/tiers-txt/U,Us.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ [((),())] ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ [((),())] ])  =  Infinity++allUnique (list :: [ [((),())] ])  =  True++ratioRepetitions (list :: [ [((),())] ])  =  0 % 1++tiers :: [[((),())]]  =+  [ [[]]+  , [[((),())]]+  , [[((),()),((),())]]+  , [[((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+  , ...+  ]
+ bench/tiers-txt/U.txt view
@@ -0,0 +1,10 @@+map length (tiers :: [[ () ]])  =  [1]++length (list :: [ () ])  =  1++allUnique (list :: [ () ])  =  True++ratioRepetitions (list :: [ () ])  =  0 % 1++tiers :: [()]  =+  [[()]]
+ bench/tiers-txt/Us,Us.txt view
@@ -0,0 +1,100 @@+map length (tiers :: [[ ([()],[()]) ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ ([()],[()]) ])  =  Infinity++allUnique (list :: [ ([()],[()]) ])  =  True++ratioRepetitions (list :: [ ([()],[()]) ])  =  0 % 1++tiers :: [([()],[()])]  =+  [ [([],[])]+  , [ ([],[()])+    , ([()],[])+    ]+  , [ ([],[(),()])+    , ([()],[()])+    , ([(),()],[])+    ]+  , [ ([],[(),(),()])+    , ([()],[(),()])+    , ([(),()],[()])+    , ([(),(),()],[])+    ]+  , [ ([],[(),(),(),()])+    , ([()],[(),(),()])+    , ([(),()],[(),()])+    , ([(),(),()],[()])+    , ([(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),()])+    , ([()],[(),(),(),()])+    , ([(),()],[(),(),()])+    , ([(),(),()],[(),()])+    , ([(),(),(),()],[()])+    , ([(),(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),(),()])+    , ([()],[(),(),(),(),()])+    , ([(),()],[(),(),(),()])+    , ([(),(),()],[(),(),()])+    , ([(),(),(),()],[(),()])+    , ([(),(),(),(),()],[()])+    , ([(),(),(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),(),(),()])+    , ([()],[(),(),(),(),(),()])+    , ([(),()],[(),(),(),(),()])+    , ([(),(),()],[(),(),(),()])+    , ([(),(),(),()],[(),(),()])+    , ([(),(),(),(),()],[(),()])+    , ([(),(),(),(),(),()],[()])+    , ([(),(),(),(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),(),(),(),()])+    , ([()],[(),(),(),(),(),(),()])+    , ([(),()],[(),(),(),(),(),()])+    , ([(),(),()],[(),(),(),(),()])+    , ([(),(),(),()],[(),(),(),()])+    , ([(),(),(),(),()],[(),(),()])+    , ([(),(),(),(),(),()],[(),()])+    , ([(),(),(),(),(),(),()],[()])+    , ([(),(),(),(),(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),(),(),(),(),()])+    , ([()],[(),(),(),(),(),(),(),()])+    , ([(),()],[(),(),(),(),(),(),()])+    , ([(),(),()],[(),(),(),(),(),()])+    , ([(),(),(),()],[(),(),(),(),()])+    , ([(),(),(),(),()],[(),(),(),()])+    , ([(),(),(),(),(),()],[(),(),()])+    , ([(),(),(),(),(),(),()],[(),()])+    , ([(),(),(),(),(),(),(),()],[()])+    , ([(),(),(),(),(),(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),(),(),(),(),(),()])+    , ([()],[(),(),(),(),(),(),(),(),()])+    , ([(),()],[(),(),(),(),(),(),(),()])+    , ([(),(),()],[(),(),(),(),(),(),()])+    , ([(),(),(),()],[(),(),(),(),(),()])+    , ([(),(),(),(),()],[(),(),(),(),()])+    , ([(),(),(),(),(),()],[(),(),(),()])+    , ([(),(),(),(),(),(),()],[(),(),()])+    , ([(),(),(),(),(),(),(),()],[(),()])+    , ([(),(),(),(),(),(),(),(),()],[()])+    , ([(),(),(),(),(),(),(),(),(),()],[])+    ]+  , [ ([],[(),(),(),(),(),(),(),(),(),(),()])+    , ([()],[(),(),(),(),(),(),(),(),(),()])+    , ([(),()],[(),(),(),(),(),(),(),(),()])+    , ([(),(),()],[(),(),(),(),(),(),(),()])+    , ([(),(),(),()],[(),(),(),(),(),(),()])+    , ([(),(),(),(),()],[(),(),(),(),(),()])+    , ([(),(),(),(),(),()],[(),(),(),(),()])+    , ([(),(),(),(),(),(),()],[(),(),(),()])+    , ([(),(),(),(),(),(),(),()],[(),(),()])+    , ([(),(),(),(),(),(),(),(),()],[(),()])+    , ([(),(),(),(),(),(),(),(),(),()],[()])+    , ([(),(),(),(),(),(),(),(),(),(),()],[])+    ]+  , ...+  ]
+ bench/tiers-txt/Us.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ [()] ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ [()] ])  =  Infinity++allUnique (list :: [ [()] ])  =  True++ratioRepetitions (list :: [ [()] ])  =  0 % 1++tiers :: [[()]]  =+  [ [[]]+  , [[()]]+  , [[(),()]]+  , [[(),(),()]]+  , [[(),(),(),()]]+  , [[(),(),(),(),()]]+  , [[(),(),(),(),(),()]]+  , [[(),(),(),(),(),(),()]]+  , [[(),(),(),(),(),(),(),()]]+  , [[(),(),(),(),(),(),(),(),()]]+  , [[(),(),(),(),(),(),(),(),(),()]]+  , [[(),(),(),(),(),(),(),(),(),(),()]]+  , ...+  ]
+ bench/tiers-txt/Word2.txt view
@@ -0,0 +1,14 @@+map length (tiers :: [[ Word2 ]])  =  [1,1,1,1]++length (list :: [ Word2 ])  =  4++allUnique (list :: [ Word2 ])  =  True++ratioRepetitions (list :: [ Word2 ])  =  0 % 1++tiers :: [Word2]  =+  [ [0]+  , [1]+  , [2]+  , [3]+  ]
+ bench/tiers-txt/Word3.txt view
@@ -0,0 +1,18 @@+map length (tiers :: [[ Word3 ]])  =  [1,1,1,1,1,1,1,1]++length (list :: [ Word3 ])  =  8++allUnique (list :: [ Word3 ])  =  True++ratioRepetitions (list :: [ Word3 ])  =  0 % 1++tiers :: [Word3]  =+  [ [0]+  , [1]+  , [2]+  , [3]+  , [4]+  , [5]+  , [6]+  , [7]+  ]
+ bench/tiers-txt/Word4.txt view
@@ -0,0 +1,26 @@+map length (tiers :: [[ Word4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]++length (list :: [ Word4 ])  =  Infinity++allUnique (list :: [ Word4 ])  =  True++ratioRepetitions (list :: [ Word4 ])  =  0 % 1++tiers :: [Word4]  =+  [ [0]+  , [1]+  , [2]+  , [3]+  , [4]+  , [5]+  , [6]+  , [7]+  , [8]+  , [9]+  , [10]+  , [11]+  , [12]+  , [13]+  , [14]+  , [15]+  ]
+ bench/tiers-txt/Word8.txt view
@@ -0,0 +1,266 @@+map length (tiers :: [[ Word8 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]++length (list :: [ Word8 ])  =  Infinity++allUnique (list :: [ Word8 ])  =  True++ratioRepetitions (list :: [ Word8 ])  =  0 % 1++tiers :: [Word8]  =+  [ [0]+  , [1]+  , [2]+  , [3]+  , [4]+  , [5]+  , [6]+  , [7]+  , [8]+  , [9]+  , [10]+  , [11]+  , [12]+  , [13]+  , [14]+  , [15]+  , [16]+  , [17]+  , [18]+  , [19]+  , [20]+  , [21]+  , [22]+  , [23]+  , [24]+  , [25]+  , [26]+  , [27]+  , [28]+  , [29]+  , [30]+  , [31]+  , [32]+  , [33]+  , [34]+  , [35]+  , [36]+  , [37]+  , [38]+  , [39]+  , [40]+  , [41]+  , [42]+  , [43]+  , [44]+  , [45]+  , [46]+  , [47]+  , [48]+  , [49]+  , [50]+  , [51]+  , [52]+  , [53]+  , [54]+  , [55]+  , [56]+  , [57]+  , [58]+  , [59]+  , [60]+  , [61]+  , [62]+  , [63]+  , [64]+  , [65]+  , [66]+  , [67]+  , [68]+  , [69]+  , [70]+  , [71]+  , [72]+  , [73]+  , [74]+  , [75]+  , [76]+  , [77]+  , [78]+  , [79]+  , [80]+  , [81]+  , [82]+  , [83]+  , [84]+  , [85]+  , [86]+  , [87]+  , [88]+  , [89]+  , [90]+  , [91]+  , [92]+  , [93]+  , [94]+  , [95]+  , [96]+  , [97]+  , [98]+  , [99]+  , [100]+  , [101]+  , [102]+  , [103]+  , [104]+  , [105]+  , [106]+  , [107]+  , [108]+  , [109]+  , [110]+  , [111]+  , [112]+  , [113]+  , [114]+  , [115]+  , [116]+  , [117]+  , [118]+  , [119]+  , [120]+  , [121]+  , [122]+  , [123]+  , [124]+  , [125]+  , [126]+  , [127]+  , [128]+  , [129]+  , [130]+  , [131]+  , [132]+  , [133]+  , [134]+  , [135]+  , [136]+  , [137]+  , [138]+  , [139]+  , [140]+  , [141]+  , [142]+  , [143]+  , [144]+  , [145]+  , [146]+  , [147]+  , [148]+  , [149]+  , [150]+  , [151]+  , [152]+  , [153]+  , [154]+  , [155]+  , [156]+  , [157]+  , [158]+  , [159]+  , [160]+  , [161]+  , [162]+  , [163]+  , [164]+  , [165]+  , [166]+  , [167]+  , [168]+  , [169]+  , [170]+  , [171]+  , [172]+  , [173]+  , [174]+  , [175]+  , [176]+  , [177]+  , [178]+  , [179]+  , [180]+  , [181]+  , [182]+  , [183]+  , [184]+  , [185]+  , [186]+  , [187]+  , [188]+  , [189]+  , [190]+  , [191]+  , [192]+  , [193]+  , [194]+  , [195]+  , [196]+  , [197]+  , [198]+  , [199]+  , [200]+  , [201]+  , [202]+  , [203]+  , [204]+  , [205]+  , [206]+  , [207]+  , [208]+  , [209]+  , [210]+  , [211]+  , [212]+  , [213]+  , [214]+  , [215]+  , [216]+  , [217]+  , [218]+  , [219]+  , [220]+  , [221]+  , [222]+  , [223]+  , [224]+  , [225]+  , [226]+  , [227]+  , [228]+  , [229]+  , [230]+  , [231]+  , [232]+  , [233]+  , [234]+  , [235]+  , [236]+  , [237]+  , [238]+  , [239]+  , [240]+  , [241]+  , [242]+  , [243]+  , [244]+  , [245]+  , [246]+  , [247]+  , [248]+  , [249]+  , [250]+  , [251]+  , [252]+  , [253]+  , [254]+  , [255]+  ]
+ bench/tiers-txt/XInt4.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ X Int4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ X Int4 ])  =  Infinity++allUnique (list :: [ X Int4 ])  =  True++ratioRepetitions (list :: [ X Int4 ])  =  0 % 1++tiers :: [X Int4]  =+  [ [0]+  , [1]+  , [-1]+  , [7]+  , [-8]+  , [2]+  , [-2]+  , [6]+  , [-7]+  , [3]+  , [-3]+  , [5]+  , ...+  ]
+ bench/tiers-txt/XNat7.txt view
@@ -0,0 +1,17 @@+map length (tiers :: [[ X Nat7 ]])  =  [1,1,1,1,1,1,1]++length (list :: [ X Nat7 ])  =  7++allUnique (list :: [ X Nat7 ])  =  True++ratioRepetitions (list :: [ X Nat7 ])  =  0 % 1++tiers :: [X Nat7]  =+  [ [0]+  , [1]+  , [2]+  , [6]+  , [3]+  , [4]+  , [5]+  ]
+ bench/tiers-txt/XWord4.txt view
@@ -0,0 +1,23 @@+map length (tiers :: [[ X Word4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ X Word4 ])  =  Infinity++allUnique (list :: [ X Word4 ])  =  True++ratioRepetitions (list :: [ X Word4 ])  =  0 % 1++tiers :: [X Word4]  =+  [ [0]+  , [1]+  , [2]+  , [15]+  , [3]+  , [4]+  , [14]+  , [5]+  , [6]+  , [13]+  , [7]+  , [8]+  , ...+  ]
+ bench/tiers-txt/XsInt4.txt view
@@ -0,0 +1,1045 @@+map length (tiers :: [[ Xs Int4 ]])  =  [0,1,1,2,4,8,16,32,64,128,256,512,...]++length (list :: [ Xs Int4 ])  =  Infinity++allUnique (list :: [ Xs Int4 ])  =  True++ratioRepetitions (list :: [ Xs Int4 ])  =  0 % 1++tiers :: [Xs Int4]  =+  [ []+  , [Xs []]+  , [Xs [0]]+  , [ Xs [0,0]+    , Xs [1]+    ]+  , [ Xs [0,0,0]+    , Xs [0,1]+    , Xs [1,0]+    , Xs [-1]+    ]+  , [ Xs [0,0,0,0]+    , Xs [0,0,1]+    , Xs [0,1,0]+    , Xs [0,-1]+    , Xs [1,0,0]+    , Xs [1,1]+    , Xs [-1,0]+    , Xs [7]+    ]+  , [ Xs [0,0,0,0,0]+    , Xs [0,0,0,1]+    , Xs [0,0,1,0]+    , Xs [0,0,-1]+    , Xs [0,1,0,0]+    , Xs [0,1,1]+    , Xs [0,-1,0]+    , Xs [0,7]+    , Xs [1,0,0,0]+    , Xs [1,0,1]+    , Xs [1,1,0]+    , Xs [1,-1]+    , Xs [-1,0,0]+    , Xs [-1,1]+    , Xs [7,0]+    , Xs [-8]+    ]+  , [ Xs [0,0,0,0,0,0]+    , Xs [0,0,0,0,1]+    , Xs [0,0,0,1,0]+    , Xs [0,0,0,-1]+    , Xs [0,0,1,0,0]+    , Xs [0,0,1,1]+    , Xs [0,0,-1,0]+    , Xs [0,0,7]+    , Xs [0,1,0,0,0]+    , Xs [0,1,0,1]+    , Xs [0,1,1,0]+    , Xs [0,1,-1]+    , Xs [0,-1,0,0]+    , Xs [0,-1,1]+    , Xs [0,7,0]+    , Xs [0,-8]+    , Xs [1,0,0,0,0]+    , Xs [1,0,0,1]+    , Xs [1,0,1,0]+    , Xs [1,0,-1]+    , Xs [1,1,0,0]+    , Xs [1,1,1]+    , Xs [1,-1,0]+    , Xs [1,7]+    , Xs [-1,0,0,0]+    , Xs [-1,0,1]+    , Xs [-1,1,0]+    , Xs [-1,-1]+    , Xs [7,0,0]+    , Xs [7,1]+    , Xs [-8,0]+    , Xs [2]+    ]+  , [ Xs [0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,1]+    , Xs [0,0,0,0,1,0]+    , Xs [0,0,0,0,-1]+    , Xs [0,0,0,1,0,0]+    , Xs [0,0,0,1,1]+    , Xs [0,0,0,-1,0]+    , Xs [0,0,0,7]+    , Xs [0,0,1,0,0,0]+    , Xs [0,0,1,0,1]+    , Xs [0,0,1,1,0]+    , Xs [0,0,1,-1]+    , Xs [0,0,-1,0,0]+    , Xs [0,0,-1,1]+    , Xs [0,0,7,0]+    , Xs [0,0,-8]+    , Xs [0,1,0,0,0,0]+    , Xs [0,1,0,0,1]+    , Xs [0,1,0,1,0]+    , Xs [0,1,0,-1]+    , Xs [0,1,1,0,0]+    , Xs [0,1,1,1]+    , Xs [0,1,-1,0]+    , Xs [0,1,7]+    , Xs [0,-1,0,0,0]+    , Xs [0,-1,0,1]+    , Xs [0,-1,1,0]+    , Xs [0,-1,-1]+    , Xs [0,7,0,0]+    , Xs [0,7,1]+    , Xs [0,-8,0]+    , Xs [0,2]+    , Xs [1,0,0,0,0,0]+    , Xs [1,0,0,0,1]+    , Xs [1,0,0,1,0]+    , Xs [1,0,0,-1]+    , Xs [1,0,1,0,0]+    , Xs [1,0,1,1]+    , Xs [1,0,-1,0]+    , Xs [1,0,7]+    , Xs [1,1,0,0,0]+    , Xs [1,1,0,1]+    , Xs [1,1,1,0]+    , Xs [1,1,-1]+    , Xs [1,-1,0,0]+    , Xs [1,-1,1]+    , Xs [1,7,0]+    , Xs [1,-8]+    , Xs [-1,0,0,0,0]+    , Xs [-1,0,0,1]+    , Xs [-1,0,1,0]+    , Xs [-1,0,-1]+    , Xs [-1,1,0,0]+    , Xs [-1,1,1]+    , Xs [-1,-1,0]+    , Xs [-1,7]+    , Xs [7,0,0,0]+    , Xs [7,0,1]+    , Xs [7,1,0]+    , Xs [7,-1]+    , Xs [-8,0,0]+    , Xs [-8,1]+    , Xs [2,0]+    , Xs [-2]+    ]+  , [ Xs [0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,-1]+    , Xs [0,0,0,0,1,0,0]+    , Xs [0,0,0,0,1,1]+    , Xs [0,0,0,0,-1,0]+    , Xs [0,0,0,0,7]+    , Xs [0,0,0,1,0,0,0]+    , Xs [0,0,0,1,0,1]+    , Xs [0,0,0,1,1,0]+    , Xs [0,0,0,1,-1]+    , Xs [0,0,0,-1,0,0]+    , Xs [0,0,0,-1,1]+    , Xs [0,0,0,7,0]+    , Xs [0,0,0,-8]+    , Xs [0,0,1,0,0,0,0]+    , Xs [0,0,1,0,0,1]+    , Xs [0,0,1,0,1,0]+    , Xs [0,0,1,0,-1]+    , Xs [0,0,1,1,0,0]+    , Xs [0,0,1,1,1]+    , Xs [0,0,1,-1,0]+    , Xs [0,0,1,7]+    , Xs [0,0,-1,0,0,0]+    , Xs [0,0,-1,0,1]+    , Xs [0,0,-1,1,0]+    , Xs [0,0,-1,-1]+    , Xs [0,0,7,0,0]+    , Xs [0,0,7,1]+    , Xs [0,0,-8,0]+    , Xs [0,0,2]+    , Xs [0,1,0,0,0,0,0]+    , Xs [0,1,0,0,0,1]+    , Xs [0,1,0,0,1,0]+    , Xs [0,1,0,0,-1]+    , Xs [0,1,0,1,0,0]+    , Xs [0,1,0,1,1]+    , Xs [0,1,0,-1,0]+    , Xs [0,1,0,7]+    , Xs [0,1,1,0,0,0]+    , Xs [0,1,1,0,1]+    , Xs [0,1,1,1,0]+    , Xs [0,1,1,-1]+    , Xs [0,1,-1,0,0]+    , Xs [0,1,-1,1]+    , Xs [0,1,7,0]+    , Xs [0,1,-8]+    , Xs [0,-1,0,0,0,0]+    , Xs [0,-1,0,0,1]+    , Xs [0,-1,0,1,0]+    , Xs [0,-1,0,-1]+    , Xs [0,-1,1,0,0]+    , Xs [0,-1,1,1]+    , Xs [0,-1,-1,0]+    , Xs [0,-1,7]+    , Xs [0,7,0,0,0]+    , Xs [0,7,0,1]+    , Xs [0,7,1,0]+    , Xs [0,7,-1]+    , Xs [0,-8,0,0]+    , Xs [0,-8,1]+    , Xs [0,2,0]+    , Xs [0,-2]+    , Xs [1,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,1]+    , Xs [1,0,0,0,1,0]+    , Xs [1,0,0,0,-1]+    , Xs [1,0,0,1,0,0]+    , Xs [1,0,0,1,1]+    , Xs [1,0,0,-1,0]+    , Xs [1,0,0,7]+    , Xs [1,0,1,0,0,0]+    , Xs [1,0,1,0,1]+    , Xs [1,0,1,1,0]+    , Xs [1,0,1,-1]+    , Xs [1,0,-1,0,0]+    , Xs [1,0,-1,1]+    , Xs [1,0,7,0]+    , Xs [1,0,-8]+    , Xs [1,1,0,0,0,0]+    , Xs [1,1,0,0,1]+    , Xs [1,1,0,1,0]+    , Xs [1,1,0,-1]+    , Xs [1,1,1,0,0]+    , Xs [1,1,1,1]+    , Xs [1,1,-1,0]+    , Xs [1,1,7]+    , Xs [1,-1,0,0,0]+    , Xs [1,-1,0,1]+    , Xs [1,-1,1,0]+    , Xs [1,-1,-1]+    , Xs [1,7,0,0]+    , Xs [1,7,1]+    , Xs [1,-8,0]+    , Xs [1,2]+    , Xs [-1,0,0,0,0,0]+    , Xs [-1,0,0,0,1]+    , Xs [-1,0,0,1,0]+    , Xs [-1,0,0,-1]+    , Xs [-1,0,1,0,0]+    , Xs [-1,0,1,1]+    , Xs [-1,0,-1,0]+    , Xs [-1,0,7]+    , Xs [-1,1,0,0,0]+    , Xs [-1,1,0,1]+    , Xs [-1,1,1,0]+    , Xs [-1,1,-1]+    , Xs [-1,-1,0,0]+    , Xs [-1,-1,1]+    , Xs [-1,7,0]+    , Xs [-1,-8]+    , Xs [7,0,0,0,0]+    , Xs [7,0,0,1]+    , Xs [7,0,1,0]+    , Xs [7,0,-1]+    , Xs [7,1,0,0]+    , Xs [7,1,1]+    , Xs [7,-1,0]+    , Xs [7,7]+    , Xs [-8,0,0,0]+    , Xs [-8,0,1]+    , Xs [-8,1,0]+    , Xs [-8,-1]+    , Xs [2,0,0]+    , Xs [2,1]+    , Xs [-2,0]+    , Xs [6]+    ]+  , [ Xs [0,0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,0,-1]+    , Xs [0,0,0,0,0,1,0,0]+    , Xs [0,0,0,0,0,1,1]+    , Xs [0,0,0,0,0,-1,0]+    , Xs [0,0,0,0,0,7]+    , Xs [0,0,0,0,1,0,0,0]+    , Xs [0,0,0,0,1,0,1]+    , Xs [0,0,0,0,1,1,0]+    , Xs [0,0,0,0,1,-1]+    , Xs [0,0,0,0,-1,0,0]+    , Xs [0,0,0,0,-1,1]+    , Xs [0,0,0,0,7,0]+    , Xs [0,0,0,0,-8]+    , Xs [0,0,0,1,0,0,0,0]+    , Xs [0,0,0,1,0,0,1]+    , Xs [0,0,0,1,0,1,0]+    , Xs [0,0,0,1,0,-1]+    , Xs [0,0,0,1,1,0,0]+    , Xs [0,0,0,1,1,1]+    , Xs [0,0,0,1,-1,0]+    , Xs [0,0,0,1,7]+    , Xs [0,0,0,-1,0,0,0]+    , Xs [0,0,0,-1,0,1]+    , Xs [0,0,0,-1,1,0]+    , Xs [0,0,0,-1,-1]+    , Xs [0,0,0,7,0,0]+    , Xs [0,0,0,7,1]+    , Xs [0,0,0,-8,0]+    , Xs [0,0,0,2]+    , Xs [0,0,1,0,0,0,0,0]+    , Xs [0,0,1,0,0,0,1]+    , Xs [0,0,1,0,0,1,0]+    , Xs [0,0,1,0,0,-1]+    , Xs [0,0,1,0,1,0,0]+    , Xs [0,0,1,0,1,1]+    , Xs [0,0,1,0,-1,0]+    , Xs [0,0,1,0,7]+    , Xs [0,0,1,1,0,0,0]+    , Xs [0,0,1,1,0,1]+    , Xs [0,0,1,1,1,0]+    , Xs [0,0,1,1,-1]+    , Xs [0,0,1,-1,0,0]+    , Xs [0,0,1,-1,1]+    , Xs [0,0,1,7,0]+    , Xs [0,0,1,-8]+    , Xs [0,0,-1,0,0,0,0]+    , Xs [0,0,-1,0,0,1]+    , Xs [0,0,-1,0,1,0]+    , Xs [0,0,-1,0,-1]+    , Xs [0,0,-1,1,0,0]+    , Xs [0,0,-1,1,1]+    , Xs [0,0,-1,-1,0]+    , Xs [0,0,-1,7]+    , Xs [0,0,7,0,0,0]+    , Xs [0,0,7,0,1]+    , Xs [0,0,7,1,0]+    , Xs [0,0,7,-1]+    , Xs [0,0,-8,0,0]+    , Xs [0,0,-8,1]+    , Xs [0,0,2,0]+    , Xs [0,0,-2]+    , Xs [0,1,0,0,0,0,0,0]+    , Xs [0,1,0,0,0,0,1]+    , Xs [0,1,0,0,0,1,0]+    , Xs [0,1,0,0,0,-1]+    , Xs [0,1,0,0,1,0,0]+    , Xs [0,1,0,0,1,1]+    , Xs [0,1,0,0,-1,0]+    , Xs [0,1,0,0,7]+    , Xs [0,1,0,1,0,0,0]+    , Xs [0,1,0,1,0,1]+    , Xs [0,1,0,1,1,0]+    , Xs [0,1,0,1,-1]+    , Xs [0,1,0,-1,0,0]+    , Xs [0,1,0,-1,1]+    , Xs [0,1,0,7,0]+    , Xs [0,1,0,-8]+    , Xs [0,1,1,0,0,0,0]+    , Xs [0,1,1,0,0,1]+    , Xs [0,1,1,0,1,0]+    , Xs [0,1,1,0,-1]+    , Xs [0,1,1,1,0,0]+    , Xs [0,1,1,1,1]+    , Xs [0,1,1,-1,0]+    , Xs [0,1,1,7]+    , Xs [0,1,-1,0,0,0]+    , Xs [0,1,-1,0,1]+    , Xs [0,1,-1,1,0]+    , Xs [0,1,-1,-1]+    , Xs [0,1,7,0,0]+    , Xs [0,1,7,1]+    , Xs [0,1,-8,0]+    , Xs [0,1,2]+    , Xs [0,-1,0,0,0,0,0]+    , Xs [0,-1,0,0,0,1]+    , Xs [0,-1,0,0,1,0]+    , Xs [0,-1,0,0,-1]+    , Xs [0,-1,0,1,0,0]+    , Xs [0,-1,0,1,1]+    , Xs [0,-1,0,-1,0]+    , Xs [0,-1,0,7]+    , Xs [0,-1,1,0,0,0]+    , Xs [0,-1,1,0,1]+    , Xs [0,-1,1,1,0]+    , Xs [0,-1,1,-1]+    , Xs [0,-1,-1,0,0]+    , Xs [0,-1,-1,1]+    , Xs [0,-1,7,0]+    , Xs [0,-1,-8]+    , Xs [0,7,0,0,0,0]+    , Xs [0,7,0,0,1]+    , Xs [0,7,0,1,0]+    , Xs [0,7,0,-1]+    , Xs [0,7,1,0,0]+    , Xs [0,7,1,1]+    , Xs [0,7,-1,0]+    , Xs [0,7,7]+    , Xs [0,-8,0,0,0]+    , Xs [0,-8,0,1]+    , Xs [0,-8,1,0]+    , Xs [0,-8,-1]+    , Xs [0,2,0,0]+    , Xs [0,2,1]+    , Xs [0,-2,0]+    , Xs [0,6]+    , Xs [1,0,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,0,1]+    , Xs [1,0,0,0,0,1,0]+    , Xs [1,0,0,0,0,-1]+    , Xs [1,0,0,0,1,0,0]+    , Xs [1,0,0,0,1,1]+    , Xs [1,0,0,0,-1,0]+    , Xs [1,0,0,0,7]+    , Xs [1,0,0,1,0,0,0]+    , Xs [1,0,0,1,0,1]+    , Xs [1,0,0,1,1,0]+    , Xs [1,0,0,1,-1]+    , Xs [1,0,0,-1,0,0]+    , Xs [1,0,0,-1,1]+    , Xs [1,0,0,7,0]+    , Xs [1,0,0,-8]+    , Xs [1,0,1,0,0,0,0]+    , Xs [1,0,1,0,0,1]+    , Xs [1,0,1,0,1,0]+    , Xs [1,0,1,0,-1]+    , Xs [1,0,1,1,0,0]+    , Xs [1,0,1,1,1]+    , Xs [1,0,1,-1,0]+    , Xs [1,0,1,7]+    , Xs [1,0,-1,0,0,0]+    , Xs [1,0,-1,0,1]+    , Xs [1,0,-1,1,0]+    , Xs [1,0,-1,-1]+    , Xs [1,0,7,0,0]+    , Xs [1,0,7,1]+    , Xs [1,0,-8,0]+    , Xs [1,0,2]+    , Xs [1,1,0,0,0,0,0]+    , Xs [1,1,0,0,0,1]+    , Xs [1,1,0,0,1,0]+    , Xs [1,1,0,0,-1]+    , Xs [1,1,0,1,0,0]+    , Xs [1,1,0,1,1]+    , Xs [1,1,0,-1,0]+    , Xs [1,1,0,7]+    , Xs [1,1,1,0,0,0]+    , Xs [1,1,1,0,1]+    , Xs [1,1,1,1,0]+    , Xs [1,1,1,-1]+    , Xs [1,1,-1,0,0]+    , Xs [1,1,-1,1]+    , Xs [1,1,7,0]+    , Xs [1,1,-8]+    , Xs [1,-1,0,0,0,0]+    , Xs [1,-1,0,0,1]+    , Xs [1,-1,0,1,0]+    , Xs [1,-1,0,-1]+    , Xs [1,-1,1,0,0]+    , Xs [1,-1,1,1]+    , Xs [1,-1,-1,0]+    , Xs [1,-1,7]+    , Xs [1,7,0,0,0]+    , Xs [1,7,0,1]+    , Xs [1,7,1,0]+    , Xs [1,7,-1]+    , Xs [1,-8,0,0]+    , Xs [1,-8,1]+    , Xs [1,2,0]+    , Xs [1,-2]+    , Xs [-1,0,0,0,0,0,0]+    , Xs [-1,0,0,0,0,1]+    , Xs [-1,0,0,0,1,0]+    , Xs [-1,0,0,0,-1]+    , Xs [-1,0,0,1,0,0]+    , Xs [-1,0,0,1,1]+    , Xs [-1,0,0,-1,0]+    , Xs [-1,0,0,7]+    , Xs [-1,0,1,0,0,0]+    , Xs [-1,0,1,0,1]+    , Xs [-1,0,1,1,0]+    , Xs [-1,0,1,-1]+    , Xs [-1,0,-1,0,0]+    , Xs [-1,0,-1,1]+    , Xs [-1,0,7,0]+    , Xs [-1,0,-8]+    , Xs [-1,1,0,0,0,0]+    , Xs [-1,1,0,0,1]+    , Xs [-1,1,0,1,0]+    , Xs [-1,1,0,-1]+    , Xs [-1,1,1,0,0]+    , Xs [-1,1,1,1]+    , Xs [-1,1,-1,0]+    , Xs [-1,1,7]+    , Xs [-1,-1,0,0,0]+    , Xs [-1,-1,0,1]+    , Xs [-1,-1,1,0]+    , Xs [-1,-1,-1]+    , Xs [-1,7,0,0]+    , Xs [-1,7,1]+    , Xs [-1,-8,0]+    , Xs [-1,2]+    , Xs [7,0,0,0,0,0]+    , Xs [7,0,0,0,1]+    , Xs [7,0,0,1,0]+    , Xs [7,0,0,-1]+    , Xs [7,0,1,0,0]+    , Xs [7,0,1,1]+    , Xs [7,0,-1,0]+    , Xs [7,0,7]+    , Xs [7,1,0,0,0]+    , Xs [7,1,0,1]+    , Xs [7,1,1,0]+    , Xs [7,1,-1]+    , Xs [7,-1,0,0]+    , Xs [7,-1,1]+    , Xs [7,7,0]+    , Xs [7,-8]+    , Xs [-8,0,0,0,0]+    , Xs [-8,0,0,1]+    , Xs [-8,0,1,0]+    , Xs [-8,0,-1]+    , Xs [-8,1,0,0]+    , Xs [-8,1,1]+    , Xs [-8,-1,0]+    , Xs [-8,7]+    , Xs [2,0,0,0]+    , Xs [2,0,1]+    , Xs [2,1,0]+    , Xs [2,-1]+    , Xs [-2,0,0]+    , Xs [-2,1]+    , Xs [6,0]+    , Xs [-7]+    ]+  , [ Xs [0,0,0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,0,0,-1]+    , Xs [0,0,0,0,0,0,1,0,0]+    , Xs [0,0,0,0,0,0,1,1]+    , Xs [0,0,0,0,0,0,-1,0]+    , Xs [0,0,0,0,0,0,7]+    , Xs [0,0,0,0,0,1,0,0,0]+    , Xs [0,0,0,0,0,1,0,1]+    , Xs [0,0,0,0,0,1,1,0]+    , Xs [0,0,0,0,0,1,-1]+    , Xs [0,0,0,0,0,-1,0,0]+    , Xs [0,0,0,0,0,-1,1]+    , Xs [0,0,0,0,0,7,0]+    , Xs [0,0,0,0,0,-8]+    , Xs [0,0,0,0,1,0,0,0,0]+    , Xs [0,0,0,0,1,0,0,1]+    , Xs [0,0,0,0,1,0,1,0]+    , Xs [0,0,0,0,1,0,-1]+    , Xs [0,0,0,0,1,1,0,0]+    , Xs [0,0,0,0,1,1,1]+    , Xs [0,0,0,0,1,-1,0]+    , Xs [0,0,0,0,1,7]+    , Xs [0,0,0,0,-1,0,0,0]+    , Xs [0,0,0,0,-1,0,1]+    , Xs [0,0,0,0,-1,1,0]+    , Xs [0,0,0,0,-1,-1]+    , Xs [0,0,0,0,7,0,0]+    , Xs [0,0,0,0,7,1]+    , Xs [0,0,0,0,-8,0]+    , Xs [0,0,0,0,2]+    , Xs [0,0,0,1,0,0,0,0,0]+    , Xs [0,0,0,1,0,0,0,1]+    , Xs [0,0,0,1,0,0,1,0]+    , Xs [0,0,0,1,0,0,-1]+    , Xs [0,0,0,1,0,1,0,0]+    , Xs [0,0,0,1,0,1,1]+    , Xs [0,0,0,1,0,-1,0]+    , Xs [0,0,0,1,0,7]+    , Xs [0,0,0,1,1,0,0,0]+    , Xs [0,0,0,1,1,0,1]+    , Xs [0,0,0,1,1,1,0]+    , Xs [0,0,0,1,1,-1]+    , Xs [0,0,0,1,-1,0,0]+    , Xs [0,0,0,1,-1,1]+    , Xs [0,0,0,1,7,0]+    , Xs [0,0,0,1,-8]+    , Xs [0,0,0,-1,0,0,0,0]+    , Xs [0,0,0,-1,0,0,1]+    , Xs [0,0,0,-1,0,1,0]+    , Xs [0,0,0,-1,0,-1]+    , Xs [0,0,0,-1,1,0,0]+    , Xs [0,0,0,-1,1,1]+    , Xs [0,0,0,-1,-1,0]+    , Xs [0,0,0,-1,7]+    , Xs [0,0,0,7,0,0,0]+    , Xs [0,0,0,7,0,1]+    , Xs [0,0,0,7,1,0]+    , Xs [0,0,0,7,-1]+    , Xs [0,0,0,-8,0,0]+    , Xs [0,0,0,-8,1]+    , Xs [0,0,0,2,0]+    , Xs [0,0,0,-2]+    , Xs [0,0,1,0,0,0,0,0,0]+    , Xs [0,0,1,0,0,0,0,1]+    , Xs [0,0,1,0,0,0,1,0]+    , Xs [0,0,1,0,0,0,-1]+    , Xs [0,0,1,0,0,1,0,0]+    , Xs [0,0,1,0,0,1,1]+    , Xs [0,0,1,0,0,-1,0]+    , Xs [0,0,1,0,0,7]+    , Xs [0,0,1,0,1,0,0,0]+    , Xs [0,0,1,0,1,0,1]+    , Xs [0,0,1,0,1,1,0]+    , Xs [0,0,1,0,1,-1]+    , Xs [0,0,1,0,-1,0,0]+    , Xs [0,0,1,0,-1,1]+    , Xs [0,0,1,0,7,0]+    , Xs [0,0,1,0,-8]+    , Xs [0,0,1,1,0,0,0,0]+    , Xs [0,0,1,1,0,0,1]+    , Xs [0,0,1,1,0,1,0]+    , Xs [0,0,1,1,0,-1]+    , Xs [0,0,1,1,1,0,0]+    , Xs [0,0,1,1,1,1]+    , Xs [0,0,1,1,-1,0]+    , Xs [0,0,1,1,7]+    , Xs [0,0,1,-1,0,0,0]+    , Xs [0,0,1,-1,0,1]+    , Xs [0,0,1,-1,1,0]+    , Xs [0,0,1,-1,-1]+    , Xs [0,0,1,7,0,0]+    , Xs [0,0,1,7,1]+    , Xs [0,0,1,-8,0]+    , Xs [0,0,1,2]+    , Xs [0,0,-1,0,0,0,0,0]+    , Xs [0,0,-1,0,0,0,1]+    , Xs [0,0,-1,0,0,1,0]+    , Xs [0,0,-1,0,0,-1]+    , Xs [0,0,-1,0,1,0,0]+    , Xs [0,0,-1,0,1,1]+    , Xs [0,0,-1,0,-1,0]+    , Xs [0,0,-1,0,7]+    , Xs [0,0,-1,1,0,0,0]+    , Xs [0,0,-1,1,0,1]+    , Xs [0,0,-1,1,1,0]+    , Xs [0,0,-1,1,-1]+    , Xs [0,0,-1,-1,0,0]+    , Xs [0,0,-1,-1,1]+    , Xs [0,0,-1,7,0]+    , Xs [0,0,-1,-8]+    , Xs [0,0,7,0,0,0,0]+    , Xs [0,0,7,0,0,1]+    , Xs [0,0,7,0,1,0]+    , Xs [0,0,7,0,-1]+    , Xs [0,0,7,1,0,0]+    , Xs [0,0,7,1,1]+    , Xs [0,0,7,-1,0]+    , Xs [0,0,7,7]+    , Xs [0,0,-8,0,0,0]+    , Xs [0,0,-8,0,1]+    , Xs [0,0,-8,1,0]+    , Xs [0,0,-8,-1]+    , Xs [0,0,2,0,0]+    , Xs [0,0,2,1]+    , Xs [0,0,-2,0]+    , Xs [0,0,6]+    , Xs [0,1,0,0,0,0,0,0,0]+    , Xs [0,1,0,0,0,0,0,1]+    , Xs [0,1,0,0,0,0,1,0]+    , Xs [0,1,0,0,0,0,-1]+    , Xs [0,1,0,0,0,1,0,0]+    , Xs [0,1,0,0,0,1,1]+    , Xs [0,1,0,0,0,-1,0]+    , Xs [0,1,0,0,0,7]+    , Xs [0,1,0,0,1,0,0,0]+    , Xs [0,1,0,0,1,0,1]+    , Xs [0,1,0,0,1,1,0]+    , Xs [0,1,0,0,1,-1]+    , Xs [0,1,0,0,-1,0,0]+    , Xs [0,1,0,0,-1,1]+    , Xs [0,1,0,0,7,0]+    , Xs [0,1,0,0,-8]+    , Xs [0,1,0,1,0,0,0,0]+    , Xs [0,1,0,1,0,0,1]+    , Xs [0,1,0,1,0,1,0]+    , Xs [0,1,0,1,0,-1]+    , Xs [0,1,0,1,1,0,0]+    , Xs [0,1,0,1,1,1]+    , Xs [0,1,0,1,-1,0]+    , Xs [0,1,0,1,7]+    , Xs [0,1,0,-1,0,0,0]+    , Xs [0,1,0,-1,0,1]+    , Xs [0,1,0,-1,1,0]+    , Xs [0,1,0,-1,-1]+    , Xs [0,1,0,7,0,0]+    , Xs [0,1,0,7,1]+    , Xs [0,1,0,-8,0]+    , Xs [0,1,0,2]+    , Xs [0,1,1,0,0,0,0,0]+    , Xs [0,1,1,0,0,0,1]+    , Xs [0,1,1,0,0,1,0]+    , Xs [0,1,1,0,0,-1]+    , Xs [0,1,1,0,1,0,0]+    , Xs [0,1,1,0,1,1]+    , Xs [0,1,1,0,-1,0]+    , Xs [0,1,1,0,7]+    , Xs [0,1,1,1,0,0,0]+    , Xs [0,1,1,1,0,1]+    , Xs [0,1,1,1,1,0]+    , Xs [0,1,1,1,-1]+    , Xs [0,1,1,-1,0,0]+    , Xs [0,1,1,-1,1]+    , Xs [0,1,1,7,0]+    , Xs [0,1,1,-8]+    , Xs [0,1,-1,0,0,0,0]+    , Xs [0,1,-1,0,0,1]+    , Xs [0,1,-1,0,1,0]+    , Xs [0,1,-1,0,-1]+    , Xs [0,1,-1,1,0,0]+    , Xs [0,1,-1,1,1]+    , Xs [0,1,-1,-1,0]+    , Xs [0,1,-1,7]+    , Xs [0,1,7,0,0,0]+    , Xs [0,1,7,0,1]+    , Xs [0,1,7,1,0]+    , Xs [0,1,7,-1]+    , Xs [0,1,-8,0,0]+    , Xs [0,1,-8,1]+    , Xs [0,1,2,0]+    , Xs [0,1,-2]+    , Xs [0,-1,0,0,0,0,0,0]+    , Xs [0,-1,0,0,0,0,1]+    , Xs [0,-1,0,0,0,1,0]+    , Xs [0,-1,0,0,0,-1]+    , Xs [0,-1,0,0,1,0,0]+    , Xs [0,-1,0,0,1,1]+    , Xs [0,-1,0,0,-1,0]+    , Xs [0,-1,0,0,7]+    , Xs [0,-1,0,1,0,0,0]+    , Xs [0,-1,0,1,0,1]+    , Xs [0,-1,0,1,1,0]+    , Xs [0,-1,0,1,-1]+    , Xs [0,-1,0,-1,0,0]+    , Xs [0,-1,0,-1,1]+    , Xs [0,-1,0,7,0]+    , Xs [0,-1,0,-8]+    , Xs [0,-1,1,0,0,0,0]+    , Xs [0,-1,1,0,0,1]+    , Xs [0,-1,1,0,1,0]+    , Xs [0,-1,1,0,-1]+    , Xs [0,-1,1,1,0,0]+    , Xs [0,-1,1,1,1]+    , Xs [0,-1,1,-1,0]+    , Xs [0,-1,1,7]+    , Xs [0,-1,-1,0,0,0]+    , Xs [0,-1,-1,0,1]+    , Xs [0,-1,-1,1,0]+    , Xs [0,-1,-1,-1]+    , Xs [0,-1,7,0,0]+    , Xs [0,-1,7,1]+    , Xs [0,-1,-8,0]+    , Xs [0,-1,2]+    , Xs [0,7,0,0,0,0,0]+    , Xs [0,7,0,0,0,1]+    , Xs [0,7,0,0,1,0]+    , Xs [0,7,0,0,-1]+    , Xs [0,7,0,1,0,0]+    , Xs [0,7,0,1,1]+    , Xs [0,7,0,-1,0]+    , Xs [0,7,0,7]+    , Xs [0,7,1,0,0,0]+    , Xs [0,7,1,0,1]+    , Xs [0,7,1,1,0]+    , Xs [0,7,1,-1]+    , Xs [0,7,-1,0,0]+    , Xs [0,7,-1,1]+    , Xs [0,7,7,0]+    , Xs [0,7,-8]+    , Xs [0,-8,0,0,0,0]+    , Xs [0,-8,0,0,1]+    , Xs [0,-8,0,1,0]+    , Xs [0,-8,0,-1]+    , Xs [0,-8,1,0,0]+    , Xs [0,-8,1,1]+    , Xs [0,-8,-1,0]+    , Xs [0,-8,7]+    , Xs [0,2,0,0,0]+    , Xs [0,2,0,1]+    , Xs [0,2,1,0]+    , Xs [0,2,-1]+    , Xs [0,-2,0,0]+    , Xs [0,-2,1]+    , Xs [0,6,0]+    , Xs [0,-7]+    , Xs [1,0,0,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,0,0,1]+    , Xs [1,0,0,0,0,0,1,0]+    , Xs [1,0,0,0,0,0,-1]+    , Xs [1,0,0,0,0,1,0,0]+    , Xs [1,0,0,0,0,1,1]+    , Xs [1,0,0,0,0,-1,0]+    , Xs [1,0,0,0,0,7]+    , Xs [1,0,0,0,1,0,0,0]+    , Xs [1,0,0,0,1,0,1]+    , Xs [1,0,0,0,1,1,0]+    , Xs [1,0,0,0,1,-1]+    , Xs [1,0,0,0,-1,0,0]+    , Xs [1,0,0,0,-1,1]+    , Xs [1,0,0,0,7,0]+    , Xs [1,0,0,0,-8]+    , Xs [1,0,0,1,0,0,0,0]+    , Xs [1,0,0,1,0,0,1]+    , Xs [1,0,0,1,0,1,0]+    , Xs [1,0,0,1,0,-1]+    , Xs [1,0,0,1,1,0,0]+    , Xs [1,0,0,1,1,1]+    , Xs [1,0,0,1,-1,0]+    , Xs [1,0,0,1,7]+    , Xs [1,0,0,-1,0,0,0]+    , Xs [1,0,0,-1,0,1]+    , Xs [1,0,0,-1,1,0]+    , Xs [1,0,0,-1,-1]+    , Xs [1,0,0,7,0,0]+    , Xs [1,0,0,7,1]+    , Xs [1,0,0,-8,0]+    , Xs [1,0,0,2]+    , Xs [1,0,1,0,0,0,0,0]+    , Xs [1,0,1,0,0,0,1]+    , Xs [1,0,1,0,0,1,0]+    , Xs [1,0,1,0,0,-1]+    , Xs [1,0,1,0,1,0,0]+    , Xs [1,0,1,0,1,1]+    , Xs [1,0,1,0,-1,0]+    , Xs [1,0,1,0,7]+    , Xs [1,0,1,1,0,0,0]+    , Xs [1,0,1,1,0,1]+    , Xs [1,0,1,1,1,0]+    , Xs [1,0,1,1,-1]+    , Xs [1,0,1,-1,0,0]+    , Xs [1,0,1,-1,1]+    , Xs [1,0,1,7,0]+    , Xs [1,0,1,-8]+    , Xs [1,0,-1,0,0,0,0]+    , Xs [1,0,-1,0,0,1]+    , Xs [1,0,-1,0,1,0]+    , Xs [1,0,-1,0,-1]+    , Xs [1,0,-1,1,0,0]+    , Xs [1,0,-1,1,1]+    , Xs [1,0,-1,-1,0]+    , Xs [1,0,-1,7]+    , Xs [1,0,7,0,0,0]+    , Xs [1,0,7,0,1]+    , Xs [1,0,7,1,0]+    , Xs [1,0,7,-1]+    , Xs [1,0,-8,0,0]+    , Xs [1,0,-8,1]+    , Xs [1,0,2,0]+    , Xs [1,0,-2]+    , Xs [1,1,0,0,0,0,0,0]+    , Xs [1,1,0,0,0,0,1]+    , Xs [1,1,0,0,0,1,0]+    , Xs [1,1,0,0,0,-1]+    , Xs [1,1,0,0,1,0,0]+    , Xs [1,1,0,0,1,1]+    , Xs [1,1,0,0,-1,0]+    , Xs [1,1,0,0,7]+    , Xs [1,1,0,1,0,0,0]+    , Xs [1,1,0,1,0,1]+    , Xs [1,1,0,1,1,0]+    , Xs [1,1,0,1,-1]+    , Xs [1,1,0,-1,0,0]+    , Xs [1,1,0,-1,1]+    , Xs [1,1,0,7,0]+    , Xs [1,1,0,-8]+    , Xs [1,1,1,0,0,0,0]+    , Xs [1,1,1,0,0,1]+    , Xs [1,1,1,0,1,0]+    , Xs [1,1,1,0,-1]+    , Xs [1,1,1,1,0,0]+    , Xs [1,1,1,1,1]+    , Xs [1,1,1,-1,0]+    , Xs [1,1,1,7]+    , Xs [1,1,-1,0,0,0]+    , Xs [1,1,-1,0,1]+    , Xs [1,1,-1,1,0]+    , Xs [1,1,-1,-1]+    , Xs [1,1,7,0,0]+    , Xs [1,1,7,1]+    , Xs [1,1,-8,0]+    , Xs [1,1,2]+    , Xs [1,-1,0,0,0,0,0]+    , Xs [1,-1,0,0,0,1]+    , Xs [1,-1,0,0,1,0]+    , Xs [1,-1,0,0,-1]+    , Xs [1,-1,0,1,0,0]+    , Xs [1,-1,0,1,1]+    , Xs [1,-1,0,-1,0]+    , Xs [1,-1,0,7]+    , Xs [1,-1,1,0,0,0]+    , Xs [1,-1,1,0,1]+    , Xs [1,-1,1,1,0]+    , Xs [1,-1,1,-1]+    , Xs [1,-1,-1,0,0]+    , Xs [1,-1,-1,1]+    , Xs [1,-1,7,0]+    , Xs [1,-1,-8]+    , Xs [1,7,0,0,0,0]+    , Xs [1,7,0,0,1]+    , Xs [1,7,0,1,0]+    , Xs [1,7,0,-1]+    , Xs [1,7,1,0,0]+    , Xs [1,7,1,1]+    , Xs [1,7,-1,0]+    , Xs [1,7,7]+    , Xs [1,-8,0,0,0]+    , Xs [1,-8,0,1]+    , Xs [1,-8,1,0]+    , Xs [1,-8,-1]+    , Xs [1,2,0,0]+    , Xs [1,2,1]+    , Xs [1,-2,0]+    , Xs [1,6]+    , Xs [-1,0,0,0,0,0,0,0]+    , Xs [-1,0,0,0,0,0,1]+    , Xs [-1,0,0,0,0,1,0]+    , Xs [-1,0,0,0,0,-1]+    , Xs [-1,0,0,0,1,0,0]+    , Xs [-1,0,0,0,1,1]+    , Xs [-1,0,0,0,-1,0]+    , Xs [-1,0,0,0,7]+    , Xs [-1,0,0,1,0,0,0]+    , Xs [-1,0,0,1,0,1]+    , Xs [-1,0,0,1,1,0]+    , Xs [-1,0,0,1,-1]+    , Xs [-1,0,0,-1,0,0]+    , Xs [-1,0,0,-1,1]+    , Xs [-1,0,0,7,0]+    , Xs [-1,0,0,-8]+    , Xs [-1,0,1,0,0,0,0]+    , Xs [-1,0,1,0,0,1]+    , Xs [-1,0,1,0,1,0]+    , Xs [-1,0,1,0,-1]+    , Xs [-1,0,1,1,0,0]+    , Xs [-1,0,1,1,1]+    , Xs [-1,0,1,-1,0]+    , Xs [-1,0,1,7]+    , Xs [-1,0,-1,0,0,0]+    , Xs [-1,0,-1,0,1]+    , Xs [-1,0,-1,1,0]+    , Xs [-1,0,-1,-1]+    , Xs [-1,0,7,0,0]+    , Xs [-1,0,7,1]+    , Xs [-1,0,-8,0]+    , Xs [-1,0,2]+    , Xs [-1,1,0,0,0,0,0]+    , Xs [-1,1,0,0,0,1]+    , Xs [-1,1,0,0,1,0]+    , Xs [-1,1,0,0,-1]+    , Xs [-1,1,0,1,0,0]+    , Xs [-1,1,0,1,1]+    , Xs [-1,1,0,-1,0]+    , Xs [-1,1,0,7]+    , Xs [-1,1,1,0,0,0]+    , Xs [-1,1,1,0,1]+    , Xs [-1,1,1,1,0]+    , Xs [-1,1,1,-1]+    , Xs [-1,1,-1,0,0]+    , Xs [-1,1,-1,1]+    , Xs [-1,1,7,0]+    , Xs [-1,1,-8]+    , Xs [-1,-1,0,0,0,0]+    , Xs [-1,-1,0,0,1]+    , Xs [-1,-1,0,1,0]+    , Xs [-1,-1,0,-1]+    , Xs [-1,-1,1,0,0]+    , Xs [-1,-1,1,1]+    , Xs [-1,-1,-1,0]+    , Xs [-1,-1,7]+    , Xs [-1,7,0,0,0]+    , Xs [-1,7,0,1]+    , Xs [-1,7,1,0]+    , Xs [-1,7,-1]+    , Xs [-1,-8,0,0]+    , Xs [-1,-8,1]+    , Xs [-1,2,0]+    , Xs [-1,-2]+    , Xs [7,0,0,0,0,0,0]+    , Xs [7,0,0,0,0,1]+    , Xs [7,0,0,0,1,0]+    , Xs [7,0,0,0,-1]+    , Xs [7,0,0,1,0,0]+    , Xs [7,0,0,1,1]+    , Xs [7,0,0,-1,0]+    , Xs [7,0,0,7]+    , Xs [7,0,1,0,0,0]+    , Xs [7,0,1,0,1]+    , Xs [7,0,1,1,0]+    , Xs [7,0,1,-1]+    , Xs [7,0,-1,0,0]+    , Xs [7,0,-1,1]+    , Xs [7,0,7,0]+    , Xs [7,0,-8]+    , Xs [7,1,0,0,0,0]+    , Xs [7,1,0,0,1]+    , Xs [7,1,0,1,0]+    , Xs [7,1,0,-1]+    , Xs [7,1,1,0,0]+    , Xs [7,1,1,1]+    , Xs [7,1,-1,0]+    , Xs [7,1,7]+    , Xs [7,-1,0,0,0]+    , Xs [7,-1,0,1]+    , Xs [7,-1,1,0]+    , Xs [7,-1,-1]+    , Xs [7,7,0,0]+    , Xs [7,7,1]+    , Xs [7,-8,0]+    , Xs [7,2]+    , Xs [-8,0,0,0,0,0]+    , Xs [-8,0,0,0,1]+    , Xs [-8,0,0,1,0]+    , Xs [-8,0,0,-1]+    , Xs [-8,0,1,0,0]+    , Xs [-8,0,1,1]+    , Xs [-8,0,-1,0]+    , Xs [-8,0,7]+    , Xs [-8,1,0,0,0]+    , Xs [-8,1,0,1]+    , Xs [-8,1,1,0]+    , Xs [-8,1,-1]+    , Xs [-8,-1,0,0]+    , Xs [-8,-1,1]+    , Xs [-8,7,0]+    , Xs [-8,-8]+    , Xs [2,0,0,0,0]+    , Xs [2,0,0,1]+    , Xs [2,0,1,0]+    , Xs [2,0,-1]+    , Xs [2,1,0,0]+    , Xs [2,1,1]+    , Xs [2,-1,0]+    , Xs [2,7]+    , Xs [-2,0,0,0]+    , Xs [-2,0,1]+    , Xs [-2,1,0]+    , Xs [-2,-1]+    , Xs [6,0,0]+    , Xs [6,1]+    , Xs [-7,0]+    , Xs [3]+    ]+  , ...+  ]
+ bench/tiers-txt/XsNat7.txt view
@@ -0,0 +1,1033 @@+map length (tiers :: [[ Xs Nat7 ]])  =  [0,1,1,2,4,8,16,32,64,127,253,504,...]++length (list :: [ Xs Nat7 ])  =  Infinity++allUnique (list :: [ Xs Nat7 ])  =  True++ratioRepetitions (list :: [ Xs Nat7 ])  =  0 % 1++tiers :: [Xs Nat7]  =+  [ []+  , [Xs []]+  , [Xs [0]]+  , [ Xs [0,0]+    , Xs [1]+    ]+  , [ Xs [0,0,0]+    , Xs [0,1]+    , Xs [1,0]+    , Xs [2]+    ]+  , [ Xs [0,0,0,0]+    , Xs [0,0,1]+    , Xs [0,1,0]+    , Xs [0,2]+    , Xs [1,0,0]+    , Xs [1,1]+    , Xs [2,0]+    , Xs [6]+    ]+  , [ Xs [0,0,0,0,0]+    , Xs [0,0,0,1]+    , Xs [0,0,1,0]+    , Xs [0,0,2]+    , Xs [0,1,0,0]+    , Xs [0,1,1]+    , Xs [0,2,0]+    , Xs [0,6]+    , Xs [1,0,0,0]+    , Xs [1,0,1]+    , Xs [1,1,0]+    , Xs [1,2]+    , Xs [2,0,0]+    , Xs [2,1]+    , Xs [6,0]+    , Xs [3]+    ]+  , [ Xs [0,0,0,0,0,0]+    , Xs [0,0,0,0,1]+    , Xs [0,0,0,1,0]+    , Xs [0,0,0,2]+    , Xs [0,0,1,0,0]+    , Xs [0,0,1,1]+    , Xs [0,0,2,0]+    , Xs [0,0,6]+    , Xs [0,1,0,0,0]+    , Xs [0,1,0,1]+    , Xs [0,1,1,0]+    , Xs [0,1,2]+    , Xs [0,2,0,0]+    , Xs [0,2,1]+    , Xs [0,6,0]+    , Xs [0,3]+    , Xs [1,0,0,0,0]+    , Xs [1,0,0,1]+    , Xs [1,0,1,0]+    , Xs [1,0,2]+    , Xs [1,1,0,0]+    , Xs [1,1,1]+    , Xs [1,2,0]+    , Xs [1,6]+    , Xs [2,0,0,0]+    , Xs [2,0,1]+    , Xs [2,1,0]+    , Xs [2,2]+    , Xs [6,0,0]+    , Xs [6,1]+    , Xs [3,0]+    , Xs [4]+    ]+  , [ Xs [0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,1]+    , Xs [0,0,0,0,1,0]+    , Xs [0,0,0,0,2]+    , Xs [0,0,0,1,0,0]+    , Xs [0,0,0,1,1]+    , Xs [0,0,0,2,0]+    , Xs [0,0,0,6]+    , Xs [0,0,1,0,0,0]+    , Xs [0,0,1,0,1]+    , Xs [0,0,1,1,0]+    , Xs [0,0,1,2]+    , Xs [0,0,2,0,0]+    , Xs [0,0,2,1]+    , Xs [0,0,6,0]+    , Xs [0,0,3]+    , Xs [0,1,0,0,0,0]+    , Xs [0,1,0,0,1]+    , Xs [0,1,0,1,0]+    , Xs [0,1,0,2]+    , Xs [0,1,1,0,0]+    , Xs [0,1,1,1]+    , Xs [0,1,2,0]+    , Xs [0,1,6]+    , Xs [0,2,0,0,0]+    , Xs [0,2,0,1]+    , Xs [0,2,1,0]+    , Xs [0,2,2]+    , Xs [0,6,0,0]+    , Xs [0,6,1]+    , Xs [0,3,0]+    , Xs [0,4]+    , Xs [1,0,0,0,0,0]+    , Xs [1,0,0,0,1]+    , Xs [1,0,0,1,0]+    , Xs [1,0,0,2]+    , Xs [1,0,1,0,0]+    , Xs [1,0,1,1]+    , Xs [1,0,2,0]+    , Xs [1,0,6]+    , Xs [1,1,0,0,0]+    , Xs [1,1,0,1]+    , Xs [1,1,1,0]+    , Xs [1,1,2]+    , Xs [1,2,0,0]+    , Xs [1,2,1]+    , Xs [1,6,0]+    , Xs [1,3]+    , Xs [2,0,0,0,0]+    , Xs [2,0,0,1]+    , Xs [2,0,1,0]+    , Xs [2,0,2]+    , Xs [2,1,0,0]+    , Xs [2,1,1]+    , Xs [2,2,0]+    , Xs [2,6]+    , Xs [6,0,0,0]+    , Xs [6,0,1]+    , Xs [6,1,0]+    , Xs [6,2]+    , Xs [3,0,0]+    , Xs [3,1]+    , Xs [4,0]+    , Xs [5]+    ]+  , [ Xs [0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,2]+    , Xs [0,0,0,0,1,0,0]+    , Xs [0,0,0,0,1,1]+    , Xs [0,0,0,0,2,0]+    , Xs [0,0,0,0,6]+    , Xs [0,0,0,1,0,0,0]+    , Xs [0,0,0,1,0,1]+    , Xs [0,0,0,1,1,0]+    , Xs [0,0,0,1,2]+    , Xs [0,0,0,2,0,0]+    , Xs [0,0,0,2,1]+    , Xs [0,0,0,6,0]+    , Xs [0,0,0,3]+    , Xs [0,0,1,0,0,0,0]+    , Xs [0,0,1,0,0,1]+    , Xs [0,0,1,0,1,0]+    , Xs [0,0,1,0,2]+    , Xs [0,0,1,1,0,0]+    , Xs [0,0,1,1,1]+    , Xs [0,0,1,2,0]+    , Xs [0,0,1,6]+    , Xs [0,0,2,0,0,0]+    , Xs [0,0,2,0,1]+    , Xs [0,0,2,1,0]+    , Xs [0,0,2,2]+    , Xs [0,0,6,0,0]+    , Xs [0,0,6,1]+    , Xs [0,0,3,0]+    , Xs [0,0,4]+    , Xs [0,1,0,0,0,0,0]+    , Xs [0,1,0,0,0,1]+    , Xs [0,1,0,0,1,0]+    , Xs [0,1,0,0,2]+    , Xs [0,1,0,1,0,0]+    , Xs [0,1,0,1,1]+    , Xs [0,1,0,2,0]+    , Xs [0,1,0,6]+    , Xs [0,1,1,0,0,0]+    , Xs [0,1,1,0,1]+    , Xs [0,1,1,1,0]+    , Xs [0,1,1,2]+    , Xs [0,1,2,0,0]+    , Xs [0,1,2,1]+    , Xs [0,1,6,0]+    , Xs [0,1,3]+    , Xs [0,2,0,0,0,0]+    , Xs [0,2,0,0,1]+    , Xs [0,2,0,1,0]+    , Xs [0,2,0,2]+    , Xs [0,2,1,0,0]+    , Xs [0,2,1,1]+    , Xs [0,2,2,0]+    , Xs [0,2,6]+    , Xs [0,6,0,0,0]+    , Xs [0,6,0,1]+    , Xs [0,6,1,0]+    , Xs [0,6,2]+    , Xs [0,3,0,0]+    , Xs [0,3,1]+    , Xs [0,4,0]+    , Xs [0,5]+    , Xs [1,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,1]+    , Xs [1,0,0,0,1,0]+    , Xs [1,0,0,0,2]+    , Xs [1,0,0,1,0,0]+    , Xs [1,0,0,1,1]+    , Xs [1,0,0,2,0]+    , Xs [1,0,0,6]+    , Xs [1,0,1,0,0,0]+    , Xs [1,0,1,0,1]+    , Xs [1,0,1,1,0]+    , Xs [1,0,1,2]+    , Xs [1,0,2,0,0]+    , Xs [1,0,2,1]+    , Xs [1,0,6,0]+    , Xs [1,0,3]+    , Xs [1,1,0,0,0,0]+    , Xs [1,1,0,0,1]+    , Xs [1,1,0,1,0]+    , Xs [1,1,0,2]+    , Xs [1,1,1,0,0]+    , Xs [1,1,1,1]+    , Xs [1,1,2,0]+    , Xs [1,1,6]+    , Xs [1,2,0,0,0]+    , Xs [1,2,0,1]+    , Xs [1,2,1,0]+    , Xs [1,2,2]+    , Xs [1,6,0,0]+    , Xs [1,6,1]+    , Xs [1,3,0]+    , Xs [1,4]+    , Xs [2,0,0,0,0,0]+    , Xs [2,0,0,0,1]+    , Xs [2,0,0,1,0]+    , Xs [2,0,0,2]+    , Xs [2,0,1,0,0]+    , Xs [2,0,1,1]+    , Xs [2,0,2,0]+    , Xs [2,0,6]+    , Xs [2,1,0,0,0]+    , Xs [2,1,0,1]+    , Xs [2,1,1,0]+    , Xs [2,1,2]+    , Xs [2,2,0,0]+    , Xs [2,2,1]+    , Xs [2,6,0]+    , Xs [2,3]+    , Xs [6,0,0,0,0]+    , Xs [6,0,0,1]+    , Xs [6,0,1,0]+    , Xs [6,0,2]+    , Xs [6,1,0,0]+    , Xs [6,1,1]+    , Xs [6,2,0]+    , Xs [6,6]+    , Xs [3,0,0,0]+    , Xs [3,0,1]+    , Xs [3,1,0]+    , Xs [3,2]+    , Xs [4,0,0]+    , Xs [4,1]+    , Xs [5,0]+    ]+  , [ Xs [0,0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,0,2]+    , Xs [0,0,0,0,0,1,0,0]+    , Xs [0,0,0,0,0,1,1]+    , Xs [0,0,0,0,0,2,0]+    , Xs [0,0,0,0,0,6]+    , Xs [0,0,0,0,1,0,0,0]+    , Xs [0,0,0,0,1,0,1]+    , Xs [0,0,0,0,1,1,0]+    , Xs [0,0,0,0,1,2]+    , Xs [0,0,0,0,2,0,0]+    , Xs [0,0,0,0,2,1]+    , Xs [0,0,0,0,6,0]+    , Xs [0,0,0,0,3]+    , Xs [0,0,0,1,0,0,0,0]+    , Xs [0,0,0,1,0,0,1]+    , Xs [0,0,0,1,0,1,0]+    , Xs [0,0,0,1,0,2]+    , Xs [0,0,0,1,1,0,0]+    , Xs [0,0,0,1,1,1]+    , Xs [0,0,0,1,2,0]+    , Xs [0,0,0,1,6]+    , Xs [0,0,0,2,0,0,0]+    , Xs [0,0,0,2,0,1]+    , Xs [0,0,0,2,1,0]+    , Xs [0,0,0,2,2]+    , Xs [0,0,0,6,0,0]+    , Xs [0,0,0,6,1]+    , Xs [0,0,0,3,0]+    , Xs [0,0,0,4]+    , Xs [0,0,1,0,0,0,0,0]+    , Xs [0,0,1,0,0,0,1]+    , Xs [0,0,1,0,0,1,0]+    , Xs [0,0,1,0,0,2]+    , Xs [0,0,1,0,1,0,0]+    , Xs [0,0,1,0,1,1]+    , Xs [0,0,1,0,2,0]+    , Xs [0,0,1,0,6]+    , Xs [0,0,1,1,0,0,0]+    , Xs [0,0,1,1,0,1]+    , Xs [0,0,1,1,1,0]+    , Xs [0,0,1,1,2]+    , Xs [0,0,1,2,0,0]+    , Xs [0,0,1,2,1]+    , Xs [0,0,1,6,0]+    , Xs [0,0,1,3]+    , Xs [0,0,2,0,0,0,0]+    , Xs [0,0,2,0,0,1]+    , Xs [0,0,2,0,1,0]+    , Xs [0,0,2,0,2]+    , Xs [0,0,2,1,0,0]+    , Xs [0,0,2,1,1]+    , Xs [0,0,2,2,0]+    , Xs [0,0,2,6]+    , Xs [0,0,6,0,0,0]+    , Xs [0,0,6,0,1]+    , Xs [0,0,6,1,0]+    , Xs [0,0,6,2]+    , Xs [0,0,3,0,0]+    , Xs [0,0,3,1]+    , Xs [0,0,4,0]+    , Xs [0,0,5]+    , Xs [0,1,0,0,0,0,0,0]+    , Xs [0,1,0,0,0,0,1]+    , Xs [0,1,0,0,0,1,0]+    , Xs [0,1,0,0,0,2]+    , Xs [0,1,0,0,1,0,0]+    , Xs [0,1,0,0,1,1]+    , Xs [0,1,0,0,2,0]+    , Xs [0,1,0,0,6]+    , Xs [0,1,0,1,0,0,0]+    , Xs [0,1,0,1,0,1]+    , Xs [0,1,0,1,1,0]+    , Xs [0,1,0,1,2]+    , Xs [0,1,0,2,0,0]+    , Xs [0,1,0,2,1]+    , Xs [0,1,0,6,0]+    , Xs [0,1,0,3]+    , Xs [0,1,1,0,0,0,0]+    , Xs [0,1,1,0,0,1]+    , Xs [0,1,1,0,1,0]+    , Xs [0,1,1,0,2]+    , Xs [0,1,1,1,0,0]+    , Xs [0,1,1,1,1]+    , Xs [0,1,1,2,0]+    , Xs [0,1,1,6]+    , Xs [0,1,2,0,0,0]+    , Xs [0,1,2,0,1]+    , Xs [0,1,2,1,0]+    , Xs [0,1,2,2]+    , Xs [0,1,6,0,0]+    , Xs [0,1,6,1]+    , Xs [0,1,3,0]+    , Xs [0,1,4]+    , Xs [0,2,0,0,0,0,0]+    , Xs [0,2,0,0,0,1]+    , Xs [0,2,0,0,1,0]+    , Xs [0,2,0,0,2]+    , Xs [0,2,0,1,0,0]+    , Xs [0,2,0,1,1]+    , Xs [0,2,0,2,0]+    , Xs [0,2,0,6]+    , Xs [0,2,1,0,0,0]+    , Xs [0,2,1,0,1]+    , Xs [0,2,1,1,0]+    , Xs [0,2,1,2]+    , Xs [0,2,2,0,0]+    , Xs [0,2,2,1]+    , Xs [0,2,6,0]+    , Xs [0,2,3]+    , Xs [0,6,0,0,0,0]+    , Xs [0,6,0,0,1]+    , Xs [0,6,0,1,0]+    , Xs [0,6,0,2]+    , Xs [0,6,1,0,0]+    , Xs [0,6,1,1]+    , Xs [0,6,2,0]+    , Xs [0,6,6]+    , Xs [0,3,0,0,0]+    , Xs [0,3,0,1]+    , Xs [0,3,1,0]+    , Xs [0,3,2]+    , Xs [0,4,0,0]+    , Xs [0,4,1]+    , Xs [0,5,0]+    , Xs [1,0,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,0,1]+    , Xs [1,0,0,0,0,1,0]+    , Xs [1,0,0,0,0,2]+    , Xs [1,0,0,0,1,0,0]+    , Xs [1,0,0,0,1,1]+    , Xs [1,0,0,0,2,0]+    , Xs [1,0,0,0,6]+    , Xs [1,0,0,1,0,0,0]+    , Xs [1,0,0,1,0,1]+    , Xs [1,0,0,1,1,0]+    , Xs [1,0,0,1,2]+    , Xs [1,0,0,2,0,0]+    , Xs [1,0,0,2,1]+    , Xs [1,0,0,6,0]+    , Xs [1,0,0,3]+    , Xs [1,0,1,0,0,0,0]+    , Xs [1,0,1,0,0,1]+    , Xs [1,0,1,0,1,0]+    , Xs [1,0,1,0,2]+    , Xs [1,0,1,1,0,0]+    , Xs [1,0,1,1,1]+    , Xs [1,0,1,2,0]+    , Xs [1,0,1,6]+    , Xs [1,0,2,0,0,0]+    , Xs [1,0,2,0,1]+    , Xs [1,0,2,1,0]+    , Xs [1,0,2,2]+    , Xs [1,0,6,0,0]+    , Xs [1,0,6,1]+    , Xs [1,0,3,0]+    , Xs [1,0,4]+    , Xs [1,1,0,0,0,0,0]+    , Xs [1,1,0,0,0,1]+    , Xs [1,1,0,0,1,0]+    , Xs [1,1,0,0,2]+    , Xs [1,1,0,1,0,0]+    , Xs [1,1,0,1,1]+    , Xs [1,1,0,2,0]+    , Xs [1,1,0,6]+    , Xs [1,1,1,0,0,0]+    , Xs [1,1,1,0,1]+    , Xs [1,1,1,1,0]+    , Xs [1,1,1,2]+    , Xs [1,1,2,0,0]+    , Xs [1,1,2,1]+    , Xs [1,1,6,0]+    , Xs [1,1,3]+    , Xs [1,2,0,0,0,0]+    , Xs [1,2,0,0,1]+    , Xs [1,2,0,1,0]+    , Xs [1,2,0,2]+    , Xs [1,2,1,0,0]+    , Xs [1,2,1,1]+    , Xs [1,2,2,0]+    , Xs [1,2,6]+    , Xs [1,6,0,0,0]+    , Xs [1,6,0,1]+    , Xs [1,6,1,0]+    , Xs [1,6,2]+    , Xs [1,3,0,0]+    , Xs [1,3,1]+    , Xs [1,4,0]+    , Xs [1,5]+    , Xs [2,0,0,0,0,0,0]+    , Xs [2,0,0,0,0,1]+    , Xs [2,0,0,0,1,0]+    , Xs [2,0,0,0,2]+    , Xs [2,0,0,1,0,0]+    , Xs [2,0,0,1,1]+    , Xs [2,0,0,2,0]+    , Xs [2,0,0,6]+    , Xs [2,0,1,0,0,0]+    , Xs [2,0,1,0,1]+    , Xs [2,0,1,1,0]+    , Xs [2,0,1,2]+    , Xs [2,0,2,0,0]+    , Xs [2,0,2,1]+    , Xs [2,0,6,0]+    , Xs [2,0,3]+    , Xs [2,1,0,0,0,0]+    , Xs [2,1,0,0,1]+    , Xs [2,1,0,1,0]+    , Xs [2,1,0,2]+    , Xs [2,1,1,0,0]+    , Xs [2,1,1,1]+    , Xs [2,1,2,0]+    , Xs [2,1,6]+    , Xs [2,2,0,0,0]+    , Xs [2,2,0,1]+    , Xs [2,2,1,0]+    , Xs [2,2,2]+    , Xs [2,6,0,0]+    , Xs [2,6,1]+    , Xs [2,3,0]+    , Xs [2,4]+    , Xs [6,0,0,0,0,0]+    , Xs [6,0,0,0,1]+    , Xs [6,0,0,1,0]+    , Xs [6,0,0,2]+    , Xs [6,0,1,0,0]+    , Xs [6,0,1,1]+    , Xs [6,0,2,0]+    , Xs [6,0,6]+    , Xs [6,1,0,0,0]+    , Xs [6,1,0,1]+    , Xs [6,1,1,0]+    , Xs [6,1,2]+    , Xs [6,2,0,0]+    , Xs [6,2,1]+    , Xs [6,6,0]+    , Xs [6,3]+    , Xs [3,0,0,0,0]+    , Xs [3,0,0,1]+    , Xs [3,0,1,0]+    , Xs [3,0,2]+    , Xs [3,1,0,0]+    , Xs [3,1,1]+    , Xs [3,2,0]+    , Xs [3,6]+    , Xs [4,0,0,0]+    , Xs [4,0,1]+    , Xs [4,1,0]+    , Xs [4,2]+    , Xs [5,0,0]+    , Xs [5,1]+    ]+  , [ Xs [0,0,0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,0,0,2]+    , Xs [0,0,0,0,0,0,1,0,0]+    , Xs [0,0,0,0,0,0,1,1]+    , Xs [0,0,0,0,0,0,2,0]+    , Xs [0,0,0,0,0,0,6]+    , Xs [0,0,0,0,0,1,0,0,0]+    , Xs [0,0,0,0,0,1,0,1]+    , Xs [0,0,0,0,0,1,1,0]+    , Xs [0,0,0,0,0,1,2]+    , Xs [0,0,0,0,0,2,0,0]+    , Xs [0,0,0,0,0,2,1]+    , Xs [0,0,0,0,0,6,0]+    , Xs [0,0,0,0,0,3]+    , Xs [0,0,0,0,1,0,0,0,0]+    , Xs [0,0,0,0,1,0,0,1]+    , Xs [0,0,0,0,1,0,1,0]+    , Xs [0,0,0,0,1,0,2]+    , Xs [0,0,0,0,1,1,0,0]+    , Xs [0,0,0,0,1,1,1]+    , Xs [0,0,0,0,1,2,0]+    , Xs [0,0,0,0,1,6]+    , Xs [0,0,0,0,2,0,0,0]+    , Xs [0,0,0,0,2,0,1]+    , Xs [0,0,0,0,2,1,0]+    , Xs [0,0,0,0,2,2]+    , Xs [0,0,0,0,6,0,0]+    , Xs [0,0,0,0,6,1]+    , Xs [0,0,0,0,3,0]+    , Xs [0,0,0,0,4]+    , Xs [0,0,0,1,0,0,0,0,0]+    , Xs [0,0,0,1,0,0,0,1]+    , Xs [0,0,0,1,0,0,1,0]+    , Xs [0,0,0,1,0,0,2]+    , Xs [0,0,0,1,0,1,0,0]+    , Xs [0,0,0,1,0,1,1]+    , Xs [0,0,0,1,0,2,0]+    , Xs [0,0,0,1,0,6]+    , Xs [0,0,0,1,1,0,0,0]+    , Xs [0,0,0,1,1,0,1]+    , Xs [0,0,0,1,1,1,0]+    , Xs [0,0,0,1,1,2]+    , Xs [0,0,0,1,2,0,0]+    , Xs [0,0,0,1,2,1]+    , Xs [0,0,0,1,6,0]+    , Xs [0,0,0,1,3]+    , Xs [0,0,0,2,0,0,0,0]+    , Xs [0,0,0,2,0,0,1]+    , Xs [0,0,0,2,0,1,0]+    , Xs [0,0,0,2,0,2]+    , Xs [0,0,0,2,1,0,0]+    , Xs [0,0,0,2,1,1]+    , Xs [0,0,0,2,2,0]+    , Xs [0,0,0,2,6]+    , Xs [0,0,0,6,0,0,0]+    , Xs [0,0,0,6,0,1]+    , Xs [0,0,0,6,1,0]+    , Xs [0,0,0,6,2]+    , Xs [0,0,0,3,0,0]+    , Xs [0,0,0,3,1]+    , Xs [0,0,0,4,0]+    , Xs [0,0,0,5]+    , Xs [0,0,1,0,0,0,0,0,0]+    , Xs [0,0,1,0,0,0,0,1]+    , Xs [0,0,1,0,0,0,1,0]+    , Xs [0,0,1,0,0,0,2]+    , Xs [0,0,1,0,0,1,0,0]+    , Xs [0,0,1,0,0,1,1]+    , Xs [0,0,1,0,0,2,0]+    , Xs [0,0,1,0,0,6]+    , Xs [0,0,1,0,1,0,0,0]+    , Xs [0,0,1,0,1,0,1]+    , Xs [0,0,1,0,1,1,0]+    , Xs [0,0,1,0,1,2]+    , Xs [0,0,1,0,2,0,0]+    , Xs [0,0,1,0,2,1]+    , Xs [0,0,1,0,6,0]+    , Xs [0,0,1,0,3]+    , Xs [0,0,1,1,0,0,0,0]+    , Xs [0,0,1,1,0,0,1]+    , Xs [0,0,1,1,0,1,0]+    , Xs [0,0,1,1,0,2]+    , Xs [0,0,1,1,1,0,0]+    , Xs [0,0,1,1,1,1]+    , Xs [0,0,1,1,2,0]+    , Xs [0,0,1,1,6]+    , Xs [0,0,1,2,0,0,0]+    , Xs [0,0,1,2,0,1]+    , Xs [0,0,1,2,1,0]+    , Xs [0,0,1,2,2]+    , Xs [0,0,1,6,0,0]+    , Xs [0,0,1,6,1]+    , Xs [0,0,1,3,0]+    , Xs [0,0,1,4]+    , Xs [0,0,2,0,0,0,0,0]+    , Xs [0,0,2,0,0,0,1]+    , Xs [0,0,2,0,0,1,0]+    , Xs [0,0,2,0,0,2]+    , Xs [0,0,2,0,1,0,0]+    , Xs [0,0,2,0,1,1]+    , Xs [0,0,2,0,2,0]+    , Xs [0,0,2,0,6]+    , Xs [0,0,2,1,0,0,0]+    , Xs [0,0,2,1,0,1]+    , Xs [0,0,2,1,1,0]+    , Xs [0,0,2,1,2]+    , Xs [0,0,2,2,0,0]+    , Xs [0,0,2,2,1]+    , Xs [0,0,2,6,0]+    , Xs [0,0,2,3]+    , Xs [0,0,6,0,0,0,0]+    , Xs [0,0,6,0,0,1]+    , Xs [0,0,6,0,1,0]+    , Xs [0,0,6,0,2]+    , Xs [0,0,6,1,0,0]+    , Xs [0,0,6,1,1]+    , Xs [0,0,6,2,0]+    , Xs [0,0,6,6]+    , Xs [0,0,3,0,0,0]+    , Xs [0,0,3,0,1]+    , Xs [0,0,3,1,0]+    , Xs [0,0,3,2]+    , Xs [0,0,4,0,0]+    , Xs [0,0,4,1]+    , Xs [0,0,5,0]+    , Xs [0,1,0,0,0,0,0,0,0]+    , Xs [0,1,0,0,0,0,0,1]+    , Xs [0,1,0,0,0,0,1,0]+    , Xs [0,1,0,0,0,0,2]+    , Xs [0,1,0,0,0,1,0,0]+    , Xs [0,1,0,0,0,1,1]+    , Xs [0,1,0,0,0,2,0]+    , Xs [0,1,0,0,0,6]+    , Xs [0,1,0,0,1,0,0,0]+    , Xs [0,1,0,0,1,0,1]+    , Xs [0,1,0,0,1,1,0]+    , Xs [0,1,0,0,1,2]+    , Xs [0,1,0,0,2,0,0]+    , Xs [0,1,0,0,2,1]+    , Xs [0,1,0,0,6,0]+    , Xs [0,1,0,0,3]+    , Xs [0,1,0,1,0,0,0,0]+    , Xs [0,1,0,1,0,0,1]+    , Xs [0,1,0,1,0,1,0]+    , Xs [0,1,0,1,0,2]+    , Xs [0,1,0,1,1,0,0]+    , Xs [0,1,0,1,1,1]+    , Xs [0,1,0,1,2,0]+    , Xs [0,1,0,1,6]+    , Xs [0,1,0,2,0,0,0]+    , Xs [0,1,0,2,0,1]+    , Xs [0,1,0,2,1,0]+    , Xs [0,1,0,2,2]+    , Xs [0,1,0,6,0,0]+    , Xs [0,1,0,6,1]+    , Xs [0,1,0,3,0]+    , Xs [0,1,0,4]+    , Xs [0,1,1,0,0,0,0,0]+    , Xs [0,1,1,0,0,0,1]+    , Xs [0,1,1,0,0,1,0]+    , Xs [0,1,1,0,0,2]+    , Xs [0,1,1,0,1,0,0]+    , Xs [0,1,1,0,1,1]+    , Xs [0,1,1,0,2,0]+    , Xs [0,1,1,0,6]+    , Xs [0,1,1,1,0,0,0]+    , Xs [0,1,1,1,0,1]+    , Xs [0,1,1,1,1,0]+    , Xs [0,1,1,1,2]+    , Xs [0,1,1,2,0,0]+    , Xs [0,1,1,2,1]+    , Xs [0,1,1,6,0]+    , Xs [0,1,1,3]+    , Xs [0,1,2,0,0,0,0]+    , Xs [0,1,2,0,0,1]+    , Xs [0,1,2,0,1,0]+    , Xs [0,1,2,0,2]+    , Xs [0,1,2,1,0,0]+    , Xs [0,1,2,1,1]+    , Xs [0,1,2,2,0]+    , Xs [0,1,2,6]+    , Xs [0,1,6,0,0,0]+    , Xs [0,1,6,0,1]+    , Xs [0,1,6,1,0]+    , Xs [0,1,6,2]+    , Xs [0,1,3,0,0]+    , Xs [0,1,3,1]+    , Xs [0,1,4,0]+    , Xs [0,1,5]+    , Xs [0,2,0,0,0,0,0,0]+    , Xs [0,2,0,0,0,0,1]+    , Xs [0,2,0,0,0,1,0]+    , Xs [0,2,0,0,0,2]+    , Xs [0,2,0,0,1,0,0]+    , Xs [0,2,0,0,1,1]+    , Xs [0,2,0,0,2,0]+    , Xs [0,2,0,0,6]+    , Xs [0,2,0,1,0,0,0]+    , Xs [0,2,0,1,0,1]+    , Xs [0,2,0,1,1,0]+    , Xs [0,2,0,1,2]+    , Xs [0,2,0,2,0,0]+    , Xs [0,2,0,2,1]+    , Xs [0,2,0,6,0]+    , Xs [0,2,0,3]+    , Xs [0,2,1,0,0,0,0]+    , Xs [0,2,1,0,0,1]+    , Xs [0,2,1,0,1,0]+    , Xs [0,2,1,0,2]+    , Xs [0,2,1,1,0,0]+    , Xs [0,2,1,1,1]+    , Xs [0,2,1,2,0]+    , Xs [0,2,1,6]+    , Xs [0,2,2,0,0,0]+    , Xs [0,2,2,0,1]+    , Xs [0,2,2,1,0]+    , Xs [0,2,2,2]+    , Xs [0,2,6,0,0]+    , Xs [0,2,6,1]+    , Xs [0,2,3,0]+    , Xs [0,2,4]+    , Xs [0,6,0,0,0,0,0]+    , Xs [0,6,0,0,0,1]+    , Xs [0,6,0,0,1,0]+    , Xs [0,6,0,0,2]+    , Xs [0,6,0,1,0,0]+    , Xs [0,6,0,1,1]+    , Xs [0,6,0,2,0]+    , Xs [0,6,0,6]+    , Xs [0,6,1,0,0,0]+    , Xs [0,6,1,0,1]+    , Xs [0,6,1,1,0]+    , Xs [0,6,1,2]+    , Xs [0,6,2,0,0]+    , Xs [0,6,2,1]+    , Xs [0,6,6,0]+    , Xs [0,6,3]+    , Xs [0,3,0,0,0,0]+    , Xs [0,3,0,0,1]+    , Xs [0,3,0,1,0]+    , Xs [0,3,0,2]+    , Xs [0,3,1,0,0]+    , Xs [0,3,1,1]+    , Xs [0,3,2,0]+    , Xs [0,3,6]+    , Xs [0,4,0,0,0]+    , Xs [0,4,0,1]+    , Xs [0,4,1,0]+    , Xs [0,4,2]+    , Xs [0,5,0,0]+    , Xs [0,5,1]+    , Xs [1,0,0,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,0,0,1]+    , Xs [1,0,0,0,0,0,1,0]+    , Xs [1,0,0,0,0,0,2]+    , Xs [1,0,0,0,0,1,0,0]+    , Xs [1,0,0,0,0,1,1]+    , Xs [1,0,0,0,0,2,0]+    , Xs [1,0,0,0,0,6]+    , Xs [1,0,0,0,1,0,0,0]+    , Xs [1,0,0,0,1,0,1]+    , Xs [1,0,0,0,1,1,0]+    , Xs [1,0,0,0,1,2]+    , Xs [1,0,0,0,2,0,0]+    , Xs [1,0,0,0,2,1]+    , Xs [1,0,0,0,6,0]+    , Xs [1,0,0,0,3]+    , Xs [1,0,0,1,0,0,0,0]+    , Xs [1,0,0,1,0,0,1]+    , Xs [1,0,0,1,0,1,0]+    , Xs [1,0,0,1,0,2]+    , Xs [1,0,0,1,1,0,0]+    , Xs [1,0,0,1,1,1]+    , Xs [1,0,0,1,2,0]+    , Xs [1,0,0,1,6]+    , Xs [1,0,0,2,0,0,0]+    , Xs [1,0,0,2,0,1]+    , Xs [1,0,0,2,1,0]+    , Xs [1,0,0,2,2]+    , Xs [1,0,0,6,0,0]+    , Xs [1,0,0,6,1]+    , Xs [1,0,0,3,0]+    , Xs [1,0,0,4]+    , Xs [1,0,1,0,0,0,0,0]+    , Xs [1,0,1,0,0,0,1]+    , Xs [1,0,1,0,0,1,0]+    , Xs [1,0,1,0,0,2]+    , Xs [1,0,1,0,1,0,0]+    , Xs [1,0,1,0,1,1]+    , Xs [1,0,1,0,2,0]+    , Xs [1,0,1,0,6]+    , Xs [1,0,1,1,0,0,0]+    , Xs [1,0,1,1,0,1]+    , Xs [1,0,1,1,1,0]+    , Xs [1,0,1,1,2]+    , Xs [1,0,1,2,0,0]+    , Xs [1,0,1,2,1]+    , Xs [1,0,1,6,0]+    , Xs [1,0,1,3]+    , Xs [1,0,2,0,0,0,0]+    , Xs [1,0,2,0,0,1]+    , Xs [1,0,2,0,1,0]+    , Xs [1,0,2,0,2]+    , Xs [1,0,2,1,0,0]+    , Xs [1,0,2,1,1]+    , Xs [1,0,2,2,0]+    , Xs [1,0,2,6]+    , Xs [1,0,6,0,0,0]+    , Xs [1,0,6,0,1]+    , Xs [1,0,6,1,0]+    , Xs [1,0,6,2]+    , Xs [1,0,3,0,0]+    , Xs [1,0,3,1]+    , Xs [1,0,4,0]+    , Xs [1,0,5]+    , Xs [1,1,0,0,0,0,0,0]+    , Xs [1,1,0,0,0,0,1]+    , Xs [1,1,0,0,0,1,0]+    , Xs [1,1,0,0,0,2]+    , Xs [1,1,0,0,1,0,0]+    , Xs [1,1,0,0,1,1]+    , Xs [1,1,0,0,2,0]+    , Xs [1,1,0,0,6]+    , Xs [1,1,0,1,0,0,0]+    , Xs [1,1,0,1,0,1]+    , Xs [1,1,0,1,1,0]+    , Xs [1,1,0,1,2]+    , Xs [1,1,0,2,0,0]+    , Xs [1,1,0,2,1]+    , Xs [1,1,0,6,0]+    , Xs [1,1,0,3]+    , Xs [1,1,1,0,0,0,0]+    , Xs [1,1,1,0,0,1]+    , Xs [1,1,1,0,1,0]+    , Xs [1,1,1,0,2]+    , Xs [1,1,1,1,0,0]+    , Xs [1,1,1,1,1]+    , Xs [1,1,1,2,0]+    , Xs [1,1,1,6]+    , Xs [1,1,2,0,0,0]+    , Xs [1,1,2,0,1]+    , Xs [1,1,2,1,0]+    , Xs [1,1,2,2]+    , Xs [1,1,6,0,0]+    , Xs [1,1,6,1]+    , Xs [1,1,3,0]+    , Xs [1,1,4]+    , Xs [1,2,0,0,0,0,0]+    , Xs [1,2,0,0,0,1]+    , Xs [1,2,0,0,1,0]+    , Xs [1,2,0,0,2]+    , Xs [1,2,0,1,0,0]+    , Xs [1,2,0,1,1]+    , Xs [1,2,0,2,0]+    , Xs [1,2,0,6]+    , Xs [1,2,1,0,0,0]+    , Xs [1,2,1,0,1]+    , Xs [1,2,1,1,0]+    , Xs [1,2,1,2]+    , Xs [1,2,2,0,0]+    , Xs [1,2,2,1]+    , Xs [1,2,6,0]+    , Xs [1,2,3]+    , Xs [1,6,0,0,0,0]+    , Xs [1,6,0,0,1]+    , Xs [1,6,0,1,0]+    , Xs [1,6,0,2]+    , Xs [1,6,1,0,0]+    , Xs [1,6,1,1]+    , Xs [1,6,2,0]+    , Xs [1,6,6]+    , Xs [1,3,0,0,0]+    , Xs [1,3,0,1]+    , Xs [1,3,1,0]+    , Xs [1,3,2]+    , Xs [1,4,0,0]+    , Xs [1,4,1]+    , Xs [1,5,0]+    , Xs [2,0,0,0,0,0,0,0]+    , Xs [2,0,0,0,0,0,1]+    , Xs [2,0,0,0,0,1,0]+    , Xs [2,0,0,0,0,2]+    , Xs [2,0,0,0,1,0,0]+    , Xs [2,0,0,0,1,1]+    , Xs [2,0,0,0,2,0]+    , Xs [2,0,0,0,6]+    , Xs [2,0,0,1,0,0,0]+    , Xs [2,0,0,1,0,1]+    , Xs [2,0,0,1,1,0]+    , Xs [2,0,0,1,2]+    , Xs [2,0,0,2,0,0]+    , Xs [2,0,0,2,1]+    , Xs [2,0,0,6,0]+    , Xs [2,0,0,3]+    , Xs [2,0,1,0,0,0,0]+    , Xs [2,0,1,0,0,1]+    , Xs [2,0,1,0,1,0]+    , Xs [2,0,1,0,2]+    , Xs [2,0,1,1,0,0]+    , Xs [2,0,1,1,1]+    , Xs [2,0,1,2,0]+    , Xs [2,0,1,6]+    , Xs [2,0,2,0,0,0]+    , Xs [2,0,2,0,1]+    , Xs [2,0,2,1,0]+    , Xs [2,0,2,2]+    , Xs [2,0,6,0,0]+    , Xs [2,0,6,1]+    , Xs [2,0,3,0]+    , Xs [2,0,4]+    , Xs [2,1,0,0,0,0,0]+    , Xs [2,1,0,0,0,1]+    , Xs [2,1,0,0,1,0]+    , Xs [2,1,0,0,2]+    , Xs [2,1,0,1,0,0]+    , Xs [2,1,0,1,1]+    , Xs [2,1,0,2,0]+    , Xs [2,1,0,6]+    , Xs [2,1,1,0,0,0]+    , Xs [2,1,1,0,1]+    , Xs [2,1,1,1,0]+    , Xs [2,1,1,2]+    , Xs [2,1,2,0,0]+    , Xs [2,1,2,1]+    , Xs [2,1,6,0]+    , Xs [2,1,3]+    , Xs [2,2,0,0,0,0]+    , Xs [2,2,0,0,1]+    , Xs [2,2,0,1,0]+    , Xs [2,2,0,2]+    , Xs [2,2,1,0,0]+    , Xs [2,2,1,1]+    , Xs [2,2,2,0]+    , Xs [2,2,6]+    , Xs [2,6,0,0,0]+    , Xs [2,6,0,1]+    , Xs [2,6,1,0]+    , Xs [2,6,2]+    , Xs [2,3,0,0]+    , Xs [2,3,1]+    , Xs [2,4,0]+    , Xs [2,5]+    , Xs [6,0,0,0,0,0,0]+    , Xs [6,0,0,0,0,1]+    , Xs [6,0,0,0,1,0]+    , Xs [6,0,0,0,2]+    , Xs [6,0,0,1,0,0]+    , Xs [6,0,0,1,1]+    , Xs [6,0,0,2,0]+    , Xs [6,0,0,6]+    , Xs [6,0,1,0,0,0]+    , Xs [6,0,1,0,1]+    , Xs [6,0,1,1,0]+    , Xs [6,0,1,2]+    , Xs [6,0,2,0,0]+    , Xs [6,0,2,1]+    , Xs [6,0,6,0]+    , Xs [6,0,3]+    , Xs [6,1,0,0,0,0]+    , Xs [6,1,0,0,1]+    , Xs [6,1,0,1,0]+    , Xs [6,1,0,2]+    , Xs [6,1,1,0,0]+    , Xs [6,1,1,1]+    , Xs [6,1,2,0]+    , Xs [6,1,6]+    , Xs [6,2,0,0,0]+    , Xs [6,2,0,1]+    , Xs [6,2,1,0]+    , Xs [6,2,2]+    , Xs [6,6,0,0]+    , Xs [6,6,1]+    , Xs [6,3,0]+    , Xs [6,4]+    , Xs [3,0,0,0,0,0]+    , Xs [3,0,0,0,1]+    , Xs [3,0,0,1,0]+    , Xs [3,0,0,2]+    , Xs [3,0,1,0,0]+    , Xs [3,0,1,1]+    , Xs [3,0,2,0]+    , Xs [3,0,6]+    , Xs [3,1,0,0,0]+    , Xs [3,1,0,1]+    , Xs [3,1,1,0]+    , Xs [3,1,2]+    , Xs [3,2,0,0]+    , Xs [3,2,1]+    , Xs [3,6,0]+    , Xs [3,3]+    , Xs [4,0,0,0,0]+    , Xs [4,0,0,1]+    , Xs [4,0,1,0]+    , Xs [4,0,2]+    , Xs [4,1,0,0]+    , Xs [4,1,1]+    , Xs [4,2,0]+    , Xs [4,6]+    , Xs [5,0,0,0]+    , Xs [5,0,1]+    , Xs [5,1,0]+    , Xs [5,2]+    ]+  , ...+  ]
+ bench/tiers-txt/XsWord4.txt view
@@ -0,0 +1,1045 @@+map length (tiers :: [[ Xs Word4 ]])  =  [0,1,1,2,4,8,16,32,64,128,256,512,...]++length (list :: [ Xs Word4 ])  =  Infinity++allUnique (list :: [ Xs Word4 ])  =  True++ratioRepetitions (list :: [ Xs Word4 ])  =  0 % 1++tiers :: [Xs Word4]  =+  [ []+  , [Xs []]+  , [Xs [0]]+  , [ Xs [0,0]+    , Xs [1]+    ]+  , [ Xs [0,0,0]+    , Xs [0,1]+    , Xs [1,0]+    , Xs [2]+    ]+  , [ Xs [0,0,0,0]+    , Xs [0,0,1]+    , Xs [0,1,0]+    , Xs [0,2]+    , Xs [1,0,0]+    , Xs [1,1]+    , Xs [2,0]+    , Xs [15]+    ]+  , [ Xs [0,0,0,0,0]+    , Xs [0,0,0,1]+    , Xs [0,0,1,0]+    , Xs [0,0,2]+    , Xs [0,1,0,0]+    , Xs [0,1,1]+    , Xs [0,2,0]+    , Xs [0,15]+    , Xs [1,0,0,0]+    , Xs [1,0,1]+    , Xs [1,1,0]+    , Xs [1,2]+    , Xs [2,0,0]+    , Xs [2,1]+    , Xs [15,0]+    , Xs [3]+    ]+  , [ Xs [0,0,0,0,0,0]+    , Xs [0,0,0,0,1]+    , Xs [0,0,0,1,0]+    , Xs [0,0,0,2]+    , Xs [0,0,1,0,0]+    , Xs [0,0,1,1]+    , Xs [0,0,2,0]+    , Xs [0,0,15]+    , Xs [0,1,0,0,0]+    , Xs [0,1,0,1]+    , Xs [0,1,1,0]+    , Xs [0,1,2]+    , Xs [0,2,0,0]+    , Xs [0,2,1]+    , Xs [0,15,0]+    , Xs [0,3]+    , Xs [1,0,0,0,0]+    , Xs [1,0,0,1]+    , Xs [1,0,1,0]+    , Xs [1,0,2]+    , Xs [1,1,0,0]+    , Xs [1,1,1]+    , Xs [1,2,0]+    , Xs [1,15]+    , Xs [2,0,0,0]+    , Xs [2,0,1]+    , Xs [2,1,0]+    , Xs [2,2]+    , Xs [15,0,0]+    , Xs [15,1]+    , Xs [3,0]+    , Xs [4]+    ]+  , [ Xs [0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,1]+    , Xs [0,0,0,0,1,0]+    , Xs [0,0,0,0,2]+    , Xs [0,0,0,1,0,0]+    , Xs [0,0,0,1,1]+    , Xs [0,0,0,2,0]+    , Xs [0,0,0,15]+    , Xs [0,0,1,0,0,0]+    , Xs [0,0,1,0,1]+    , Xs [0,0,1,1,0]+    , Xs [0,0,1,2]+    , Xs [0,0,2,0,0]+    , Xs [0,0,2,1]+    , Xs [0,0,15,0]+    , Xs [0,0,3]+    , Xs [0,1,0,0,0,0]+    , Xs [0,1,0,0,1]+    , Xs [0,1,0,1,0]+    , Xs [0,1,0,2]+    , Xs [0,1,1,0,0]+    , Xs [0,1,1,1]+    , Xs [0,1,2,0]+    , Xs [0,1,15]+    , Xs [0,2,0,0,0]+    , Xs [0,2,0,1]+    , Xs [0,2,1,0]+    , Xs [0,2,2]+    , Xs [0,15,0,0]+    , Xs [0,15,1]+    , Xs [0,3,0]+    , Xs [0,4]+    , Xs [1,0,0,0,0,0]+    , Xs [1,0,0,0,1]+    , Xs [1,0,0,1,0]+    , Xs [1,0,0,2]+    , Xs [1,0,1,0,0]+    , Xs [1,0,1,1]+    , Xs [1,0,2,0]+    , Xs [1,0,15]+    , Xs [1,1,0,0,0]+    , Xs [1,1,0,1]+    , Xs [1,1,1,0]+    , Xs [1,1,2]+    , Xs [1,2,0,0]+    , Xs [1,2,1]+    , Xs [1,15,0]+    , Xs [1,3]+    , Xs [2,0,0,0,0]+    , Xs [2,0,0,1]+    , Xs [2,0,1,0]+    , Xs [2,0,2]+    , Xs [2,1,0,0]+    , Xs [2,1,1]+    , Xs [2,2,0]+    , Xs [2,15]+    , Xs [15,0,0,0]+    , Xs [15,0,1]+    , Xs [15,1,0]+    , Xs [15,2]+    , Xs [3,0,0]+    , Xs [3,1]+    , Xs [4,0]+    , Xs [14]+    ]+  , [ Xs [0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,2]+    , Xs [0,0,0,0,1,0,0]+    , Xs [0,0,0,0,1,1]+    , Xs [0,0,0,0,2,0]+    , Xs [0,0,0,0,15]+    , Xs [0,0,0,1,0,0,0]+    , Xs [0,0,0,1,0,1]+    , Xs [0,0,0,1,1,0]+    , Xs [0,0,0,1,2]+    , Xs [0,0,0,2,0,0]+    , Xs [0,0,0,2,1]+    , Xs [0,0,0,15,0]+    , Xs [0,0,0,3]+    , Xs [0,0,1,0,0,0,0]+    , Xs [0,0,1,0,0,1]+    , Xs [0,0,1,0,1,0]+    , Xs [0,0,1,0,2]+    , Xs [0,0,1,1,0,0]+    , Xs [0,0,1,1,1]+    , Xs [0,0,1,2,0]+    , Xs [0,0,1,15]+    , Xs [0,0,2,0,0,0]+    , Xs [0,0,2,0,1]+    , Xs [0,0,2,1,0]+    , Xs [0,0,2,2]+    , Xs [0,0,15,0,0]+    , Xs [0,0,15,1]+    , Xs [0,0,3,0]+    , Xs [0,0,4]+    , Xs [0,1,0,0,0,0,0]+    , Xs [0,1,0,0,0,1]+    , Xs [0,1,0,0,1,0]+    , Xs [0,1,0,0,2]+    , Xs [0,1,0,1,0,0]+    , Xs [0,1,0,1,1]+    , Xs [0,1,0,2,0]+    , Xs [0,1,0,15]+    , Xs [0,1,1,0,0,0]+    , Xs [0,1,1,0,1]+    , Xs [0,1,1,1,0]+    , Xs [0,1,1,2]+    , Xs [0,1,2,0,0]+    , Xs [0,1,2,1]+    , Xs [0,1,15,0]+    , Xs [0,1,3]+    , Xs [0,2,0,0,0,0]+    , Xs [0,2,0,0,1]+    , Xs [0,2,0,1,0]+    , Xs [0,2,0,2]+    , Xs [0,2,1,0,0]+    , Xs [0,2,1,1]+    , Xs [0,2,2,0]+    , Xs [0,2,15]+    , Xs [0,15,0,0,0]+    , Xs [0,15,0,1]+    , Xs [0,15,1,0]+    , Xs [0,15,2]+    , Xs [0,3,0,0]+    , Xs [0,3,1]+    , Xs [0,4,0]+    , Xs [0,14]+    , Xs [1,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,1]+    , Xs [1,0,0,0,1,0]+    , Xs [1,0,0,0,2]+    , Xs [1,0,0,1,0,0]+    , Xs [1,0,0,1,1]+    , Xs [1,0,0,2,0]+    , Xs [1,0,0,15]+    , Xs [1,0,1,0,0,0]+    , Xs [1,0,1,0,1]+    , Xs [1,0,1,1,0]+    , Xs [1,0,1,2]+    , Xs [1,0,2,0,0]+    , Xs [1,0,2,1]+    , Xs [1,0,15,0]+    , Xs [1,0,3]+    , Xs [1,1,0,0,0,0]+    , Xs [1,1,0,0,1]+    , Xs [1,1,0,1,0]+    , Xs [1,1,0,2]+    , Xs [1,1,1,0,0]+    , Xs [1,1,1,1]+    , Xs [1,1,2,0]+    , Xs [1,1,15]+    , Xs [1,2,0,0,0]+    , Xs [1,2,0,1]+    , Xs [1,2,1,0]+    , Xs [1,2,2]+    , Xs [1,15,0,0]+    , Xs [1,15,1]+    , Xs [1,3,0]+    , Xs [1,4]+    , Xs [2,0,0,0,0,0]+    , Xs [2,0,0,0,1]+    , Xs [2,0,0,1,0]+    , Xs [2,0,0,2]+    , Xs [2,0,1,0,0]+    , Xs [2,0,1,1]+    , Xs [2,0,2,0]+    , Xs [2,0,15]+    , Xs [2,1,0,0,0]+    , Xs [2,1,0,1]+    , Xs [2,1,1,0]+    , Xs [2,1,2]+    , Xs [2,2,0,0]+    , Xs [2,2,1]+    , Xs [2,15,0]+    , Xs [2,3]+    , Xs [15,0,0,0,0]+    , Xs [15,0,0,1]+    , Xs [15,0,1,0]+    , Xs [15,0,2]+    , Xs [15,1,0,0]+    , Xs [15,1,1]+    , Xs [15,2,0]+    , Xs [15,15]+    , Xs [3,0,0,0]+    , Xs [3,0,1]+    , Xs [3,1,0]+    , Xs [3,2]+    , Xs [4,0,0]+    , Xs [4,1]+    , Xs [14,0]+    , Xs [5]+    ]+  , [ Xs [0,0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,0,2]+    , Xs [0,0,0,0,0,1,0,0]+    , Xs [0,0,0,0,0,1,1]+    , Xs [0,0,0,0,0,2,0]+    , Xs [0,0,0,0,0,15]+    , Xs [0,0,0,0,1,0,0,0]+    , Xs [0,0,0,0,1,0,1]+    , Xs [0,0,0,0,1,1,0]+    , Xs [0,0,0,0,1,2]+    , Xs [0,0,0,0,2,0,0]+    , Xs [0,0,0,0,2,1]+    , Xs [0,0,0,0,15,0]+    , Xs [0,0,0,0,3]+    , Xs [0,0,0,1,0,0,0,0]+    , Xs [0,0,0,1,0,0,1]+    , Xs [0,0,0,1,0,1,0]+    , Xs [0,0,0,1,0,2]+    , Xs [0,0,0,1,1,0,0]+    , Xs [0,0,0,1,1,1]+    , Xs [0,0,0,1,2,0]+    , Xs [0,0,0,1,15]+    , Xs [0,0,0,2,0,0,0]+    , Xs [0,0,0,2,0,1]+    , Xs [0,0,0,2,1,0]+    , Xs [0,0,0,2,2]+    , Xs [0,0,0,15,0,0]+    , Xs [0,0,0,15,1]+    , Xs [0,0,0,3,0]+    , Xs [0,0,0,4]+    , Xs [0,0,1,0,0,0,0,0]+    , Xs [0,0,1,0,0,0,1]+    , Xs [0,0,1,0,0,1,0]+    , Xs [0,0,1,0,0,2]+    , Xs [0,0,1,0,1,0,0]+    , Xs [0,0,1,0,1,1]+    , Xs [0,0,1,0,2,0]+    , Xs [0,0,1,0,15]+    , Xs [0,0,1,1,0,0,0]+    , Xs [0,0,1,1,0,1]+    , Xs [0,0,1,1,1,0]+    , Xs [0,0,1,1,2]+    , Xs [0,0,1,2,0,0]+    , Xs [0,0,1,2,1]+    , Xs [0,0,1,15,0]+    , Xs [0,0,1,3]+    , Xs [0,0,2,0,0,0,0]+    , Xs [0,0,2,0,0,1]+    , Xs [0,0,2,0,1,0]+    , Xs [0,0,2,0,2]+    , Xs [0,0,2,1,0,0]+    , Xs [0,0,2,1,1]+    , Xs [0,0,2,2,0]+    , Xs [0,0,2,15]+    , Xs [0,0,15,0,0,0]+    , Xs [0,0,15,0,1]+    , Xs [0,0,15,1,0]+    , Xs [0,0,15,2]+    , Xs [0,0,3,0,0]+    , Xs [0,0,3,1]+    , Xs [0,0,4,0]+    , Xs [0,0,14]+    , Xs [0,1,0,0,0,0,0,0]+    , Xs [0,1,0,0,0,0,1]+    , Xs [0,1,0,0,0,1,0]+    , Xs [0,1,0,0,0,2]+    , Xs [0,1,0,0,1,0,0]+    , Xs [0,1,0,0,1,1]+    , Xs [0,1,0,0,2,0]+    , Xs [0,1,0,0,15]+    , Xs [0,1,0,1,0,0,0]+    , Xs [0,1,0,1,0,1]+    , Xs [0,1,0,1,1,0]+    , Xs [0,1,0,1,2]+    , Xs [0,1,0,2,0,0]+    , Xs [0,1,0,2,1]+    , Xs [0,1,0,15,0]+    , Xs [0,1,0,3]+    , Xs [0,1,1,0,0,0,0]+    , Xs [0,1,1,0,0,1]+    , Xs [0,1,1,0,1,0]+    , Xs [0,1,1,0,2]+    , Xs [0,1,1,1,0,0]+    , Xs [0,1,1,1,1]+    , Xs [0,1,1,2,0]+    , Xs [0,1,1,15]+    , Xs [0,1,2,0,0,0]+    , Xs [0,1,2,0,1]+    , Xs [0,1,2,1,0]+    , Xs [0,1,2,2]+    , Xs [0,1,15,0,0]+    , Xs [0,1,15,1]+    , Xs [0,1,3,0]+    , Xs [0,1,4]+    , Xs [0,2,0,0,0,0,0]+    , Xs [0,2,0,0,0,1]+    , Xs [0,2,0,0,1,0]+    , Xs [0,2,0,0,2]+    , Xs [0,2,0,1,0,0]+    , Xs [0,2,0,1,1]+    , Xs [0,2,0,2,0]+    , Xs [0,2,0,15]+    , Xs [0,2,1,0,0,0]+    , Xs [0,2,1,0,1]+    , Xs [0,2,1,1,0]+    , Xs [0,2,1,2]+    , Xs [0,2,2,0,0]+    , Xs [0,2,2,1]+    , Xs [0,2,15,0]+    , Xs [0,2,3]+    , Xs [0,15,0,0,0,0]+    , Xs [0,15,0,0,1]+    , Xs [0,15,0,1,0]+    , Xs [0,15,0,2]+    , Xs [0,15,1,0,0]+    , Xs [0,15,1,1]+    , Xs [0,15,2,0]+    , Xs [0,15,15]+    , Xs [0,3,0,0,0]+    , Xs [0,3,0,1]+    , Xs [0,3,1,0]+    , Xs [0,3,2]+    , Xs [0,4,0,0]+    , Xs [0,4,1]+    , Xs [0,14,0]+    , Xs [0,5]+    , Xs [1,0,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,0,1]+    , Xs [1,0,0,0,0,1,0]+    , Xs [1,0,0,0,0,2]+    , Xs [1,0,0,0,1,0,0]+    , Xs [1,0,0,0,1,1]+    , Xs [1,0,0,0,2,0]+    , Xs [1,0,0,0,15]+    , Xs [1,0,0,1,0,0,0]+    , Xs [1,0,0,1,0,1]+    , Xs [1,0,0,1,1,0]+    , Xs [1,0,0,1,2]+    , Xs [1,0,0,2,0,0]+    , Xs [1,0,0,2,1]+    , Xs [1,0,0,15,0]+    , Xs [1,0,0,3]+    , Xs [1,0,1,0,0,0,0]+    , Xs [1,0,1,0,0,1]+    , Xs [1,0,1,0,1,0]+    , Xs [1,0,1,0,2]+    , Xs [1,0,1,1,0,0]+    , Xs [1,0,1,1,1]+    , Xs [1,0,1,2,0]+    , Xs [1,0,1,15]+    , Xs [1,0,2,0,0,0]+    , Xs [1,0,2,0,1]+    , Xs [1,0,2,1,0]+    , Xs [1,0,2,2]+    , Xs [1,0,15,0,0]+    , Xs [1,0,15,1]+    , Xs [1,0,3,0]+    , Xs [1,0,4]+    , Xs [1,1,0,0,0,0,0]+    , Xs [1,1,0,0,0,1]+    , Xs [1,1,0,0,1,0]+    , Xs [1,1,0,0,2]+    , Xs [1,1,0,1,0,0]+    , Xs [1,1,0,1,1]+    , Xs [1,1,0,2,0]+    , Xs [1,1,0,15]+    , Xs [1,1,1,0,0,0]+    , Xs [1,1,1,0,1]+    , Xs [1,1,1,1,0]+    , Xs [1,1,1,2]+    , Xs [1,1,2,0,0]+    , Xs [1,1,2,1]+    , Xs [1,1,15,0]+    , Xs [1,1,3]+    , Xs [1,2,0,0,0,0]+    , Xs [1,2,0,0,1]+    , Xs [1,2,0,1,0]+    , Xs [1,2,0,2]+    , Xs [1,2,1,0,0]+    , Xs [1,2,1,1]+    , Xs [1,2,2,0]+    , Xs [1,2,15]+    , Xs [1,15,0,0,0]+    , Xs [1,15,0,1]+    , Xs [1,15,1,0]+    , Xs [1,15,2]+    , Xs [1,3,0,0]+    , Xs [1,3,1]+    , Xs [1,4,0]+    , Xs [1,14]+    , Xs [2,0,0,0,0,0,0]+    , Xs [2,0,0,0,0,1]+    , Xs [2,0,0,0,1,0]+    , Xs [2,0,0,0,2]+    , Xs [2,0,0,1,0,0]+    , Xs [2,0,0,1,1]+    , Xs [2,0,0,2,0]+    , Xs [2,0,0,15]+    , Xs [2,0,1,0,0,0]+    , Xs [2,0,1,0,1]+    , Xs [2,0,1,1,0]+    , Xs [2,0,1,2]+    , Xs [2,0,2,0,0]+    , Xs [2,0,2,1]+    , Xs [2,0,15,0]+    , Xs [2,0,3]+    , Xs [2,1,0,0,0,0]+    , Xs [2,1,0,0,1]+    , Xs [2,1,0,1,0]+    , Xs [2,1,0,2]+    , Xs [2,1,1,0,0]+    , Xs [2,1,1,1]+    , Xs [2,1,2,0]+    , Xs [2,1,15]+    , Xs [2,2,0,0,0]+    , Xs [2,2,0,1]+    , Xs [2,2,1,0]+    , Xs [2,2,2]+    , Xs [2,15,0,0]+    , Xs [2,15,1]+    , Xs [2,3,0]+    , Xs [2,4]+    , Xs [15,0,0,0,0,0]+    , Xs [15,0,0,0,1]+    , Xs [15,0,0,1,0]+    , Xs [15,0,0,2]+    , Xs [15,0,1,0,0]+    , Xs [15,0,1,1]+    , Xs [15,0,2,0]+    , Xs [15,0,15]+    , Xs [15,1,0,0,0]+    , Xs [15,1,0,1]+    , Xs [15,1,1,0]+    , Xs [15,1,2]+    , Xs [15,2,0,0]+    , Xs [15,2,1]+    , Xs [15,15,0]+    , Xs [15,3]+    , Xs [3,0,0,0,0]+    , Xs [3,0,0,1]+    , Xs [3,0,1,0]+    , Xs [3,0,2]+    , Xs [3,1,0,0]+    , Xs [3,1,1]+    , Xs [3,2,0]+    , Xs [3,15]+    , Xs [4,0,0,0]+    , Xs [4,0,1]+    , Xs [4,1,0]+    , Xs [4,2]+    , Xs [14,0,0]+    , Xs [14,1]+    , Xs [5,0]+    , Xs [6]+    ]+  , [ Xs [0,0,0,0,0,0,0,0,0,0]+    , Xs [0,0,0,0,0,0,0,0,1]+    , Xs [0,0,0,0,0,0,0,1,0]+    , Xs [0,0,0,0,0,0,0,2]+    , Xs [0,0,0,0,0,0,1,0,0]+    , Xs [0,0,0,0,0,0,1,1]+    , Xs [0,0,0,0,0,0,2,0]+    , Xs [0,0,0,0,0,0,15]+    , Xs [0,0,0,0,0,1,0,0,0]+    , Xs [0,0,0,0,0,1,0,1]+    , Xs [0,0,0,0,0,1,1,0]+    , Xs [0,0,0,0,0,1,2]+    , Xs [0,0,0,0,0,2,0,0]+    , Xs [0,0,0,0,0,2,1]+    , Xs [0,0,0,0,0,15,0]+    , Xs [0,0,0,0,0,3]+    , Xs [0,0,0,0,1,0,0,0,0]+    , Xs [0,0,0,0,1,0,0,1]+    , Xs [0,0,0,0,1,0,1,0]+    , Xs [0,0,0,0,1,0,2]+    , Xs [0,0,0,0,1,1,0,0]+    , Xs [0,0,0,0,1,1,1]+    , Xs [0,0,0,0,1,2,0]+    , Xs [0,0,0,0,1,15]+    , Xs [0,0,0,0,2,0,0,0]+    , Xs [0,0,0,0,2,0,1]+    , Xs [0,0,0,0,2,1,0]+    , Xs [0,0,0,0,2,2]+    , Xs [0,0,0,0,15,0,0]+    , Xs [0,0,0,0,15,1]+    , Xs [0,0,0,0,3,0]+    , Xs [0,0,0,0,4]+    , Xs [0,0,0,1,0,0,0,0,0]+    , Xs [0,0,0,1,0,0,0,1]+    , Xs [0,0,0,1,0,0,1,0]+    , Xs [0,0,0,1,0,0,2]+    , Xs [0,0,0,1,0,1,0,0]+    , Xs [0,0,0,1,0,1,1]+    , Xs [0,0,0,1,0,2,0]+    , Xs [0,0,0,1,0,15]+    , Xs [0,0,0,1,1,0,0,0]+    , Xs [0,0,0,1,1,0,1]+    , Xs [0,0,0,1,1,1,0]+    , Xs [0,0,0,1,1,2]+    , Xs [0,0,0,1,2,0,0]+    , Xs [0,0,0,1,2,1]+    , Xs [0,0,0,1,15,0]+    , Xs [0,0,0,1,3]+    , Xs [0,0,0,2,0,0,0,0]+    , Xs [0,0,0,2,0,0,1]+    , Xs [0,0,0,2,0,1,0]+    , Xs [0,0,0,2,0,2]+    , Xs [0,0,0,2,1,0,0]+    , Xs [0,0,0,2,1,1]+    , Xs [0,0,0,2,2,0]+    , Xs [0,0,0,2,15]+    , Xs [0,0,0,15,0,0,0]+    , Xs [0,0,0,15,0,1]+    , Xs [0,0,0,15,1,0]+    , Xs [0,0,0,15,2]+    , Xs [0,0,0,3,0,0]+    , Xs [0,0,0,3,1]+    , Xs [0,0,0,4,0]+    , Xs [0,0,0,14]+    , Xs [0,0,1,0,0,0,0,0,0]+    , Xs [0,0,1,0,0,0,0,1]+    , Xs [0,0,1,0,0,0,1,0]+    , Xs [0,0,1,0,0,0,2]+    , Xs [0,0,1,0,0,1,0,0]+    , Xs [0,0,1,0,0,1,1]+    , Xs [0,0,1,0,0,2,0]+    , Xs [0,0,1,0,0,15]+    , Xs [0,0,1,0,1,0,0,0]+    , Xs [0,0,1,0,1,0,1]+    , Xs [0,0,1,0,1,1,0]+    , Xs [0,0,1,0,1,2]+    , Xs [0,0,1,0,2,0,0]+    , Xs [0,0,1,0,2,1]+    , Xs [0,0,1,0,15,0]+    , Xs [0,0,1,0,3]+    , Xs [0,0,1,1,0,0,0,0]+    , Xs [0,0,1,1,0,0,1]+    , Xs [0,0,1,1,0,1,0]+    , Xs [0,0,1,1,0,2]+    , Xs [0,0,1,1,1,0,0]+    , Xs [0,0,1,1,1,1]+    , Xs [0,0,1,1,2,0]+    , Xs [0,0,1,1,15]+    , Xs [0,0,1,2,0,0,0]+    , Xs [0,0,1,2,0,1]+    , Xs [0,0,1,2,1,0]+    , Xs [0,0,1,2,2]+    , Xs [0,0,1,15,0,0]+    , Xs [0,0,1,15,1]+    , Xs [0,0,1,3,0]+    , Xs [0,0,1,4]+    , Xs [0,0,2,0,0,0,0,0]+    , Xs [0,0,2,0,0,0,1]+    , Xs [0,0,2,0,0,1,0]+    , Xs [0,0,2,0,0,2]+    , Xs [0,0,2,0,1,0,0]+    , Xs [0,0,2,0,1,1]+    , Xs [0,0,2,0,2,0]+    , Xs [0,0,2,0,15]+    , Xs [0,0,2,1,0,0,0]+    , Xs [0,0,2,1,0,1]+    , Xs [0,0,2,1,1,0]+    , Xs [0,0,2,1,2]+    , Xs [0,0,2,2,0,0]+    , Xs [0,0,2,2,1]+    , Xs [0,0,2,15,0]+    , Xs [0,0,2,3]+    , Xs [0,0,15,0,0,0,0]+    , Xs [0,0,15,0,0,1]+    , Xs [0,0,15,0,1,0]+    , Xs [0,0,15,0,2]+    , Xs [0,0,15,1,0,0]+    , Xs [0,0,15,1,1]+    , Xs [0,0,15,2,0]+    , Xs [0,0,15,15]+    , Xs [0,0,3,0,0,0]+    , Xs [0,0,3,0,1]+    , Xs [0,0,3,1,0]+    , Xs [0,0,3,2]+    , Xs [0,0,4,0,0]+    , Xs [0,0,4,1]+    , Xs [0,0,14,0]+    , Xs [0,0,5]+    , Xs [0,1,0,0,0,0,0,0,0]+    , Xs [0,1,0,0,0,0,0,1]+    , Xs [0,1,0,0,0,0,1,0]+    , Xs [0,1,0,0,0,0,2]+    , Xs [0,1,0,0,0,1,0,0]+    , Xs [0,1,0,0,0,1,1]+    , Xs [0,1,0,0,0,2,0]+    , Xs [0,1,0,0,0,15]+    , Xs [0,1,0,0,1,0,0,0]+    , Xs [0,1,0,0,1,0,1]+    , Xs [0,1,0,0,1,1,0]+    , Xs [0,1,0,0,1,2]+    , Xs [0,1,0,0,2,0,0]+    , Xs [0,1,0,0,2,1]+    , Xs [0,1,0,0,15,0]+    , Xs [0,1,0,0,3]+    , Xs [0,1,0,1,0,0,0,0]+    , Xs [0,1,0,1,0,0,1]+    , Xs [0,1,0,1,0,1,0]+    , Xs [0,1,0,1,0,2]+    , Xs [0,1,0,1,1,0,0]+    , Xs [0,1,0,1,1,1]+    , Xs [0,1,0,1,2,0]+    , Xs [0,1,0,1,15]+    , Xs [0,1,0,2,0,0,0]+    , Xs [0,1,0,2,0,1]+    , Xs [0,1,0,2,1,0]+    , Xs [0,1,0,2,2]+    , Xs [0,1,0,15,0,0]+    , Xs [0,1,0,15,1]+    , Xs [0,1,0,3,0]+    , Xs [0,1,0,4]+    , Xs [0,1,1,0,0,0,0,0]+    , Xs [0,1,1,0,0,0,1]+    , Xs [0,1,1,0,0,1,0]+    , Xs [0,1,1,0,0,2]+    , Xs [0,1,1,0,1,0,0]+    , Xs [0,1,1,0,1,1]+    , Xs [0,1,1,0,2,0]+    , Xs [0,1,1,0,15]+    , Xs [0,1,1,1,0,0,0]+    , Xs [0,1,1,1,0,1]+    , Xs [0,1,1,1,1,0]+    , Xs [0,1,1,1,2]+    , Xs [0,1,1,2,0,0]+    , Xs [0,1,1,2,1]+    , Xs [0,1,1,15,0]+    , Xs [0,1,1,3]+    , Xs [0,1,2,0,0,0,0]+    , Xs [0,1,2,0,0,1]+    , Xs [0,1,2,0,1,0]+    , Xs [0,1,2,0,2]+    , Xs [0,1,2,1,0,0]+    , Xs [0,1,2,1,1]+    , Xs [0,1,2,2,0]+    , Xs [0,1,2,15]+    , Xs [0,1,15,0,0,0]+    , Xs [0,1,15,0,1]+    , Xs [0,1,15,1,0]+    , Xs [0,1,15,2]+    , Xs [0,1,3,0,0]+    , Xs [0,1,3,1]+    , Xs [0,1,4,0]+    , Xs [0,1,14]+    , Xs [0,2,0,0,0,0,0,0]+    , Xs [0,2,0,0,0,0,1]+    , Xs [0,2,0,0,0,1,0]+    , Xs [0,2,0,0,0,2]+    , Xs [0,2,0,0,1,0,0]+    , Xs [0,2,0,0,1,1]+    , Xs [0,2,0,0,2,0]+    , Xs [0,2,0,0,15]+    , Xs [0,2,0,1,0,0,0]+    , Xs [0,2,0,1,0,1]+    , Xs [0,2,0,1,1,0]+    , Xs [0,2,0,1,2]+    , Xs [0,2,0,2,0,0]+    , Xs [0,2,0,2,1]+    , Xs [0,2,0,15,0]+    , Xs [0,2,0,3]+    , Xs [0,2,1,0,0,0,0]+    , Xs [0,2,1,0,0,1]+    , Xs [0,2,1,0,1,0]+    , Xs [0,2,1,0,2]+    , Xs [0,2,1,1,0,0]+    , Xs [0,2,1,1,1]+    , Xs [0,2,1,2,0]+    , Xs [0,2,1,15]+    , Xs [0,2,2,0,0,0]+    , Xs [0,2,2,0,1]+    , Xs [0,2,2,1,0]+    , Xs [0,2,2,2]+    , Xs [0,2,15,0,0]+    , Xs [0,2,15,1]+    , Xs [0,2,3,0]+    , Xs [0,2,4]+    , Xs [0,15,0,0,0,0,0]+    , Xs [0,15,0,0,0,1]+    , Xs [0,15,0,0,1,0]+    , Xs [0,15,0,0,2]+    , Xs [0,15,0,1,0,0]+    , Xs [0,15,0,1,1]+    , Xs [0,15,0,2,0]+    , Xs [0,15,0,15]+    , Xs [0,15,1,0,0,0]+    , Xs [0,15,1,0,1]+    , Xs [0,15,1,1,0]+    , Xs [0,15,1,2]+    , Xs [0,15,2,0,0]+    , Xs [0,15,2,1]+    , Xs [0,15,15,0]+    , Xs [0,15,3]+    , Xs [0,3,0,0,0,0]+    , Xs [0,3,0,0,1]+    , Xs [0,3,0,1,0]+    , Xs [0,3,0,2]+    , Xs [0,3,1,0,0]+    , Xs [0,3,1,1]+    , Xs [0,3,2,0]+    , Xs [0,3,15]+    , Xs [0,4,0,0,0]+    , Xs [0,4,0,1]+    , Xs [0,4,1,0]+    , Xs [0,4,2]+    , Xs [0,14,0,0]+    , Xs [0,14,1]+    , Xs [0,5,0]+    , Xs [0,6]+    , Xs [1,0,0,0,0,0,0,0,0]+    , Xs [1,0,0,0,0,0,0,1]+    , Xs [1,0,0,0,0,0,1,0]+    , Xs [1,0,0,0,0,0,2]+    , Xs [1,0,0,0,0,1,0,0]+    , Xs [1,0,0,0,0,1,1]+    , Xs [1,0,0,0,0,2,0]+    , Xs [1,0,0,0,0,15]+    , Xs [1,0,0,0,1,0,0,0]+    , Xs [1,0,0,0,1,0,1]+    , Xs [1,0,0,0,1,1,0]+    , Xs [1,0,0,0,1,2]+    , Xs [1,0,0,0,2,0,0]+    , Xs [1,0,0,0,2,1]+    , Xs [1,0,0,0,15,0]+    , Xs [1,0,0,0,3]+    , Xs [1,0,0,1,0,0,0,0]+    , Xs [1,0,0,1,0,0,1]+    , Xs [1,0,0,1,0,1,0]+    , Xs [1,0,0,1,0,2]+    , Xs [1,0,0,1,1,0,0]+    , Xs [1,0,0,1,1,1]+    , Xs [1,0,0,1,2,0]+    , Xs [1,0,0,1,15]+    , Xs [1,0,0,2,0,0,0]+    , Xs [1,0,0,2,0,1]+    , Xs [1,0,0,2,1,0]+    , Xs [1,0,0,2,2]+    , Xs [1,0,0,15,0,0]+    , Xs [1,0,0,15,1]+    , Xs [1,0,0,3,0]+    , Xs [1,0,0,4]+    , Xs [1,0,1,0,0,0,0,0]+    , Xs [1,0,1,0,0,0,1]+    , Xs [1,0,1,0,0,1,0]+    , Xs [1,0,1,0,0,2]+    , Xs [1,0,1,0,1,0,0]+    , Xs [1,0,1,0,1,1]+    , Xs [1,0,1,0,2,0]+    , Xs [1,0,1,0,15]+    , Xs [1,0,1,1,0,0,0]+    , Xs [1,0,1,1,0,1]+    , Xs [1,0,1,1,1,0]+    , Xs [1,0,1,1,2]+    , Xs [1,0,1,2,0,0]+    , Xs [1,0,1,2,1]+    , Xs [1,0,1,15,0]+    , Xs [1,0,1,3]+    , Xs [1,0,2,0,0,0,0]+    , Xs [1,0,2,0,0,1]+    , Xs [1,0,2,0,1,0]+    , Xs [1,0,2,0,2]+    , Xs [1,0,2,1,0,0]+    , Xs [1,0,2,1,1]+    , Xs [1,0,2,2,0]+    , Xs [1,0,2,15]+    , Xs [1,0,15,0,0,0]+    , Xs [1,0,15,0,1]+    , Xs [1,0,15,1,0]+    , Xs [1,0,15,2]+    , Xs [1,0,3,0,0]+    , Xs [1,0,3,1]+    , Xs [1,0,4,0]+    , Xs [1,0,14]+    , Xs [1,1,0,0,0,0,0,0]+    , Xs [1,1,0,0,0,0,1]+    , Xs [1,1,0,0,0,1,0]+    , Xs [1,1,0,0,0,2]+    , Xs [1,1,0,0,1,0,0]+    , Xs [1,1,0,0,1,1]+    , Xs [1,1,0,0,2,0]+    , Xs [1,1,0,0,15]+    , Xs [1,1,0,1,0,0,0]+    , Xs [1,1,0,1,0,1]+    , Xs [1,1,0,1,1,0]+    , Xs [1,1,0,1,2]+    , Xs [1,1,0,2,0,0]+    , Xs [1,1,0,2,1]+    , Xs [1,1,0,15,0]+    , Xs [1,1,0,3]+    , Xs [1,1,1,0,0,0,0]+    , Xs [1,1,1,0,0,1]+    , Xs [1,1,1,0,1,0]+    , Xs [1,1,1,0,2]+    , Xs [1,1,1,1,0,0]+    , Xs [1,1,1,1,1]+    , Xs [1,1,1,2,0]+    , Xs [1,1,1,15]+    , Xs [1,1,2,0,0,0]+    , Xs [1,1,2,0,1]+    , Xs [1,1,2,1,0]+    , Xs [1,1,2,2]+    , Xs [1,1,15,0,0]+    , Xs [1,1,15,1]+    , Xs [1,1,3,0]+    , Xs [1,1,4]+    , Xs [1,2,0,0,0,0,0]+    , Xs [1,2,0,0,0,1]+    , Xs [1,2,0,0,1,0]+    , Xs [1,2,0,0,2]+    , Xs [1,2,0,1,0,0]+    , Xs [1,2,0,1,1]+    , Xs [1,2,0,2,0]+    , Xs [1,2,0,15]+    , Xs [1,2,1,0,0,0]+    , Xs [1,2,1,0,1]+    , Xs [1,2,1,1,0]+    , Xs [1,2,1,2]+    , Xs [1,2,2,0,0]+    , Xs [1,2,2,1]+    , Xs [1,2,15,0]+    , Xs [1,2,3]+    , Xs [1,15,0,0,0,0]+    , Xs [1,15,0,0,1]+    , Xs [1,15,0,1,0]+    , Xs [1,15,0,2]+    , Xs [1,15,1,0,0]+    , Xs [1,15,1,1]+    , Xs [1,15,2,0]+    , Xs [1,15,15]+    , Xs [1,3,0,0,0]+    , Xs [1,3,0,1]+    , Xs [1,3,1,0]+    , Xs [1,3,2]+    , Xs [1,4,0,0]+    , Xs [1,4,1]+    , Xs [1,14,0]+    , Xs [1,5]+    , Xs [2,0,0,0,0,0,0,0]+    , Xs [2,0,0,0,0,0,1]+    , Xs [2,0,0,0,0,1,0]+    , Xs [2,0,0,0,0,2]+    , Xs [2,0,0,0,1,0,0]+    , Xs [2,0,0,0,1,1]+    , Xs [2,0,0,0,2,0]+    , Xs [2,0,0,0,15]+    , Xs [2,0,0,1,0,0,0]+    , Xs [2,0,0,1,0,1]+    , Xs [2,0,0,1,1,0]+    , Xs [2,0,0,1,2]+    , Xs [2,0,0,2,0,0]+    , Xs [2,0,0,2,1]+    , Xs [2,0,0,15,0]+    , Xs [2,0,0,3]+    , Xs [2,0,1,0,0,0,0]+    , Xs [2,0,1,0,0,1]+    , Xs [2,0,1,0,1,0]+    , Xs [2,0,1,0,2]+    , Xs [2,0,1,1,0,0]+    , Xs [2,0,1,1,1]+    , Xs [2,0,1,2,0]+    , Xs [2,0,1,15]+    , Xs [2,0,2,0,0,0]+    , Xs [2,0,2,0,1]+    , Xs [2,0,2,1,0]+    , Xs [2,0,2,2]+    , Xs [2,0,15,0,0]+    , Xs [2,0,15,1]+    , Xs [2,0,3,0]+    , Xs [2,0,4]+    , Xs [2,1,0,0,0,0,0]+    , Xs [2,1,0,0,0,1]+    , Xs [2,1,0,0,1,0]+    , Xs [2,1,0,0,2]+    , Xs [2,1,0,1,0,0]+    , Xs [2,1,0,1,1]+    , Xs [2,1,0,2,0]+    , Xs [2,1,0,15]+    , Xs [2,1,1,0,0,0]+    , Xs [2,1,1,0,1]+    , Xs [2,1,1,1,0]+    , Xs [2,1,1,2]+    , Xs [2,1,2,0,0]+    , Xs [2,1,2,1]+    , Xs [2,1,15,0]+    , Xs [2,1,3]+    , Xs [2,2,0,0,0,0]+    , Xs [2,2,0,0,1]+    , Xs [2,2,0,1,0]+    , Xs [2,2,0,2]+    , Xs [2,2,1,0,0]+    , Xs [2,2,1,1]+    , Xs [2,2,2,0]+    , Xs [2,2,15]+    , Xs [2,15,0,0,0]+    , Xs [2,15,0,1]+    , Xs [2,15,1,0]+    , Xs [2,15,2]+    , Xs [2,3,0,0]+    , Xs [2,3,1]+    , Xs [2,4,0]+    , Xs [2,14]+    , Xs [15,0,0,0,0,0,0]+    , Xs [15,0,0,0,0,1]+    , Xs [15,0,0,0,1,0]+    , Xs [15,0,0,0,2]+    , Xs [15,0,0,1,0,0]+    , Xs [15,0,0,1,1]+    , Xs [15,0,0,2,0]+    , Xs [15,0,0,15]+    , Xs [15,0,1,0,0,0]+    , Xs [15,0,1,0,1]+    , Xs [15,0,1,1,0]+    , Xs [15,0,1,2]+    , Xs [15,0,2,0,0]+    , Xs [15,0,2,1]+    , Xs [15,0,15,0]+    , Xs [15,0,3]+    , Xs [15,1,0,0,0,0]+    , Xs [15,1,0,0,1]+    , Xs [15,1,0,1,0]+    , Xs [15,1,0,2]+    , Xs [15,1,1,0,0]+    , Xs [15,1,1,1]+    , Xs [15,1,2,0]+    , Xs [15,1,15]+    , Xs [15,2,0,0,0]+    , Xs [15,2,0,1]+    , Xs [15,2,1,0]+    , Xs [15,2,2]+    , Xs [15,15,0,0]+    , Xs [15,15,1]+    , Xs [15,3,0]+    , Xs [15,4]+    , Xs [3,0,0,0,0,0]+    , Xs [3,0,0,0,1]+    , Xs [3,0,0,1,0]+    , Xs [3,0,0,2]+    , Xs [3,0,1,0,0]+    , Xs [3,0,1,1]+    , Xs [3,0,2,0]+    , Xs [3,0,15]+    , Xs [3,1,0,0,0]+    , Xs [3,1,0,1]+    , Xs [3,1,1,0]+    , Xs [3,1,2]+    , Xs [3,2,0,0]+    , Xs [3,2,1]+    , Xs [3,15,0]+    , Xs [3,3]+    , Xs [4,0,0,0,0]+    , Xs [4,0,0,1]+    , Xs [4,0,1,0]+    , Xs [4,0,2]+    , Xs [4,1,0,0]+    , Xs [4,1,1]+    , Xs [4,2,0]+    , Xs [4,15]+    , Xs [14,0,0,0]+    , Xs [14,0,1]+    , Xs [14,1,0]+    , Xs [14,2]+    , Xs [5,0,0]+    , Xs [5,1]+    , Xs [6,0]+    , Xs [13]+    ]+  , ...+  ]
+ bench/tiers-txt/default-Bool-Bool-Bool-Bool.txt view
@@ -0,0 +1,1059 @@+map length (tiers :: [[ Bool->Bool->Bool->Bool ]])  =  [256]++length (list :: [ Bool->Bool->Bool->Bool ])  =  Infinity++allUnique (list :: [ Bool->Bool->Bool->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Bool->Bool->Bool ])  =  0 % 1++tiers :: [Bool->Bool->Bool->Bool]  =+  [ [ \_ _ _ -> False+    , \x y z -> case (x,y,z) of+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,True,False) -> True+                _ -> False+    , \x y _ -> case (x,y) of+                (True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,True) -> True+                _ -> False+    , \x _ z -> case (x,z) of+                (True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,_) -> False+                (_,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x _ z -> case (x,z) of+                (True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,_,False) -> True+                (True,True,_) -> True+                _ -> False+    , \x y _ -> case (x,y) of+                (True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,_) -> True+                (True,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,_) -> True+                (True,_,False) -> True+                _ -> False+    , \x _ _ -> case x of+                False -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                _ -> False+    , \_ y z -> case (y,z) of+                (True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                (True,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,False) -> False+                (_,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,True,True) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                (True,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,False) -> False+                (_,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> True+                (True,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,False) -> False+                (_,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                (True,True,True) -> True+                _ -> False+    , \_ y z -> case (y,z) of+                (True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,True,False) -> True+                (True,True,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                (True,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,True,False) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,False,False) -> False+                (False,_,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                (True,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,True) -> False+                (_,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> True+                (True,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,True) -> False+                (_,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,_) -> True+                (_,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,_) -> True+                (_,True,False) -> True+                _ -> False+    , \_ y _ -> case y of+                False -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,_) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,False,False) -> False+                (True,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,_) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (False,_,_) -> True+                (_,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (_,False,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (False,False) -> False+                (True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> False+                (True,True,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (True,True,_) -> True+                _ -> False+    , \_ y z -> case (y,z) of+                (False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,True) -> True+                (True,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,False,False) -> False+                (False,True,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (True,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (True,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (False,True,_) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (False,True,_) -> False+                (_,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (False,True,_) -> False+                (_,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (False,True,_) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,True) -> True+                (_,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,False,False) -> False+                (True,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,True) -> True+                (_,False,True) -> True+                _ -> False+    , \_ _ z -> case z of+                False -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,True) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (True,False,True) -> False+                (_,True,False) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (False,False) -> False+                (True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (False,_,_) -> True+                (_,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (_,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (False,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (False,True,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (_,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (False,True,True) -> False+                (True,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,True) -> True+                (False,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (False,True,True) -> False+                (True,_,False) -> False+                _ -> True+    , \_ y z -> case (y,z) of+                (False,False) -> False+                (True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (False,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> True+                (False,True,False) -> True+                (True,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (False,True,True) -> False+                (True,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (False,False,_) -> True+                (_,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (False,True,True) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (_,False,_) -> True+                (False,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (False,True,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (_,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (False,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (False,_,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (True,False,_) -> False+                (True,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (True,False,_) -> False+                (True,_,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (True,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (False,_,_) -> True+                (_,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (True,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \_ y z -> case (y,z) of+                (False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (False,_,_) -> True+                (_,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (True,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (True,_,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (True,True,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (True,True,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (True,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (True,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (False,_,_) -> False+                (_,False,False) -> False+                _ -> True+    , \_ y z -> case (y,z) of+                (False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (True,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (False,_,_) -> False+                (_,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (True,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (True,False,_) -> True+                (True,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (True,False,_) -> True+                (True,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (False,_,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (False,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (_,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (False,True,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (_,False,_) -> False+                (False,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (False,True,True) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (False,False,_) -> False+                (_,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,False) -> True+                (False,True,True) -> True+                (True,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (False,True,False) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (False,True,True) -> True+                _ -> False+    , \_ y z -> case (y,z) of+                (False,False) -> True+                (True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (False,True,True) -> True+                (True,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,True) -> False+                (False,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,False) -> True+                (False,True,True) -> True+                (True,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (_,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (False,True,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (False,True,False) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (False,_,_) -> False+                (_,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (True,False,True) -> True+                _ -> False+    , \x _ z -> case (x,z) of+                (False,False) -> True+                (True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (True,False,True) -> True+                (_,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,True) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \_ _ z -> case z of+                False -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,True) -> False+                (_,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,False,False) -> True+                (True,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,True) -> False+                (_,True,True) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (False,True,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (False,True,_) -> True+                (_,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (False,True,_) -> True+                (_,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (False,True,_) -> True+                (True,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (True,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (True,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,False,False) -> True+                (False,True,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,False,True) -> False+                (True,_,True) -> False+                _ -> True+    , \_ y z -> case (y,z) of+                (False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (True,True,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (True,True,False) -> True+                _ -> False+    , \x y _ -> case (x,y) of+                (False,False) -> True+                (True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,_) -> False+                (_,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,False,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,_) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,False,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,False,False) -> True+                (True,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,_) -> False+                (True,False,True) -> False+                _ -> True+    , \_ y _ -> case y of+                False -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,_) -> False+                (_,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,_) -> False+                (_,True,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,True) -> True+                (_,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,True) -> True+                (True,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                (True,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,True) -> True+                (_,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                (True,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,False,False) -> True+                (False,_,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (_,True,False) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                (True,_,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,True,False) -> False+                (True,True,_) -> False+                _ -> True+    , \_ y z -> case (y,z) of+                (True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,False) -> True+                (True,True,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,False) -> True+                (_,True,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                (True,False,_) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,False) -> True+                (_,False,True) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                (True,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (_,True,True) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (False,_,False) -> True+                (_,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                (True,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,False,_) -> True+                (_,_,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                (True,False,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,False) -> True+                (_,False,_) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                (True,True,False) -> False+                _ -> True+    , \_ y z -> case (y,z) of+                (True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,True,True) -> False+                _ -> True+    , \x _ _ -> case x of+                False -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,_) -> False+                (True,_,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,False,_) -> False+                (True,_,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,_,False) -> False+                (True,True,_) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,False,False) -> False+                (True,True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,False,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (False,_,_) -> True+                (_,False,False) -> True+                _ -> False+    , \x y z -> case (x,y,z) of+                (True,False,True) -> False+                (True,True,False) -> False+                _ -> True+    , \x _ z -> case (x,z) of+                (True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,False,True) -> False+                _ -> True+    , \x y _ -> case (x,y) of+                (True,True) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,True,False) -> False+                _ -> True+    , \x y z -> case (x,y,z) of+                (True,True,True) -> False+                _ -> True+    , \_ _ _ -> True+    ]+  ]
+ bench/tiers-txt/default-Bool-Bool-Bool.txt view
@@ -0,0 +1,57 @@+map length (tiers :: [[ Bool->Bool->Bool ]])  =  [16]++length (list :: [ Bool->Bool->Bool ])  =  Infinity++allUnique (list :: [ Bool->Bool->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Bool->Bool ])  =  0 % 1++tiers :: [Bool->Bool->Bool]  =+  [ [ \_ _ -> False+    , \x y -> case (x,y) of+              (True,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,False) -> True+              _ -> False+    , \x _ -> case x of+              False -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,True) -> True+              _ -> False+    , \_ y -> case y of+              False -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,False) -> False+              (True,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,False) -> True+              (True,True) -> True+              _ -> False+    , \_ y -> case y of+              False -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,True) -> False+              _ -> True+    , \x _ -> case x of+              False -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,True) -> False+              _ -> True+    , \_ _ -> True+    ]+  ]
+ bench/tiers-txt/default-Bool-Bool.txt view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Bool->Bool ]])  =  [4]++length (list :: [ Bool->Bool ])  =  4++allUnique (list :: [ Bool->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Bool ])  =  0 % 1++tiers :: [Bool->Bool]  =+  [ [ \_ -> False+    , \x -> case x of+            False -> False+            True -> True+    , \x -> case x of+            False -> True+            True -> False+    , \_ -> True+    ]+  ]
+ bench/tiers-txt/default-Bool-Int-Bool.txt view
@@ -0,0 +1,709 @@+map length (tiers :: [[ Bool->Int->Bool ]])  =  [4,8,12,24,36,56,...]++length (list :: [ Bool->Int->Bool ])  =  Infinity++allUnique (list :: [ Bool->Int->Bool ])  =  True++ratioRepetitions (list :: [ Bool->Int->Bool ])  =  0 % 1++tiers :: [Bool->Int->Bool]  =+  [ [ \_ _ -> False+    , \x _ -> case x of+              False -> False+              _ -> True+    , \x _ -> case x of+              False -> True+              _ -> False+    , \_ _ -> True+    ]+  , [ \x y -> case (x,y) of+              (True,0) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (True,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> True+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> False+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,1) -> False+              _ -> True+    , \_ y -> case y of+              0 -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (False,_) -> True+              _ -> False+    , \_ y -> case y of+              0 -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,_) -> True+              (_,0) -> True+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,_) -> False+              (_,0) -> False+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,1) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (True,0) -> True+              (True,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> False+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> True+              (_,1) -> True+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> True+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> False+              (_,1) -> False+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> False+              (True,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,_) -> False+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,_) -> True+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,0) -> True+              (False,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (_,1) -> True+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (_,1) -> False+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> False+              (False,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (False,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> True+              (_,1) -> True+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,_) -> True+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (_,1) -> False+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (False,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,_) -> False+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,-1) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (True,0) -> True+              (True,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> True+              (_,1) -> True+              (_,-1) -> True+              (_,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> False+              (_,1) -> False+              (_,-1) -> False+              (_,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> False+              (True,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (True,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (False,_) -> False+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,_) -> False+              (_,1) -> True+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (False,_) -> True+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,_) -> True+              (_,1) -> False+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (True,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,-1) -> False+              _ -> True+    , \_ y -> case y of+              1 -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (False,1) -> True+              (_,1) -> False+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (False,1) -> False+              (_,1) -> True+              (False,_) -> True+              _ -> False+    , \_ y -> case y of+              1 -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (_,1) -> True+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,0) -> True+              (False,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> False+              (True,_) -> True+              (_,1) -> True+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (_,1) -> False+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> True+              (True,_) -> False+              (_,1) -> False+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,0) -> False+              (False,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (False,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> False+              (True,_) -> True+              (_,1) -> True+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,_) -> True+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> False+              (_,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> True+              (True,_) -> False+              (_,1) -> False+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (False,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,_) -> False+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> True+              (_,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,2) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (True,0) -> True+              (True,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,1) -> True+              (True,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,-2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> True+              (_,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> False+              (_,0) -> True+              (_,1) -> True+              (_,-1) -> True+              (_,2) -> True+              (_,-2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> False+              (_,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,_) -> True+              (_,0) -> False+              (_,1) -> False+              (_,-1) -> False+              (_,2) -> False+              (_,-2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> False+              (True,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,1) -> False+              (True,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,-2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (True,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (False,_) -> False+              (_,1) -> True+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,_) -> False+              (_,1) -> True+              (_,-1) -> True+              (_,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (False,_) -> True+              (_,1) -> False+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,_) -> True+              (_,1) -> False+              (_,-1) -> False+              (_,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (True,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,0) -> True+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,1) -> True+              (True,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> True+              (_,1) -> False+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (_,1) -> True+              (False,_) -> False+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> False+              (_,1) -> True+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (_,1) -> False+              (False,_) -> True+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> False+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,1) -> False+              (True,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> True+              (_,1) -> False+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,1) -> True+              (False,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> True+              (False,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> False+              (_,1) -> True+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> False+              (False,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,1) -> False+              (False,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> True+              (_,0) -> False+              (False,1) -> False+              (True,_) -> True+              (_,1) -> True+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (True,0) -> True+              (False,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> False+              (True,_) -> True+              (_,1) -> True+              (_,-1) -> False+              (_,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (_,0) -> True+              (False,1) -> True+              (True,_) -> False+              (_,1) -> False+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> True+              (True,_) -> False+              (_,1) -> False+              (_,-1) -> True+              (_,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (True,0) -> False+              (False,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (False,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> True+              (False,1) -> False+              (True,_) -> True+              (_,1) -> True+              (_,-1) -> False+              (_,2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,1) -> True+              (False,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,_) -> True+              (_,0) -> True+              (_,1) -> True+              (_,-1) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,-2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (False,0) -> False+              (True,_) -> True+              (_,0) -> True+              (_,1) -> False+              (_,-1) -> False+              (_,2) -> False+              (_,-2) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,0) -> False+              (False,1) -> True+              (True,_) -> False+              (_,1) -> False+              (_,-1) -> True+              (_,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> False+              (False,2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,_) -> False+              (_,0) -> False+              (_,1) -> False+              (_,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,1) -> False+              (False,-1) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,0) -> True+              (True,_) -> False+              (_,0) -> False+              (_,1) -> True+              (_,-1) -> True+              (_,2) -> True+              (_,-2) -> False+              _ -> True+    , \x y -> case (x,y) of+              (False,-2) -> False+              _ -> True+    ]+  , ...+  ]
+ bench/tiers-txt/default-Bool-MBool.txt view
@@ -0,0 +1,33 @@+map length (tiers :: [[ Bool->Maybe Bool ]])  =  [1,4,4]++length (list :: [ Bool->Maybe Bool ])  =  9++allUnique (list :: [ Bool->Maybe Bool ])  =  True++ratioRepetitions (list :: [ Bool->Maybe Bool ])  =  0 % 1++tiers :: [Bool->Maybe Bool]  =+  [ [\_ -> Nothing]+  , [ \x -> case x of+            False -> Nothing+            True -> Just False+    , \x -> case x of+            False -> Nothing+            True -> Just True+    , \x -> case x of+            False -> Just False+            True -> Nothing+    , \x -> case x of+            False -> Just True+            True -> Nothing+    ]+  , [ \_ -> Just False+    , \x -> case x of+            False -> Just False+            True -> Just True+    , \x -> case x of+            False -> Just True+            True -> Just False+    , \_ -> Just True+    ]+  ]
+ bench/tiers-txt/default-Bool-U.txt view
@@ -0,0 +1,10 @@+map length (tiers :: [[ Bool->() ]])  =  [1]++length (list :: [ Bool->() ])  =  1++allUnique (list :: [ Bool->() ])  =  True++ratioRepetitions (list :: [ Bool->() ])  =  0 % 1++tiers :: [Bool->()]  =+  [[\_ -> ()]]
+ bench/tiers-txt/default-Bools-Bools.txt view
@@ -0,0 +1,332 @@+map length (tiers :: [[ [Bool]->[Bool] ]])  =  [1,2,8,26,88,...]++length (list :: [ [Bool]->[Bool] ])  =  Infinity++allUnique (list :: [ [Bool]->[Bool] ])  =  True++ratioRepetitions (list :: [ [Bool]->[Bool] ])  =  0 % 1++tiers :: [[Bool]->[Bool]]  =+  [ [\_ -> []]+  , [ \_ -> [False]+    , \_ -> [True]+    ]+  , [ \x -> case x of+            [] -> [False]+            _ -> []+    , \x -> case x of+            [] -> [True]+            _ -> []+    , \x -> case x of+            [] -> []+            _ -> [False]+    , \x -> case x of+            [] -> []+            _ -> [True]+    , \_ -> [False,False]+    , \_ -> [False,True]+    , \_ -> [True,False]+    , \_ -> [True,True]+    ]+  , [ \x -> case x of+            [] -> [False,False]+            _ -> []+    , \x -> case x of+            [] -> [False,True]+            _ -> []+    , \x -> case x of+            [] -> [True,False]+            _ -> []+    , \x -> case x of+            [] -> [True,True]+            _ -> []+    , \x -> case x of+            [False] -> [False]+            _ -> []+    , \x -> case x of+            [False] -> [True]+            _ -> []+    , \x -> case x of+            [True] -> [False]+            _ -> []+    , \x -> case x of+            [True] -> [True]+            _ -> []+    , \x -> case x of+            [] -> [True]+            _ -> [False]+    , \x -> case x of+            [False] -> []+            _ -> [False]+    , \x -> case x of+            [True] -> []+            _ -> [False]+    , \x -> case x of+            [] -> [False]+            _ -> [True]+    , \x -> case x of+            [False] -> []+            _ -> [True]+    , \x -> case x of+            [True] -> []+            _ -> [True]+    , \x -> case x of+            [] -> []+            _ -> [False,False]+    , \x -> case x of+            [] -> []+            _ -> [False,True]+    , \x -> case x of+            [] -> []+            _ -> [True,False]+    , \x -> case x of+            [] -> []+            _ -> [True,True]+    , \_ -> [False,False,False]+    , \_ -> [False,False,True]+    , \_ -> [False,True,False]+    , \_ -> [False,True,True]+    , \_ -> [True,False,False]+    , \_ -> [True,False,True]+    , \_ -> [True,True,False]+    , \_ -> [True,True,True]+    ]+  , [ \x -> case x of+            [] -> [False,False,False]+            _ -> []+    , \x -> case x of+            [] -> [False,False,True]+            _ -> []+    , \x -> case x of+            [] -> [False,True,False]+            _ -> []+    , \x -> case x of+            [] -> [False,True,True]+            _ -> []+    , \x -> case x of+            [] -> [True,False,False]+            _ -> []+    , \x -> case x of+            [] -> [True,False,True]+            _ -> []+    , \x -> case x of+            [] -> [True,True,False]+            _ -> []+    , \x -> case x of+            [] -> [True,True,True]+            _ -> []+    , \x -> case x of+            [False] -> [False,False]+            _ -> []+    , \x -> case x of+            [False] -> [False,True]+            _ -> []+    , \x -> case x of+            [False] -> [True,False]+            _ -> []+    , \x -> case x of+            [False] -> [True,True]+            _ -> []+    , \x -> case x of+            [True] -> [False,False]+            _ -> []+    , \x -> case x of+            [True] -> [False,True]+            _ -> []+    , \x -> case x of+            [True] -> [True,False]+            _ -> []+    , \x -> case x of+            [True] -> [True,True]+            _ -> []+    , \x -> case x of+            [False,False] -> [False]+            _ -> []+    , \x -> case x of+            [False,False] -> [True]+            _ -> []+    , \x -> case x of+            [False,True] -> [False]+            _ -> []+    , \x -> case x of+            [False,True] -> [True]+            _ -> []+    , \x -> case x of+            [True,False] -> [False]+            _ -> []+    , \x -> case x of+            [True,False] -> [True]+            _ -> []+    , \x -> case x of+            [True,True] -> [False]+            _ -> []+    , \x -> case x of+            [True,True] -> [True]+            _ -> []+    , \x -> case x of+            [] -> [False,False]+            _ -> [False]+    , \x -> case x of+            [] -> [False,True]+            _ -> [False]+    , \x -> case x of+            [] -> [True,False]+            _ -> [False]+    , \x -> case x of+            [] -> [True,True]+            _ -> [False]+    , \x -> case x of+            [False] -> [True]+            _ -> [False]+    , \x -> case x of+            [True] -> [True]+            _ -> [False]+    , \x -> case x of+            [] -> []+            [False] -> []+            _ -> [False]+    , \x -> case x of+            [] -> []+            [True] -> []+            _ -> [False]+    , \x -> case x of+            [False,False] -> []+            _ -> [False]+    , \x -> case x of+            [False,True] -> []+            _ -> [False]+    , \x -> case x of+            [True,False] -> []+            _ -> [False]+    , \x -> case x of+            [True,True] -> []+            _ -> [False]+    , \x -> case x of+            [] -> [False,False]+            _ -> [True]+    , \x -> case x of+            [] -> [False,True]+            _ -> [True]+    , \x -> case x of+            [] -> [True,False]+            _ -> [True]+    , \x -> case x of+            [] -> [True,True]+            _ -> [True]+    , \x -> case x of+            [False] -> [False]+            _ -> [True]+    , \x -> case x of+            [True] -> [False]+            _ -> [True]+    , \x -> case x of+            [] -> []+            [False] -> []+            _ -> [True]+    , \x -> case x of+            [] -> []+            [True] -> []+            _ -> [True]+    , \x -> case x of+            [False,False] -> []+            _ -> [True]+    , \x -> case x of+            [False,True] -> []+            _ -> [True]+    , \x -> case x of+            [True,False] -> []+            _ -> [True]+    , \x -> case x of+            [True,True] -> []+            _ -> [True]+    , \x -> case x of+            [] -> [False]+            _ -> [False,False]+    , \x -> case x of+            [] -> [True]+            _ -> [False,False]+    , \x -> case x of+            [False] -> []+            _ -> [False,False]+    , \x -> case x of+            [True] -> []+            _ -> [False,False]+    , \x -> case x of+            [] -> [False]+            _ -> [False,True]+    , \x -> case x of+            [] -> [True]+            _ -> [False,True]+    , \x -> case x of+            [False] -> []+            _ -> [False,True]+    , \x -> case x of+            [True] -> []+            _ -> [False,True]+    , \x -> case x of+            [] -> [False]+            _ -> [True,False]+    , \x -> case x of+            [] -> [True]+            _ -> [True,False]+    , \x -> case x of+            [False] -> []+            _ -> [True,False]+    , \x -> case x of+            [True] -> []+            _ -> [True,False]+    , \x -> case x of+            [] -> [False]+            _ -> [True,True]+    , \x -> case x of+            [] -> [True]+            _ -> [True,True]+    , \x -> case x of+            [False] -> []+            _ -> [True,True]+    , \x -> case x of+            [True] -> []+            _ -> [True,True]+    , \x -> case x of+            [] -> []+            _ -> [False,False,False]+    , \x -> case x of+            [] -> []+            _ -> [False,False,True]+    , \x -> case x of+            [] -> []+            _ -> [False,True,False]+    , \x -> case x of+            [] -> []+            _ -> [False,True,True]+    , \x -> case x of+            [] -> []+            _ -> [True,False,False]+    , \x -> case x of+            [] -> []+            _ -> [True,False,True]+    , \x -> case x of+            [] -> []+            _ -> [True,True,False]+    , \x -> case x of+            [] -> []+            _ -> [True,True,True]+    , \_ -> [False,False,False,False]+    , \_ -> [False,False,False,True]+    , \_ -> [False,False,True,False]+    , \_ -> [False,False,True,True]+    , \_ -> [False,True,False,False]+    , \_ -> [False,True,False,True]+    , \_ -> [False,True,True,False]+    , \_ -> [False,True,True,True]+    , \_ -> [True,False,False,False]+    , \_ -> [True,False,False,True]+    , \_ -> [True,False,True,False]+    , \_ -> [True,False,True,True]+    , \_ -> [True,True,False,False]+    , \_ -> [True,True,False,True]+    , \_ -> [True,True,True,False]+    , \_ -> [True,True,True,True]+    ]+  , ...+  ]
+ bench/tiers-txt/default-Int-Bool-Bool.txt view
@@ -0,0 +1,1137 @@+map length (tiers :: [[ Int->Bool->Bool ]])  =  [4,12,12,48,48,84,...]++length (list :: [ Int->Bool->Bool ])  =  Infinity++allUnique (list :: [ Int->Bool->Bool ])  =  True++ratioRepetitions (list :: [ Int->Bool->Bool ])  =  0 % 1++tiers :: [Int->Bool->Bool]  =+  [ [ \_ _ -> False+    , \_ y -> case y of+              False -> False+              _ -> True+    , \_ y -> case y of+              False -> True+              _ -> False+    , \_ _ -> True+    ]+  , [ \x y -> case (x,y) of+              (0,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              _ -> False+    , \x _ -> case x of+              0 -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> True+              _ -> False+    , \x _ -> case x of+              0 -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,False) -> True+              _ -> False+    , \x _ -> case x of+              1 -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> False+              (0,_) -> True+              (1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,True) -> True+              (1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,True) -> False+              (1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> True+              (0,_) -> False+              (1,_) -> True+              _ -> False+    , \x _ -> case x of+              1 -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,True) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (0,True) -> True+              (1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,True) -> True+              (1,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,True) -> True+              (1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (1,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> True+              _ -> False+    , \x _ -> case x of+              0 -> True+              1 -> True+              _ -> False+    , \x y -> case (x,y) of+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (-1,False) -> True+              _ -> False+    , \x _ -> case x of+              -1 -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> False+              (1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> True+              (1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,_) -> True+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> True+              (1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,_) -> True+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,_) -> True+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (_,False) -> False+              (0,_) -> True+              (1,_) -> True+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> False+              (1,_) -> True+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,True) -> True+              (1,_) -> False+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,_) -> False+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,_) -> False+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> False+              (1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,_) -> False+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> False+              (1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> True+              (1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,True) -> False+              (1,_) -> True+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> True+              (1,_) -> False+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> True+              (0,_) -> False+              (1,_) -> False+              (-1,_) -> True+              _ -> False+    , \x _ -> case x of+              0 -> False+              1 -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (1,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (1,True) -> False+              _ -> True+    , \x _ -> case x of+              -1 -> False+              _ -> True+    , \x y -> case (x,y) of+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (-1,True) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (0,True) -> True+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,True) -> True+              (-1,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,True) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (-1,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (-1,False) -> True+              _ -> False+    , \x _ -> case x of+              0 -> True+              -1 -> True+              _ -> False+    , \x y -> case (x,y) of+              (2,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (2,False) -> True+              _ -> False+    , \x _ -> case x of+              2 -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> False+              (1,_) -> True+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (_,True) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,False) -> False+              (1,_) -> True+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (_,True) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> False+              (1,_) -> True+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> False+              (1,_) -> True+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> False+              (1,_) -> True+              (_,True) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> False+              (0,_) -> True+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,True) -> True+              (1,False) -> False+              (1,True) -> True+              (-1,False) -> False+              (-1,True) -> True+              (2,False) -> True+              (2,True) -> False+              ...+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,True) -> True+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> True+              (1,_) -> False+              (_,True) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> True+              (1,_) -> False+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> True+              (1,_) -> False+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (_,True) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,False) -> True+              (1,_) -> False+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (_,True) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> True+              (1,_) -> False+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,True) -> False+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,True) -> False+              (1,False) -> True+              (1,True) -> False+              (-1,False) -> True+              (-1,True) -> False+              (2,False) -> False+              (2,True) -> True+              ...+    , \x y -> case (x,y) of+              (_,False) -> True+              (0,_) -> False+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x _ -> case x of+              0 -> False+              -1 -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (-1,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (-1,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (-1,True) -> False+              _ -> True+    , \x _ -> case x of+              2 -> False+              _ -> True+    , \x y -> case (x,y) of+              (2,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (2,True) -> False+              _ -> True+    ]+  , [ \x y -> case (x,y) of+              (0,True) -> True+              (2,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,True) -> True+              (2,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,True) -> True+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (2,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (2,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (2,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (2,False) -> True+              _ -> False+    , \x _ -> case x of+              0 -> True+              2 -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,True) -> True+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,True) -> True+              (-1,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,True) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,False) -> True+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,False) -> True+              (-1,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,False) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,_) -> True+              (-1,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (1,_) -> True+              (-1,False) -> True+              _ -> False+    , \x _ -> case x of+              1 -> True+              -1 -> True+              _ -> False+    , \x y -> case (x,y) of+              (-2,True) -> True+              _ -> False+    , \x y -> case (x,y) of+              (-2,False) -> True+              _ -> False+    , \x _ -> case x of+              -2 -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> False+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,True) -> False+              (1,False) -> False+              (1,True) -> True+              (-1,False) -> False+              (-1,True) -> True+              (2,False) -> True+              (2,True) -> False+              ...+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (_,True) -> True+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,False) -> False+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,True) -> False+              (1,False) -> False+              (1,True) -> True+              (-1,False) -> False+              (-1,True) -> True+              (2,False) -> True+              (2,True) -> False+              ...+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (_,True) -> True+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> False+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,True) -> True+              (1,False) -> False+              (1,True) -> True+              (-1,False) -> False+              (-1,True) -> True+              (2,False) -> True+              (2,True) -> False+              ...+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> False+              (1,_) -> True+              (_,True) -> True+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> False+              (0,_) -> True+              (1,_) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,_) -> False+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,_) -> False+              (-1,_) -> True+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (-1,_) -> True+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,_) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,_) -> True+              (-1,False) -> True+              (-1,_) -> False+              (_,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,True) -> True+              (1,_) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> False+              (0,_) -> True+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> True+              (-2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,True) -> True+              (1,False) -> False+              (1,True) -> True+              (-1,False) -> False+              (-1,True) -> True+              (2,False) -> False+              (2,True) -> True+              ...+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,True) -> True+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> False+              (-2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> False+              (1,False) -> True+              (1,_) -> False+              (_,True) -> False+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,True) -> False+              (1,False) -> True+              (1,True) -> False+              (-1,False) -> True+              (-1,True) -> False+              (2,False) -> False+              (2,True) -> True+              ...+    , \x y -> case (x,y) of+              (0,_) -> False+              (_,False) -> True+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (_,True) -> False+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,True) -> True+              (1,False) -> True+              (1,True) -> False+              (-1,False) -> True+              (-1,True) -> False+              (2,False) -> False+              (2,True) -> True+              ...+    , \x y -> case (x,y) of+              (0,False) -> False+              (0,_) -> True+              (_,False) -> True+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,_) -> True+              (1,False) -> True+              (1,_) -> False+              (_,True) -> False+              (-1,_) -> True+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,True) -> True+              (1,False) -> True+              (1,True) -> False+              (-1,False) -> True+              (-1,True) -> False+              (2,False) -> False+              (2,True) -> True+              ...+    , \x y -> case (x,y) of+              (0,_) -> True+              (_,False) -> True+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,True) -> False+              (1,_) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,_) -> False+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,_) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (-1,_) -> False+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,False) -> False+              (1,_) -> True+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,_) -> True+              (-1,_) -> False+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (1,_) -> True+              (-1,False) -> False+              (-1,_) -> True+              (_,False) -> True+              _ -> False+    , \x y -> case (x,y) of+              (_,False) -> True+              (0,_) -> False+              (1,_) -> True+              (-1,_) -> True+              _ -> False+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,_) -> False+              (_,True) -> False+              (1,_) -> True+              (-1,_) -> True+              (2,_) -> True+              (-2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> True+              (0,True) -> False+              (1,False) -> True+              (1,True) -> False+              (-1,False) -> True+              (-1,True) -> False+              (2,False) -> True+              (2,True) -> False+              ...+    , \x y -> case (x,y) of+              (_,False) -> True+              (0,_) -> False+              (1,_) -> False+              (-1,_) -> False+              (2,_) -> False+              (-2,_) -> True+              _ -> False+    , \x _ -> case x of+              0 -> False+              2 -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (2,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,_) -> False+              (2,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (2,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,False) -> False+              (2,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (2,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (2,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (0,True) -> False+              (2,True) -> False+              _ -> True+    , \x _ -> case x of+              1 -> False+              -1 -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,_) -> False+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,_) -> False+              (-1,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,False) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,False) -> False+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,False) -> False+              (-1,True) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,True) -> False+              (-1,_) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,True) -> False+              (-1,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (1,True) -> False+              (-1,True) -> False+              _ -> True+    , \x _ -> case x of+              -2 -> False+              _ -> True+    , \x y -> case (x,y) of+              (-2,False) -> False+              _ -> True+    , \x y -> case (x,y) of+              (-2,True) -> False+              _ -> True+    ]+  , ...+  ]
+ bench/tiers-txt/default-Int-Int-Int-Int.txt view
@@ -0,0 +1,116 @@+map length (tiers :: [[ Int->Int->Int->Int ]])  =  [1,1,7,25,...]++length (list :: [ Int->Int->Int->Int ])  =  Infinity++allUnique (list :: [ Int->Int->Int->Int ])  =  True++ratioRepetitions (list :: [ Int->Int->Int->Int ])  =  0 % 1++tiers :: [Int->Int->Int->Int]  =+  [ [\_ _ _ -> 0]+  , [\_ _ _ -> 1]+  , [ \x _ _ -> case x of+                0 -> 1+                _ -> 0+    , \x _ _ -> case x of+                0 -> 0+                _ -> 1+    , \_ y _ -> case y of+                0 -> 1+                _ -> 0+    , \_ y _ -> case y of+                0 -> 0+                _ -> 1+    , \_ _ z -> case z of+                0 -> 1+                _ -> 0+    , \_ _ z -> case z of+                0 -> 0+                _ -> 1+    , \_ _ _ -> -1+    ]+  , [ \x y _ -> case (x,y) of+                (0,0) -> 1+                _ -> 0+    , \x y _ -> case (x,y) of+                (_,0) -> 0+                (0,_) -> 1+                _ -> 0+    , \x _ z -> case (x,z) of+                (0,0) -> 1+                _ -> 0+    , \x _ z -> case (x,z) of+                (_,0) -> 0+                (0,_) -> 1+                _ -> 0+    , \x _ _ -> case x of+                0 -> -1+                _ -> 0+    , \x _ _ -> case x of+                1 -> 1+                _ -> 0+    , \x _ _ -> case x of+                1 -> 0+                _ -> 1+    , \x y _ -> case (x,y) of+                (0,_) -> 0+                (_,0) -> 1+                _ -> 0+    , \x y _ -> case (x,y) of+                (0,_) -> 0+                (_,0) -> 0+                _ -> 1+    , \x _ z -> case (x,z) of+                (0,_) -> 0+                (_,0) -> 1+                _ -> 0+    , \x _ z -> case (x,z) of+                (0,_) -> 0+                (_,0) -> 0+                _ -> 1+    , \x _ _ -> case x of+                0 -> 0+                _ -> -1+    , \_ y z -> case (y,z) of+                (0,0) -> 1+                _ -> 0+    , \_ y z -> case (y,z) of+                (_,0) -> 0+                (0,_) -> 1+                _ -> 0+    , \_ y _ -> case y of+                0 -> -1+                _ -> 0+    , \_ y _ -> case y of+                1 -> 1+                _ -> 0+    , \_ y _ -> case y of+                1 -> 0+                _ -> 1+    , \_ y z -> case (y,z) of+                (0,_) -> 0+                (_,0) -> 1+                _ -> 0+    , \_ y z -> case (y,z) of+                (0,_) -> 0+                (_,0) -> 0+                _ -> 1+    , \_ y _ -> case y of+                0 -> 0+                _ -> -1+    , \_ _ z -> case z of+                0 -> -1+                _ -> 0+    , \_ _ z -> case z of+                1 -> 1+                _ -> 0+    , \_ _ z -> case z of+                1 -> 0+                _ -> 1+    , \_ _ z -> case z of+                0 -> 0+                _ -> -1+    , \_ _ _ -> 2+    ]+  , ...+  ]
+ bench/tiers-txt/default-Int-Int-Int.txt view
@@ -0,0 +1,528 @@+map length (tiers :: [[ Int->Int->Int ]])  =  [1,1,5,13,35,81,...]++length (list :: [ Int->Int->Int ])  =  Infinity++allUnique (list :: [ Int->Int->Int ])  =  True++ratioRepetitions (list :: [ Int->Int->Int ])  =  0 % 1++tiers :: [Int->Int->Int]  =+  [ [\_ _ -> 0]+  , [\_ _ -> 1]+  , [ \x _ -> case x of+              0 -> 1+              _ -> 0+    , \x _ -> case x of+              0 -> 0+              _ -> 1+    , \_ y -> case y of+              0 -> 1+              _ -> 0+    , \_ y -> case y of+              0 -> 0+              _ -> 1+    , \_ _ -> -1+    ]+  , [ \x y -> case (x,y) of+              (0,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,_) -> 1+              _ -> 0+    , \x _ -> case x of+              0 -> -1+              _ -> 0+    , \x _ -> case x of+              1 -> 1+              _ -> 0+    , \x _ -> case x of+              1 -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              _ -> 1+    , \x _ -> case x of+              0 -> 0+              _ -> -1+    , \_ y -> case y of+              0 -> -1+              _ -> 0+    , \_ y -> case y of+              1 -> 1+              _ -> 0+    , \_ y -> case y of+              1 -> 0+              _ -> 1+    , \_ y -> case y of+              0 -> 0+              _ -> -1+    , \_ _ -> 2+    ]+  , [ \x y -> case (x,y) of+              (0,0) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 0+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,_) -> -1+              _ -> 0+    , \x _ -> case x of+              0 -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (1,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 1+              _ -> 0+    , \x _ -> case x of+              1 -> -1+              _ -> 0+    , \x _ -> case x of+              -1 -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 1+              (0,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              _ -> 1+    , \x _ -> case x of+              0 -> -1+              _ -> 1+    , \x _ -> case x of+              0 -> 0+              1 -> 0+              _ -> 1+    , \x _ -> case x of+              -1 -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 0+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (_,0) -> 0+              (1,_) -> 0+              _ -> 1+    , \x _ -> case x of+              0 -> 1+              _ -> -1+    , \x _ -> case x of+              1 -> 0+              _ -> -1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              _ -> -1+    , \x _ -> case x of+              0 -> 0+              _ -> 2+    , \_ y -> case y of+              0 -> 2+              _ -> 0+    , \_ y -> case y of+              1 -> -1+              _ -> 0+    , \_ y -> case y of+              -1 -> 1+              _ -> 0+    , \_ y -> case y of+              0 -> -1+              _ -> 1+    , \_ y -> case y of+              0 -> 0+              1 -> 0+              _ -> 1+    , \_ y -> case y of+              -1 -> 0+              _ -> 1+    , \_ y -> case y of+              0 -> 1+              _ -> -1+    , \_ y -> case y of+              1 -> 0+              _ -> -1+    , \_ y -> case y of+              0 -> 0+              _ -> 2+    , \_ _ -> -2+    ]+  , [ \x y -> case (x,y) of+              (0,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,1) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,-1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> -1+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (_,1) -> 0+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,1) -> 1+              (1,_) -> 0+              (_,0) -> 0+              (_,-1) -> 0+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> -1+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 0+              (0,_) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,_) -> 2+              _ -> 0+    , \x _ -> case x of+              0 -> -2+              _ -> 0+    , \x y -> case (x,y) of+              (1,0) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (1,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (1,0) -> 1+              (_,1) -> 0+              (-1,_) -> 0+              (_,0) -> 0+              (1,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> -1+              _ -> 0+    , \x _ -> case x of+              1 -> 2+              _ -> 0+    , \x _ -> case x of+              0 -> 1+              1 -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (-1,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 0+              (-1,_) -> 1+              _ -> 0+    , \x _ -> case x of+              -1 -> -1+              _ -> 0+    , \x _ -> case x of+              2 -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> -1+              (0,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (_,1) -> 1+              (1,_) -> 1+              (_,0) -> 1+              (0,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> -1+              _ -> 1+    , \x _ -> case x of+              0 -> 2+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 1+              (1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (1,0) -> 0+              _ -> 1+    , \x _ -> case x of+              1 -> -1+              _ -> 1+    , \x _ -> case x of+              0 -> 0+              -1 -> 0+              _ -> 1+    , \x _ -> case x of+              2 -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 1+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> -1+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 1+              (1,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (1,_) -> 0+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,1) -> 0+              (1,0) -> 1+              (0,-1) -> 0+              (1,1) -> 0+              (-1,0) -> 0+              (0,2) -> 0+              (1,-1) -> 0+              ...+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 0+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> -1+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 1+              (_,1) -> 1+              (1,_) -> 1+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (_,0) -> 0+              (-1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 0+              _ -> -1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 1+              _ -> -1+    , \x _ -> case x of+              1 -> 1+              _ -> -1+    , \x _ -> case x of+              0 -> 0+              1 -> 0+              _ -> -1+    , \x _ -> case x of+              -1 -> 0+              _ -> -1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> -1+              (0,_) -> 0+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,1) -> 1+              (0,_) -> 0+              (_,-1) -> 0+              (1,_) -> 0+              (_,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 1+              (_,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (_,1) -> 0+              (1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 0+              _ -> -1+    , \x y -> case (x,y) of+              (_,0) -> 0+              (1,_) -> 0+              _ -> -1+    , \x _ -> case x of+              0 -> 1+              _ -> 2+    , \x _ -> case x of+              1 -> 0+              _ -> 2+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> -1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 0+              (_,-1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> -1+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,-1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 1+              _ -> -1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,1) -> 0+              _ -> -1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              _ -> 2+    , \x _ -> case x of+              0 -> 0+              _ -> -2+    , \_ y -> case y of+              0 -> -2+              _ -> 0+    , \_ y -> case y of+              1 -> 2+              _ -> 0+    , \_ y -> case y of+              0 -> 1+              1 -> 1+              _ -> 0+    , \_ y -> case y of+              -1 -> -1+              _ -> 0+    , \_ y -> case y of+              2 -> 1+              _ -> 0+    , \_ y -> case y of+              0 -> 2+              _ -> 1+    , \_ y -> case y of+              1 -> -1+              _ -> 1+    , \_ y -> case y of+              0 -> 0+              -1 -> 0+              _ -> 1+    , \_ y -> case y of+              2 -> 0+              _ -> 1+    , \_ y -> case y of+              1 -> 1+              _ -> -1+    , \_ y -> case y of+              0 -> 0+              1 -> 0+              _ -> -1+    , \_ y -> case y of+              -1 -> 0+              _ -> -1+    , \_ y -> case y of+              0 -> 1+              _ -> 2+    , \_ y -> case y of+              1 -> 0+              _ -> 2+    , \_ y -> case y of+              0 -> 0+              _ -> -2+    , \_ _ -> 3+    ]+  , ...+  ]
+ bench/tiers-txt/default-Int-Int.txt view
@@ -0,0 +1,670 @@+map length (tiers :: [[ Int->Int ]])  =  [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Int->Int ])  =  Infinity++allUnique (list :: [ Int->Int ])  =  True++ratioRepetitions (list :: [ Int->Int ])  =  0 % 1++tiers :: [Int->Int]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [ \x -> case x of+            0 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 0+            _ -> 1+    , \_ -> -1+    ]+  , [ \x -> case x of+            0 -> -1+            _ -> 0+    , \x -> case x of+            1 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 0+            _ -> -1+    , \_ -> 2+    ]+  , [ \x -> case x of+            0 -> 2+            _ -> 0+    , \x -> case x of+            1 -> -1+            _ -> 0+    , \x -> case x of+            -1 -> 1+            _ -> 0+    , \x -> case x of+            0 -> -1+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 1+    , \x -> case x of+            -1 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 1+            _ -> -1+    , \x -> case x of+            1 -> 0+            _ -> -1+    , \x -> case x of+            0 -> 0+            _ -> 2+    , \_ -> -2+    ]+  , [ \x -> case x of+            0 -> -2+            _ -> 0+    , \x -> case x of+            1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> 1+            _ -> 0+    , \x -> case x of+            -1 -> -1+            _ -> 0+    , \x -> case x of+            2 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 2+            _ -> 1+    , \x -> case x of+            1 -> -1+            _ -> 1+    , \x -> case x of+            0 -> 0+            -1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> -1+    , \x -> case x of+            -1 -> 0+            _ -> -1+    , \x -> case x of+            0 -> 1+            _ -> 2+    , \x -> case x of+            1 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 0+            _ -> -2+    , \_ -> 3+    ]+  , [ \x -> case x of+            0 -> 3+            _ -> 0+    , \x -> case x of+            1 -> -2+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> -1+            _ -> 0+    , \x -> case x of+            0 -> -1+            1 -> 1+            _ -> 0+    , \x -> case x of+            -1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 1+            -1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> -1+            _ -> 0+    , \x -> case x of+            -2 -> 1+            _ -> 0+    , \x -> case x of+            0 -> -2+            _ -> 1+    , \x -> case x of+            1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> -1+            _ -> 1+    , \x -> case x of+            0 -> -1+            1 -> 0+            _ -> 1+    , \x -> case x of+            -1 -> -1+            _ -> 1+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            -1 -> 0+            _ -> 1+    , \x -> case x of+            -2 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 2+            _ -> -1+    , \x -> case x of+            0 -> 0+            1 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 1+            1 -> 0+            _ -> -1+    , \x -> case x of+            -1 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 0+            -1 -> 0+            _ -> -1+    , \x -> case x of+            2 -> 0+            _ -> -1+    , \x -> case x of+            0 -> -1+            _ -> 2+    , \x -> case x of+            1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 2+    , \x -> case x of+            -1 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 1+            _ -> -2+    , \x -> case x of+            1 -> 0+            _ -> -2+    , \x -> case x of+            0 -> 0+            _ -> 3+    , \_ -> -3+    ]+  , [ \x -> case x of+            0 -> -3+            _ -> 0+    , \x -> case x of+            1 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> -1+            1 -> -1+            _ -> 0+    , \x -> case x of+            0 -> 2+            1 -> 1+            _ -> 0+    , \x -> case x of+            -1 -> -2+            _ -> 0+    , \x -> case x of+            0 -> 1+            -1 -> -1+            _ -> 0+    , \x -> case x of+            0 -> -1+            -1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 1+            2 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            -1 -> 1+            _ -> 0+    , \x -> case x of+            -2 -> -1+            _ -> 0+    , \x -> case x of+            3 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 3+            _ -> 1+    , \x -> case x of+            1 -> -2+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 2+            1 -> 0+            _ -> 1+    , \x -> case x of+            -1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            -1 -> -1+            _ -> 1+    , \x -> case x of+            0 -> -1+            -1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> -1+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 0+            -1 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 0+            -2 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            3 -> 0+            _ -> 1+    , \x -> case x of+            0 -> -2+            _ -> -1+    , \x -> case x of+            1 -> 2+            _ -> -1+    , \x -> case x of+            0 -> 1+            1 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 0+            -1 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 1+            -1 -> 0+            _ -> -1+    , \x -> case x of+            2 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> -1+    , \x -> case x of+            1 -> 0+            -1 -> 0+            _ -> -1+    , \x -> case x of+            -2 -> 0+            _ -> -1+    , \x -> case x of+            1 -> -1+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 1+            1 -> 0+            _ -> 2+    , \x -> case x of+            -1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            -1 -> 0+            _ -> 2+    , \x -> case x of+            2 -> 0+            _ -> 2+    , \x -> case x of+            0 -> -1+            _ -> -2+    , \x -> case x of+            1 -> 1+            _ -> -2+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> -2+    , \x -> case x of+            -1 -> 0+            _ -> -2+    , \x -> case x of+            0 -> 1+            _ -> 3+    , \x -> case x of+            1 -> 0+            _ -> 3+    , \x -> case x of+            0 -> 0+            _ -> -3+    , \_ -> 4+    ]+  , [ \x -> case x of+            0 -> 4+            _ -> 0+    , \x -> case x of+            1 -> -3+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> -2+            _ -> 0+    , \x -> case x of+            0 -> -1+            1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 2+            1 -> -1+            _ -> 0+    , \x -> case x of+            0 -> -2+            1 -> 1+            _ -> 0+    , \x -> case x of+            -1 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 1+            -1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> -1+            -1 -> -1+            _ -> 0+    , \x -> case x of+            0 -> 2+            -1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> -2+            _ -> 0+    , \x -> case x of+            0 -> 1+            2 -> -1+            _ -> 0+    , \x -> case x of+            0 -> -1+            2 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            -1 -> -1+            _ -> 0+    , \x -> case x of+            1 -> -1+            -1 -> 1+            _ -> 0+    , \x -> case x of+            -2 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 1+            -2 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            2 -> 1+            _ -> 0+    , \x -> case x of+            3 -> -1+            _ -> 0+    , \x -> case x of+            -3 -> 1+            _ -> 0+    , \x -> case x of+            0 -> -3+            _ -> 1+    , \x -> case x of+            1 -> 3+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> -2+            _ -> 1+    , \x -> case x of+            0 -> -1+            1 -> -1+            _ -> 1+    , \x -> case x of+            0 -> -2+            1 -> 0+            _ -> 1+    , \x -> case x of+            -1 -> -2+            _ -> 1+    , \x -> case x of+            0 -> 0+            -1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 2+            -1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            2 -> -1+            _ -> 1+    , \x -> case x of+            0 -> -1+            2 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            -1 -> -1+            _ -> 1+    , \x -> case x of+            1 -> -1+            -1 -> 0+            _ -> 1+    , \x -> case x of+            -2 -> -1+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 0+            3 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            -2 -> 0+            _ -> 1+    , \x -> case x of+            -1 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            -3 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 3+            _ -> -1+    , \x -> case x of+            1 -> -2+            _ -> -1+    , \x -> case x of+            0 -> 0+            1 -> 2+            _ -> -1+    , \x -> case x of+            0 -> 2+            1 -> 0+            _ -> -1+    , \x -> case x of+            -1 -> 2+            _ -> -1+    , \x -> case x of+            0 -> 1+            -1 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 0+            2 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 1+            2 -> 0+            _ -> -1+    , \x -> case x of+            1 -> 0+            -1 -> 1+            _ -> -1+    , \x -> case x of+            1 -> 1+            -1 -> 0+            _ -> -1+    , \x -> case x of+            -2 -> 1+            _ -> -1+    , \x -> case x of+            0 -> 0+            1 -> 0+            -1 -> 0+            _ -> -1+    , \x -> case x of+            0 -> 0+            -2 -> 0+            _ -> -1+    , \x -> case x of+            1 -> 0+            2 -> 0+            _ -> -1+    , \x -> case x of+            3 -> 0+            _ -> -1+    , \x -> case x of+            0 -> -2+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> -1+            _ -> 2+    , \x -> case x of+            0 -> 1+            1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> -1+            1 -> 0+            _ -> 2+    , \x -> case x of+            -1 -> -1+            _ -> 2+    , \x -> case x of+            0 -> 0+            -1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 1+            -1 -> 0+            _ -> 2+    , \x -> case x of+            2 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> 2+    , \x -> case x of+            1 -> 0+            -1 -> 0+            _ -> 2+    , \x -> case x of+            -2 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 2+            _ -> -2+    , \x -> case x of+            1 -> -1+            _ -> -2+    , \x -> case x of+            0 -> 0+            1 -> 1+            _ -> -2+    , \x -> case x of+            0 -> 1+            1 -> 0+            _ -> -2+    , \x -> case x of+            -1 -> 1+            _ -> -2+    , \x -> case x of+            0 -> 0+            -1 -> 0+            _ -> -2+    , \x -> case x of+            2 -> 0+            _ -> -2+    , \x -> case x of+            0 -> -1+            _ -> 3+    , \x -> case x of+            1 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 3+    , \x -> case x of+            -1 -> 0+            _ -> 3+    , \x -> case x of+            0 -> 1+            _ -> -3+    , \x -> case x of+            1 -> 0+            _ -> -3+    , \x -> case x of+            0 -> 0+            _ -> 4+    , \_ -> -4+    ]+  , ...+  ]
+ bench/tiers-txt/default-Ints-Ints.txt view
@@ -0,0 +1,317 @@+map length (tiers :: [[ [Int]->[Int] ]])  =  [1,1,4,10,29,75,...]++length (list :: [ [Int]->[Int] ])  =  Infinity++allUnique (list :: [ [Int]->[Int] ])  =  True++ratioRepetitions (list :: [ [Int]->[Int] ])  =  0 % 1++tiers :: [[Int]->[Int]]  =+  [ [\_ -> []]+  , [\_ -> [0]]+  , [ \x -> case x of+            [] -> [0]+            _ -> []+    , \x -> case x of+            [] -> []+            _ -> [0]+    , \_ -> [0,0]+    , \_ -> [1]+    ]+  , [ \x -> case x of+            [] -> [0,0]+            _ -> []+    , \x -> case x of+            [] -> [1]+            _ -> []+    , \x -> case x of+            [0] -> [0]+            _ -> []+    , \x -> case x of+            [0] -> []+            _ -> [0]+    , \x -> case x of+            [] -> []+            _ -> [0,0]+    , \x -> case x of+            [] -> []+            _ -> [1]+    , \_ -> [0,0,0]+    , \_ -> [0,1]+    , \_ -> [1,0]+    , \_ -> [-1]+    ]+  , [ \x -> case x of+            [] -> [0,0,0]+            _ -> []+    , \x -> case x of+            [] -> [0,1]+            _ -> []+    , \x -> case x of+            [] -> [1,0]+            _ -> []+    , \x -> case x of+            [] -> [-1]+            _ -> []+    , \x -> case x of+            [0] -> [0,0]+            _ -> []+    , \x -> case x of+            [0] -> [1]+            _ -> []+    , \x -> case x of+            [0,0] -> [0]+            _ -> []+    , \x -> case x of+            [1] -> [0]+            _ -> []+    , \x -> case x of+            [] -> [0,0]+            _ -> [0]+    , \x -> case x of+            [] -> [1]+            _ -> [0]+    , \x -> case x of+            [] -> []+            [0] -> []+            _ -> [0]+    , \x -> case x of+            [0,0] -> []+            _ -> [0]+    , \x -> case x of+            [1] -> []+            _ -> [0]+    , \x -> case x of+            [] -> [0]+            _ -> [0,0]+    , \x -> case x of+            [0] -> []+            _ -> [0,0]+    , \x -> case x of+            [] -> [0]+            _ -> [1]+    , \x -> case x of+            [0] -> []+            _ -> [1]+    , \x -> case x of+            [] -> []+            _ -> [0,0,0]+    , \x -> case x of+            [] -> []+            _ -> [0,1]+    , \x -> case x of+            [] -> []+            _ -> [1,0]+    , \x -> case x of+            [] -> []+            _ -> [-1]+    , \_ -> [0,0,0,0]+    , \_ -> [0,0,1]+    , \_ -> [0,1,0]+    , \_ -> [0,-1]+    , \_ -> [1,0,0]+    , \_ -> [1,1]+    , \_ -> [-1,0]+    , \_ -> [2]+    ]+  , [ \x -> case x of+            [] -> [0,0,0,0]+            _ -> []+    , \x -> case x of+            [] -> [0,0,1]+            _ -> []+    , \x -> case x of+            [] -> [0,1,0]+            _ -> []+    , \x -> case x of+            [] -> [0,-1]+            _ -> []+    , \x -> case x of+            [] -> [1,0,0]+            _ -> []+    , \x -> case x of+            [] -> [1,1]+            _ -> []+    , \x -> case x of+            [] -> [-1,0]+            _ -> []+    , \x -> case x of+            [] -> [2]+            _ -> []+    , \x -> case x of+            [0] -> [0,0,0]+            _ -> []+    , \x -> case x of+            [0] -> [0,1]+            _ -> []+    , \x -> case x of+            [0] -> [1,0]+            _ -> []+    , \x -> case x of+            [0] -> [-1]+            _ -> []+    , \x -> case x of+            [] -> [0]+            [0] -> [0]+            _ -> []+    , \x -> case x of+            [0,0] -> [0,0]+            _ -> []+    , \x -> case x of+            [0,0] -> [1]+            _ -> []+    , \x -> case x of+            [1] -> [0,0]+            _ -> []+    , \x -> case x of+            [1] -> [1]+            _ -> []+    , \x -> case x of+            [0,0,0] -> [0]+            _ -> []+    , \x -> case x of+            [0,1] -> [0]+            _ -> []+    , \x -> case x of+            [1,0] -> [0]+            _ -> []+    , \x -> case x of+            [-1] -> [0]+            _ -> []+    , \x -> case x of+            [] -> [0,0,0]+            _ -> [0]+    , \x -> case x of+            [] -> [0,1]+            _ -> [0]+    , \x -> case x of+            [] -> [1,0]+            _ -> [0]+    , \x -> case x of+            [] -> [-1]+            _ -> [0]+    , \x -> case x of+            [0] -> [0,0]+            _ -> [0]+    , \x -> case x of+            [0] -> [1]+            _ -> [0]+    , \x -> case x of+            [] -> []+            [0,0] -> []+            _ -> [0]+    , \x -> case x of+            [] -> []+            [1] -> []+            _ -> [0]+    , \x -> case x of+            [0,0,0] -> []+            _ -> [0]+    , \x -> case x of+            [0,1] -> []+            _ -> [0]+    , \x -> case x of+            [1,0] -> []+            _ -> [0]+    , \x -> case x of+            [-1] -> []+            _ -> [0]+    , \x -> case x of+            [] -> [1]+            _ -> [0,0]+    , \x -> case x of+            [0] -> [0]+            _ -> [0,0]+    , \x -> case x of+            [] -> []+            [0] -> []+            _ -> [0,0]+    , \x -> case x of+            [0,0] -> []+            _ -> [0,0]+    , \x -> case x of+            [1] -> []+            _ -> [0,0]+    , \x -> case x of+            [] -> [0,0]+            _ -> [1]+    , \x -> case x of+            [0] -> [0]+            _ -> [1]+    , \x -> case x of+            [] -> []+            [0] -> []+            _ -> [1]+    , \x -> case x of+            [0,0] -> []+            _ -> [1]+    , \x -> case x of+            [1] -> []+            _ -> [1]+    , \x -> case x of+            [] -> [0]+            _ -> [0,0,0]+    , \x -> case x of+            [0] -> []+            _ -> [0,0,0]+    , \x -> case x of+            [] -> [0]+            _ -> [0,1]+    , \x -> case x of+            [0] -> []+            _ -> [0,1]+    , \x -> case x of+            [] -> [0]+            _ -> [1,0]+    , \x -> case x of+            [0] -> []+            _ -> [1,0]+    , \x -> case x of+            [] -> [0]+            _ -> [-1]+    , \x -> case x of+            [0] -> []+            _ -> [-1]+    , \x -> case x of+            [] -> []+            _ -> [0,0,0,0]+    , \x -> case x of+            [] -> []+            _ -> [0,0,1]+    , \x -> case x of+            [] -> []+            _ -> [0,1,0]+    , \x -> case x of+            [] -> []+            _ -> [0,-1]+    , \x -> case x of+            [] -> []+            _ -> [1,0,0]+    , \x -> case x of+            [] -> []+            _ -> [1,1]+    , \x -> case x of+            [] -> []+            _ -> [-1,0]+    , \x -> case x of+            [] -> []+            _ -> [2]+    , \_ -> [0,0,0,0,0]+    , \_ -> [0,0,0,1]+    , \_ -> [0,0,1,0]+    , \_ -> [0,0,-1]+    , \_ -> [0,1,0,0]+    , \_ -> [0,1,1]+    , \_ -> [0,-1,0]+    , \_ -> [0,2]+    , \_ -> [1,0,0,0]+    , \_ -> [1,0,1]+    , \_ -> [1,1,0]+    , \_ -> [1,-1]+    , \_ -> [-1,0,0]+    , \_ -> [-1,1]+    , \_ -> [2,0]+    , \_ -> [-2]+    ]+  , ...+  ]
+ bench/tiers-txt/default-MBool-Bool.txt view
@@ -0,0 +1,31 @@+map length (tiers :: [[ Maybe Bool->Bool ]])  =  [8]++length (list :: [ Maybe Bool->Bool ])  =  8++allUnique (list :: [ Maybe Bool->Bool ])  =  True++ratioRepetitions (list :: [ Maybe Bool->Bool ])  =  0 % 1++tiers :: [Maybe Bool->Bool]  =+  [ [ \_ -> False+    , \x -> case x of+            Just True -> True+            _ -> False+    , \x -> case x of+            Just False -> True+            _ -> False+    , \x -> case x of+            Nothing -> False+            _ -> True+    , \x -> case x of+            Nothing -> True+            _ -> False+    , \x -> case x of+            Just False -> False+            _ -> True+    , \x -> case x of+            Just True -> False+            _ -> True+    , \_ -> True+    ]+  ]
+ bench/tiers-txt/default-MBool-MBool.txt view
@@ -0,0 +1,94 @@+map length (tiers :: [[ Maybe Bool->Maybe Bool ]])  =  [1,6,12,8]++length (list :: [ Maybe Bool->Maybe Bool ])  =  Infinity++allUnique (list :: [ Maybe Bool->Maybe Bool ])  =  True++ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ])  =  0 % 1++tiers :: [Maybe Bool->Maybe Bool]  =+  [ [\_ -> Nothing]+  , [ \x -> case x of+            Just True -> Just False+            _ -> Nothing+    , \x -> case x of+            Just True -> Just True+            _ -> Nothing+    , \x -> case x of+            Just False -> Just False+            _ -> Nothing+    , \x -> case x of+            Just False -> Just True+            _ -> Nothing+    , \x -> case x of+            Nothing -> Just False+            _ -> Nothing+    , \x -> case x of+            Nothing -> Just True+            _ -> Nothing+    ]+  , [ \x -> case x of+            Nothing -> Nothing+            _ -> Just False+    , \x -> case x of+            Nothing -> Nothing+            Just False -> Just False+            Just True -> Just True+    , \x -> case x of+            Nothing -> Nothing+            Just False -> Just True+            Just True -> Just False+    , \x -> case x of+            Nothing -> Nothing+            _ -> Just True+    , \x -> case x of+            Just False -> Nothing+            _ -> Just False+    , \x -> case x of+            Nothing -> Just False+            Just False -> Nothing+            Just True -> Just True+    , \x -> case x of+            Just True -> Nothing+            _ -> Just False+    , \x -> case x of+            Nothing -> Just False+            Just False -> Just True+            Just True -> Nothing+    , \x -> case x of+            Nothing -> Just True+            Just False -> Nothing+            Just True -> Just False+    , \x -> case x of+            Just False -> Nothing+            _ -> Just True+    , \x -> case x of+            Nothing -> Just True+            Just False -> Just False+            Just True -> Nothing+    , \x -> case x of+            Just True -> Nothing+            _ -> Just True+    ]+  , [ \_ -> Just False+    , \x -> case x of+            Just True -> Just True+            _ -> Just False+    , \x -> case x of+            Just False -> Just True+            _ -> Just False+    , \x -> case x of+            Nothing -> Just False+            _ -> Just True+    , \x -> case x of+            Nothing -> Just True+            _ -> Just False+    , \x -> case x of+            Just False -> Just False+            _ -> Just True+    , \x -> case x of+            Just True -> Just False+            _ -> Just True+    , \_ -> Just True+    ]+  ]
+ bench/tiers-txt/default-Nat,Nat-Nat.txt view
@@ -0,0 +1,205 @@+map length (tiers :: [[ (Nat,Nat)->Nat ]])  =  [1,1,3,7,17,35,...]++length (list :: [ (Nat,Nat)->Nat ])  =  Infinity++allUnique (list :: [ (Nat,Nat)->Nat ])  =  True++ratioRepetitions (list :: [ (Nat,Nat)->Nat ])  =  0 % 1++tiers :: [(Nat,Nat)->Nat]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [ \x -> case x of+            (0,0) -> 1+            _ -> 0+    , \x -> case x of+            (0,0) -> 0+            _ -> 1+    , \_ -> 2+    ]+  , [ \x -> case x of+            (0,0) -> 2+            _ -> 0+    , \x -> case x of+            (0,1) -> 1+            _ -> 0+    , \x -> case x of+            (1,0) -> 1+            _ -> 0+    , \x -> case x of+            (0,1) -> 0+            _ -> 1+    , \x -> case x of+            (1,0) -> 0+            _ -> 1+    , \x -> case x of+            (0,0) -> 0+            _ -> 2+    , \_ -> 3+    ]+  , [ \x -> case x of+            (0,0) -> 3+            _ -> 0+    , \x -> case x of+            (0,1) -> 2+            _ -> 0+    , \x -> case x of+            (1,0) -> 2+            _ -> 0+    , \x -> case x of+            (0,2) -> 1+            _ -> 0+    , \x -> case x of+            (1,1) -> 1+            _ -> 0+    , \x -> case x of+            (2,0) -> 1+            _ -> 0+    , \x -> case x of+            (0,0) -> 2+            _ -> 1+    , \x -> case x of+            (0,0) -> 0+            (0,1) -> 0+            _ -> 1+    , \x -> case x of+            (0,0) -> 0+            (1,0) -> 0+            _ -> 1+    , \x -> case x of+            (0,2) -> 0+            _ -> 1+    , \x -> case x of+            (1,1) -> 0+            _ -> 1+    , \x -> case x of+            (2,0) -> 0+            _ -> 1+    , \x -> case x of+            (0,0) -> 1+            _ -> 2+    , \x -> case x of+            (0,1) -> 0+            _ -> 2+    , \x -> case x of+            (1,0) -> 0+            _ -> 2+    , \x -> case x of+            (0,0) -> 0+            _ -> 3+    , \_ -> 4+    ]+  , [ \x -> case x of+            (0,0) -> 4+            _ -> 0+    , \x -> case x of+            (0,1) -> 3+            _ -> 0+    , \x -> case x of+            (1,0) -> 3+            _ -> 0+    , \x -> case x of+            (0,0) -> 1+            (0,1) -> 1+            _ -> 0+    , \x -> case x of+            (0,0) -> 1+            (1,0) -> 1+            _ -> 0+    , \x -> case x of+            (0,2) -> 2+            _ -> 0+    , \x -> case x of+            (1,1) -> 2+            _ -> 0+    , \x -> case x of+            (2,0) -> 2+            _ -> 0+    , \x -> case x of+            (0,3) -> 1+            _ -> 0+    , \x -> case x of+            (1,2) -> 1+            _ -> 0+    , \x -> case x of+            (2,1) -> 1+            _ -> 0+    , \x -> case x of+            (3,0) -> 1+            _ -> 0+    , \x -> case x of+            (0,0) -> 3+            _ -> 1+    , \x -> case x of+            (0,1) -> 2+            _ -> 1+    , \x -> case x of+            (1,0) -> 2+            _ -> 1+    , \x -> case x of+            (0,0) -> 0+            (0,2) -> 0+            _ -> 1+    , \x -> case x of+            (0,0) -> 0+            (1,1) -> 0+            _ -> 1+    , \x -> case x of+            (0,0) -> 0+            (2,0) -> 0+            _ -> 1+    , \x -> case x of+            (0,1) -> 0+            (1,0) -> 0+            _ -> 1+    , \x -> case x of+            (0,3) -> 0+            _ -> 1+    , \x -> case x of+            (1,2) -> 0+            _ -> 1+    , \x -> case x of+            (2,1) -> 0+            _ -> 1+    , \x -> case x of+            (3,0) -> 0+            _ -> 1+    , \x -> case x of+            (0,1) -> 1+            _ -> 2+    , \x -> case x of+            (1,0) -> 1+            _ -> 2+    , \x -> case x of+            (0,0) -> 0+            (0,1) -> 0+            _ -> 2+    , \x -> case x of+            (0,0) -> 0+            (1,0) -> 0+            _ -> 2+    , \x -> case x of+            (0,2) -> 0+            _ -> 2+    , \x -> case x of+            (1,1) -> 0+            _ -> 2+    , \x -> case x of+            (2,0) -> 0+            _ -> 2+    , \x -> case x of+            (0,0) -> 1+            _ -> 3+    , \x -> case x of+            (0,1) -> 0+            _ -> 3+    , \x -> case x of+            (1,0) -> 0+            _ -> 3+    , \x -> case x of+            (0,0) -> 0+            _ -> 4+    , \_ -> 5+    ]+  , ...+  ]
+ bench/tiers-txt/default-Nat-Nat-Nat.txt view
@@ -0,0 +1,528 @@+map length (tiers :: [[ Nat->Nat->Nat ]])  =  [1,1,5,13,35,81,...]++length (list :: [ Nat->Nat->Nat ])  =  Infinity++allUnique (list :: [ Nat->Nat->Nat ])  =  True++ratioRepetitions (list :: [ Nat->Nat->Nat ])  =  0 % 1++tiers :: [Nat->Nat->Nat]  =+  [ [\_ _ -> 0]+  , [\_ _ -> 1]+  , [ \x _ -> case x of+              0 -> 1+              _ -> 0+    , \x _ -> case x of+              0 -> 0+              _ -> 1+    , \_ y -> case y of+              0 -> 1+              _ -> 0+    , \_ y -> case y of+              0 -> 0+              _ -> 1+    , \_ _ -> 2+    ]+  , [ \x y -> case (x,y) of+              (0,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,_) -> 1+              _ -> 0+    , \x _ -> case x of+              0 -> 2+              _ -> 0+    , \x _ -> case x of+              1 -> 1+              _ -> 0+    , \x _ -> case x of+              1 -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              _ -> 1+    , \x _ -> case x of+              0 -> 0+              _ -> 2+    , \_ y -> case y of+              0 -> 2+              _ -> 0+    , \_ y -> case y of+              1 -> 1+              _ -> 0+    , \_ y -> case y of+              1 -> 0+              _ -> 1+    , \_ y -> case y of+              0 -> 0+              _ -> 2+    , \_ _ -> 3+    ]+  , [ \x y -> case (x,y) of+              (0,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 0+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,_) -> 2+              _ -> 0+    , \x _ -> case x of+              0 -> 3+              _ -> 0+    , \x y -> case (x,y) of+              (1,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 1+              _ -> 0+    , \x _ -> case x of+              1 -> 2+              _ -> 0+    , \x _ -> case x of+              2 -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 1+              (0,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              _ -> 1+    , \x _ -> case x of+              0 -> 2+              _ -> 1+    , \x _ -> case x of+              0 -> 0+              1 -> 0+              _ -> 1+    , \x _ -> case x of+              2 -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 0+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (_,0) -> 0+              (1,_) -> 0+              _ -> 1+    , \x _ -> case x of+              0 -> 1+              _ -> 2+    , \x _ -> case x of+              1 -> 0+              _ -> 2+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              _ -> 2+    , \x _ -> case x of+              0 -> 0+              _ -> 3+    , \_ y -> case y of+              0 -> 3+              _ -> 0+    , \_ y -> case y of+              1 -> 2+              _ -> 0+    , \_ y -> case y of+              2 -> 1+              _ -> 0+    , \_ y -> case y of+              0 -> 2+              _ -> 1+    , \_ y -> case y of+              0 -> 0+              1 -> 0+              _ -> 1+    , \_ y -> case y of+              2 -> 0+              _ -> 1+    , \_ y -> case y of+              0 -> 1+              _ -> 2+    , \_ y -> case y of+              1 -> 0+              _ -> 2+    , \_ y -> case y of+              0 -> 0+              _ -> 3+    , \_ _ -> 4+    ]+  , [ \x y -> case (x,y) of+              (0,0) -> 3+              _ -> 0+    , \x y -> case (x,y) of+              (0,1) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,2) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 2+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (_,1) -> 0+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,1) -> 1+              (1,_) -> 0+              (_,0) -> 0+              (_,2) -> 0+              (0,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 2+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 0+              (0,_) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,_) -> 3+              _ -> 0+    , \x _ -> case x of+              0 -> 4+              _ -> 0+    , \x y -> case (x,y) of+              (1,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (1,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (1,0) -> 1+              (_,1) -> 0+              (2,_) -> 0+              (_,0) -> 0+              (1,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 2+              _ -> 0+    , \x _ -> case x of+              1 -> 3+              _ -> 0+    , \x _ -> case x of+              0 -> 1+              1 -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (2,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 0+              (2,_) -> 1+              _ -> 0+    , \x _ -> case x of+              2 -> 2+              _ -> 0+    , \x _ -> case x of+              3 -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 2+              (0,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (_,1) -> 1+              (1,_) -> 1+              (_,0) -> 1+              (0,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 2+              _ -> 1+    , \x _ -> case x of+              0 -> 3+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 1+              (1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (1,0) -> 0+              _ -> 1+    , \x _ -> case x of+              1 -> 2+              _ -> 1+    , \x _ -> case x of+              0 -> 0+              2 -> 0+              _ -> 1+    , \x _ -> case x of+              3 -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 1+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 2+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 1+              (1,_) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (1,_) -> 0+              (_,0) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,1) -> 0+              (1,0) -> 1+              (0,2) -> 0+              (1,1) -> 0+              (2,0) -> 0+              (0,3) -> 0+              (1,2) -> 0+              ...+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 0+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 2+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 1+              (_,1) -> 1+              (1,_) -> 1+              (_,0) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (_,0) -> 0+              (2,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,0) -> 1+              (0,_) -> 0+              _ -> 2+    , \x y -> case (x,y) of+              (0,0) -> 0+              (0,_) -> 1+              _ -> 2+    , \x _ -> case x of+              1 -> 1+              _ -> 2+    , \x _ -> case x of+              0 -> 0+              1 -> 0+              _ -> 2+    , \x _ -> case x of+              2 -> 0+              _ -> 2+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,0) -> 2+              (0,_) -> 0+              (_,1) -> 0+              (1,_) -> 0+              (_,0) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (_,0) -> 0+              (0,1) -> 1+              (0,_) -> 0+              (_,2) -> 0+              (1,_) -> 0+              (_,1) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 1+              (_,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (_,1) -> 0+              (1,_) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 1+              (_,0) -> 0+              _ -> 2+    , \x y -> case (x,y) of+              (_,0) -> 0+              (1,_) -> 0+              _ -> 2+    , \x _ -> case x of+              0 -> 1+              _ -> 3+    , \x _ -> case x of+              1 -> 0+              _ -> 3+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 3+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 2+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 0+              (_,2) -> 1+              _ -> 0+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 2+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              (_,1) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,2) -> 0+              _ -> 1+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 1+              _ -> 2+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,1) -> 0+              _ -> 2+    , \x y -> case (x,y) of+              (0,_) -> 0+              (_,0) -> 0+              _ -> 3+    , \x _ -> case x of+              0 -> 0+              _ -> 4+    , \_ y -> case y of+              0 -> 4+              _ -> 0+    , \_ y -> case y of+              1 -> 3+              _ -> 0+    , \_ y -> case y of+              0 -> 1+              1 -> 1+              _ -> 0+    , \_ y -> case y of+              2 -> 2+              _ -> 0+    , \_ y -> case y of+              3 -> 1+              _ -> 0+    , \_ y -> case y of+              0 -> 3+              _ -> 1+    , \_ y -> case y of+              1 -> 2+              _ -> 1+    , \_ y -> case y of+              0 -> 0+              2 -> 0+              _ -> 1+    , \_ y -> case y of+              3 -> 0+              _ -> 1+    , \_ y -> case y of+              1 -> 1+              _ -> 2+    , \_ y -> case y of+              0 -> 0+              1 -> 0+              _ -> 2+    , \_ y -> case y of+              2 -> 0+              _ -> 2+    , \_ y -> case y of+              0 -> 1+              _ -> 3+    , \_ y -> case y of+              1 -> 0+              _ -> 3+    , \_ y -> case y of+              0 -> 0+              _ -> 4+    , \_ _ -> 5+    ]+  , ...+  ]
+ bench/tiers-txt/default-Nat-Nat.txt view
@@ -0,0 +1,670 @@+map length (tiers :: [[ Nat->Nat ]])  =  [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Nat->Nat ])  =  Infinity++allUnique (list :: [ Nat->Nat ])  =  True++ratioRepetitions (list :: [ Nat->Nat ])  =  0 % 1++tiers :: [Nat->Nat]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [ \x -> case x of+            0 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 0+            _ -> 1+    , \_ -> 2+    ]+  , [ \x -> case x of+            0 -> 2+            _ -> 0+    , \x -> case x of+            1 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 0+            _ -> 2+    , \_ -> 3+    ]+  , [ \x -> case x of+            0 -> 3+            _ -> 0+    , \x -> case x of+            1 -> 2+            _ -> 0+    , \x -> case x of+            2 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 1+            _ -> 2+    , \x -> case x of+            1 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 0+            _ -> 3+    , \_ -> 4+    ]+  , [ \x -> case x of+            0 -> 4+            _ -> 0+    , \x -> case x of+            1 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> 2+            _ -> 0+    , \x -> case x of+            3 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 3+            _ -> 1+    , \x -> case x of+            1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            3 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 2+    , \x -> case x of+            2 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 1+            _ -> 3+    , \x -> case x of+            1 -> 0+            _ -> 3+    , \x -> case x of+            0 -> 0+            _ -> 4+    , \_ -> 5+    ]+  , [ \x -> case x of+            0 -> 5+            _ -> 0+    , \x -> case x of+            1 -> 4+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 2+            1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 1+            2 -> 1+            _ -> 0+    , \x -> case x of+            3 -> 2+            _ -> 0+    , \x -> case x of+            4 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 4+            _ -> 1+    , \x -> case x of+            1 -> 3+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 2+            1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            3 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            4 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 3+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 1+            1 -> 0+            _ -> 2+    , \x -> case x of+            2 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> 2+    , \x -> case x of+            3 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 2+            _ -> 3+    , \x -> case x of+            1 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 3+    , \x -> case x of+            2 -> 0+            _ -> 3+    , \x -> case x of+            0 -> 1+            _ -> 4+    , \x -> case x of+            1 -> 0+            _ -> 4+    , \x -> case x of+            0 -> 0+            _ -> 5+    , \_ -> 6+    ]+  , [ \x -> case x of+            0 -> 6+            _ -> 0+    , \x -> case x of+            1 -> 5+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 2+            1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 3+            1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> 4+            _ -> 0+    , \x -> case x of+            0 -> 1+            2 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 2+            2 -> 1+            _ -> 0+    , \x -> case x of+            3 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 1+            3 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            2 -> 1+            _ -> 0+    , \x -> case x of+            4 -> 2+            _ -> 0+    , \x -> case x of+            5 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 5+            _ -> 1+    , \x -> case x of+            1 -> 4+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 3+            _ -> 1+    , \x -> case x of+            0 -> 3+            1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 3+            _ -> 1+    , \x -> case x of+            0 -> 0+            2 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 2+            2 -> 0+            _ -> 1+    , \x -> case x of+            3 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 0+            2 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 0+            4 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            3 -> 0+            _ -> 1+    , \x -> case x of+            5 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 4+            _ -> 2+    , \x -> case x of+            1 -> 3+            _ -> 2+    , \x -> case x of+            0 -> 1+            1 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            2 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 1+            2 -> 0+            _ -> 2+    , \x -> case x of+            3 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            3 -> 0+            _ -> 2+    , \x -> case x of+            1 -> 0+            2 -> 0+            _ -> 2+    , \x -> case x of+            4 -> 0+            _ -> 2+    , \x -> case x of+            1 -> 2+            _ -> 3+    , \x -> case x of+            0 -> 0+            1 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 1+            1 -> 0+            _ -> 3+    , \x -> case x of+            2 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> 3+    , \x -> case x of+            3 -> 0+            _ -> 3+    , \x -> case x of+            0 -> 2+            _ -> 4+    , \x -> case x of+            1 -> 1+            _ -> 4+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 4+    , \x -> case x of+            2 -> 0+            _ -> 4+    , \x -> case x of+            0 -> 1+            _ -> 5+    , \x -> case x of+            1 -> 0+            _ -> 5+    , \x -> case x of+            0 -> 0+            _ -> 6+    , \_ -> 7+    ]+  , [ \x -> case x of+            0 -> 7+            _ -> 0+    , \x -> case x of+            1 -> 6+            _ -> 0+    , \x -> case x of+            0 -> 1+            1 -> 4+            _ -> 0+    , \x -> case x of+            0 -> 2+            1 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 3+            1 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 4+            1 -> 1+            _ -> 0+    , \x -> case x of+            2 -> 5+            _ -> 0+    , \x -> case x of+            0 -> 1+            2 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 2+            2 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 3+            2 -> 1+            _ -> 0+    , \x -> case x of+            3 -> 4+            _ -> 0+    , \x -> case x of+            0 -> 1+            3 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 2+            3 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            2 -> 2+            _ -> 0+    , \x -> case x of+            1 -> 2+            2 -> 1+            _ -> 0+    , \x -> case x of+            4 -> 3+            _ -> 0+    , \x -> case x of+            0 -> 1+            4 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            3 -> 1+            _ -> 0+    , \x -> case x of+            5 -> 2+            _ -> 0+    , \x -> case x of+            6 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 6+            _ -> 1+    , \x -> case x of+            1 -> 5+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 4+            _ -> 1+    , \x -> case x of+            0 -> 2+            1 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 4+            1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 4+            _ -> 1+    , \x -> case x of+            0 -> 0+            2 -> 3+            _ -> 1+    , \x -> case x of+            0 -> 3+            2 -> 0+            _ -> 1+    , \x -> case x of+            3 -> 3+            _ -> 1+    , \x -> case x of+            0 -> 0+            3 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 2+            3 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            2 -> 2+            _ -> 1+    , \x -> case x of+            1 -> 2+            2 -> 0+            _ -> 1+    , \x -> case x of+            4 -> 2+            _ -> 1+    , \x -> case x of+            0 -> 0+            1 -> 0+            3 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 0+            5 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            4 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 0+            3 -> 0+            _ -> 1+    , \x -> case x of+            6 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 5+            _ -> 2+    , \x -> case x of+            1 -> 4+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> 3+            _ -> 2+    , \x -> case x of+            0 -> 3+            1 -> 0+            _ -> 2+    , \x -> case x of+            2 -> 3+            _ -> 2+    , \x -> case x of+            0 -> 1+            2 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            3 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 1+            3 -> 0+            _ -> 2+    , \x -> case x of+            1 -> 0+            2 -> 1+            _ -> 2+    , \x -> case x of+            1 -> 1+            2 -> 0+            _ -> 2+    , \x -> case x of+            4 -> 1+            _ -> 2+    , \x -> case x of+            0 -> 0+            1 -> 0+            2 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 0+            4 -> 0+            _ -> 2+    , \x -> case x of+            1 -> 0+            3 -> 0+            _ -> 2+    , \x -> case x of+            5 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 4+            _ -> 3+    , \x -> case x of+            0 -> 0+            1 -> 2+            _ -> 3+    , \x -> case x of+            0 -> 1+            1 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 2+            1 -> 0+            _ -> 3+    , \x -> case x of+            2 -> 2+            _ -> 3+    , \x -> case x of+            0 -> 0+            2 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 1+            2 -> 0+            _ -> 3+    , \x -> case x of+            3 -> 1+            _ -> 3+    , \x -> case x of+            0 -> 0+            3 -> 0+            _ -> 3+    , \x -> case x of+            1 -> 0+            2 -> 0+            _ -> 3+    , \x -> case x of+            4 -> 0+            _ -> 3+    , \x -> case x of+            0 -> 3+            _ -> 4+    , \x -> case x of+            1 -> 2+            _ -> 4+    , \x -> case x of+            0 -> 0+            1 -> 1+            _ -> 4+    , \x -> case x of+            0 -> 1+            1 -> 0+            _ -> 4+    , \x -> case x of+            2 -> 1+            _ -> 4+    , \x -> case x of+            0 -> 0+            2 -> 0+            _ -> 4+    , \x -> case x of+            3 -> 0+            _ -> 4+    , \x -> case x of+            0 -> 2+            _ -> 5+    , \x -> case x of+            1 -> 1+            _ -> 5+    , \x -> case x of+            0 -> 0+            1 -> 0+            _ -> 5+    , \x -> case x of+            2 -> 0+            _ -> 5+    , \x -> case x of+            0 -> 1+            _ -> 6+    , \x -> case x of+            1 -> 0+            _ -> 6+    , \x -> case x of+            0 -> 0+            _ -> 7+    , \_ -> 8+    ]+  , ...+  ]
+ bench/tiers-txt/default-Nat-U.txt view
@@ -0,0 +1,17 @@+map length (tiers :: [[ Nat->() ]])  =  [1,0,0,0,0,0,...]++length (list :: [ Nat->() ])  =  1++allUnique (list :: [ Nat->() ])  =  True++ratioRepetitions (list :: [ Nat->() ])  =  0 % 1++tiers :: [Nat->()]  =+  [ [\_ -> ()]+  , []+  , []+  , []+  , []+  , []+  , ...+  ]
+ bench/tiers-txt/default-Nat2-Nat2.txt view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Nat2->Nat2 ]])  =  [1,2,1]++length (list :: [ Nat2->Nat2 ])  =  4++allUnique (list :: [ Nat2->Nat2 ])  =  True++ratioRepetitions (list :: [ Nat2->Nat2 ])  =  0 % 1++tiers :: [Nat2->Nat2]  =+  [ [\_ -> 0]+  , [ \x -> case x of+            0 -> 0+            1 -> 1+    , \x -> case x of+            0 -> 1+            1 -> 0+    ]+  , [\_ -> 1]+  ]
+ bench/tiers-txt/default-Nat2-Nat3.txt view
@@ -0,0 +1,34 @@+map length (tiers :: [[ Nat2->Nat3 ]])  =  [1,2,3,2,1]++length (list :: [ Nat2->Nat3 ])  =  9++allUnique (list :: [ Nat2->Nat3 ])  =  True++ratioRepetitions (list :: [ Nat2->Nat3 ])  =  0 % 1++tiers :: [Nat2->Nat3]  =+  [ [\_ -> 0]+  , [ \x -> case x of+            0 -> 0+            1 -> 1+    , \x -> case x of+            0 -> 1+            1 -> 0+    ]+  , [ \x -> case x of+            0 -> 0+            1 -> 2+    , \_ -> 1+    , \x -> case x of+            0 -> 2+            1 -> 0+    ]+  , [ \x -> case x of+            0 -> 1+            1 -> 2+    , \x -> case x of+            0 -> 2+            1 -> 1+    ]+  , [\_ -> 2]+  ]
+ bench/tiers-txt/default-Nat3-Nat2.txt view
@@ -0,0 +1,32 @@+map length (tiers :: [[ Nat3->Nat2 ]])  =  [1,3,3,1]++length (list :: [ Nat3->Nat2 ])  =  8++allUnique (list :: [ Nat3->Nat2 ])  =  True++ratioRepetitions (list :: [ Nat3->Nat2 ])  =  0 % 1++tiers :: [Nat3->Nat2]  =+  [ [\_ -> 0]+  , [ \x -> case x of+            2 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 1+            _ -> 0+    ]+  , [ \x -> case x of+            0 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 0+            _ -> 1+    ]+  , [\_ -> 1]+  ]
+ bench/tiers-txt/default-Nat3-Nat3.txt view
@@ -0,0 +1,96 @@+map length (tiers :: [[ Nat3->Nat3 ]])  =  [1,3,6,7,6,3,1]++length (list :: [ Nat3->Nat3 ])  =  Infinity++allUnique (list :: [ Nat3->Nat3 ])  =  True++ratioRepetitions (list :: [ Nat3->Nat3 ])  =  0 % 1++tiers :: [Nat3->Nat3]  =+  [ [\_ -> 0]+  , [ \x -> case x of+            2 -> 1+            _ -> 0+    , \x -> case x of+            1 -> 1+            _ -> 0+    , \x -> case x of+            0 -> 1+            _ -> 0+    ]+  , [ \x -> case x of+            2 -> 2+            _ -> 0+    , \x -> case x of+            0 -> 0+            _ -> 1+    , \x -> case x of+            1 -> 2+            _ -> 0+    , \x -> case x of+            1 -> 0+            _ -> 1+    , \x -> case x of+            2 -> 0+            _ -> 1+    , \x -> case x of+            0 -> 2+            _ -> 0+    ]+  , [ \x -> case x of+            0 -> 0+            1 -> 1+            2 -> 2+    , \x -> case x of+            0 -> 0+            1 -> 2+            2 -> 1+    , \x -> case x of+            0 -> 1+            1 -> 0+            2 -> 2+    , \_ -> 1+    , \x -> case x of+            0 -> 1+            1 -> 2+            2 -> 0+    , \x -> case x of+            0 -> 2+            1 -> 0+            2 -> 1+    , \x -> case x of+            0 -> 2+            1 -> 1+            2 -> 0+    ]+  , [ \x -> case x of+            0 -> 0+            _ -> 2+    , \x -> case x of+            2 -> 2+            _ -> 1+    , \x -> case x of+            1 -> 2+            _ -> 1+    , \x -> case x of+            1 -> 0+            _ -> 2+    , \x -> case x of+            0 -> 2+            _ -> 1+    , \x -> case x of+            2 -> 0+            _ -> 2+    ]+  , [ \x -> case x of+            0 -> 1+            _ -> 2+    , \x -> case x of+            1 -> 1+            _ -> 2+    , \x -> case x of+            2 -> 1+            _ -> 2+    ]+  , [\_ -> 2]+  ]
+ bench/tiers-txt/default-Nats-Nats.txt view
@@ -0,0 +1,317 @@+map length (tiers :: [[ [Nat]->[Nat] ]])  =  [1,1,4,10,29,75,...]++length (list :: [ [Nat]->[Nat] ])  =  Infinity++allUnique (list :: [ [Nat]->[Nat] ])  =  True++ratioRepetitions (list :: [ [Nat]->[Nat] ])  =  0 % 1++tiers :: [[Nat]->[Nat]]  =+  [ [\_ -> []]+  , [\_ -> [0]]+  , [ \x -> case x of+            [] -> [0]+            _ -> []+    , \x -> case x of+            [] -> []+            _ -> [0]+    , \_ -> [0,0]+    , \_ -> [1]+    ]+  , [ \x -> case x of+            [] -> [0,0]+            _ -> []+    , \x -> case x of+            [] -> [1]+            _ -> []+    , \x -> case x of+            [0] -> [0]+            _ -> []+    , \x -> case x of+            [0] -> []+            _ -> [0]+    , \x -> case x of+            [] -> []+            _ -> [0,0]+    , \x -> case x of+            [] -> []+            _ -> [1]+    , \_ -> [0,0,0]+    , \_ -> [0,1]+    , \_ -> [1,0]+    , \_ -> [2]+    ]+  , [ \x -> case x of+            [] -> [0,0,0]+            _ -> []+    , \x -> case x of+            [] -> [0,1]+            _ -> []+    , \x -> case x of+            [] -> [1,0]+            _ -> []+    , \x -> case x of+            [] -> [2]+            _ -> []+    , \x -> case x of+            [0] -> [0,0]+            _ -> []+    , \x -> case x of+            [0] -> [1]+            _ -> []+    , \x -> case x of+            [0,0] -> [0]+            _ -> []+    , \x -> case x of+            [1] -> [0]+            _ -> []+    , \x -> case x of+            [] -> [0,0]+            _ -> [0]+    , \x -> case x of+            [] -> [1]+            _ -> [0]+    , \x -> case x of+            [] -> []+            [0] -> []+            _ -> [0]+    , \x -> case x of+            [0,0] -> []+            _ -> [0]+    , \x -> case x of+            [1] -> []+            _ -> [0]+    , \x -> case x of+            [] -> [0]+            _ -> [0,0]+    , \x -> case x of+            [0] -> []+            _ -> [0,0]+    , \x -> case x of+            [] -> [0]+            _ -> [1]+    , \x -> case x of+            [0] -> []+            _ -> [1]+    , \x -> case x of+            [] -> []+            _ -> [0,0,0]+    , \x -> case x of+            [] -> []+            _ -> [0,1]+    , \x -> case x of+            [] -> []+            _ -> [1,0]+    , \x -> case x of+            [] -> []+            _ -> [2]+    , \_ -> [0,0,0,0]+    , \_ -> [0,0,1]+    , \_ -> [0,1,0]+    , \_ -> [0,2]+    , \_ -> [1,0,0]+    , \_ -> [1,1]+    , \_ -> [2,0]+    , \_ -> [3]+    ]+  , [ \x -> case x of+            [] -> [0,0,0,0]+            _ -> []+    , \x -> case x of+            [] -> [0,0,1]+            _ -> []+    , \x -> case x of+            [] -> [0,1,0]+            _ -> []+    , \x -> case x of+            [] -> [0,2]+            _ -> []+    , \x -> case x of+            [] -> [1,0,0]+            _ -> []+    , \x -> case x of+            [] -> [1,1]+            _ -> []+    , \x -> case x of+            [] -> [2,0]+            _ -> []+    , \x -> case x of+            [] -> [3]+            _ -> []+    , \x -> case x of+            [0] -> [0,0,0]+            _ -> []+    , \x -> case x of+            [0] -> [0,1]+            _ -> []+    , \x -> case x of+            [0] -> [1,0]+            _ -> []+    , \x -> case x of+            [0] -> [2]+            _ -> []+    , \x -> case x of+            [] -> [0]+            [0] -> [0]+            _ -> []+    , \x -> case x of+            [0,0] -> [0,0]+            _ -> []+    , \x -> case x of+            [0,0] -> [1]+            _ -> []+    , \x -> case x of+            [1] -> [0,0]+            _ -> []+    , \x -> case x of+            [1] -> [1]+            _ -> []+    , \x -> case x of+            [0,0,0] -> [0]+            _ -> []+    , \x -> case x of+            [0,1] -> [0]+            _ -> []+    , \x -> case x of+            [1,0] -> [0]+            _ -> []+    , \x -> case x of+            [2] -> [0]+            _ -> []+    , \x -> case x of+            [] -> [0,0,0]+            _ -> [0]+    , \x -> case x of+            [] -> [0,1]+            _ -> [0]+    , \x -> case x of+            [] -> [1,0]+            _ -> [0]+    , \x -> case x of+            [] -> [2]+            _ -> [0]+    , \x -> case x of+            [0] -> [0,0]+            _ -> [0]+    , \x -> case x of+            [0] -> [1]+            _ -> [0]+    , \x -> case x of+            [] -> []+            [0,0] -> []+            _ -> [0]+    , \x -> case x of+            [] -> []+            [1] -> []+            _ -> [0]+    , \x -> case x of+            [0,0,0] -> []+            _ -> [0]+    , \x -> case x of+            [0,1] -> []+            _ -> [0]+    , \x -> case x of+            [1,0] -> []+            _ -> [0]+    , \x -> case x of+            [2] -> []+            _ -> [0]+    , \x -> case x of+            [] -> [1]+            _ -> [0,0]+    , \x -> case x of+            [0] -> [0]+            _ -> [0,0]+    , \x -> case x of+            [] -> []+            [0] -> []+            _ -> [0,0]+    , \x -> case x of+            [0,0] -> []+            _ -> [0,0]+    , \x -> case x of+            [1] -> []+            _ -> [0,0]+    , \x -> case x of+            [] -> [0,0]+            _ -> [1]+    , \x -> case x of+            [0] -> [0]+            _ -> [1]+    , \x -> case x of+            [] -> []+            [0] -> []+            _ -> [1]+    , \x -> case x of+            [0,0] -> []+            _ -> [1]+    , \x -> case x of+            [1] -> []+            _ -> [1]+    , \x -> case x of+            [] -> [0]+            _ -> [0,0,0]+    , \x -> case x of+            [0] -> []+            _ -> [0,0,0]+    , \x -> case x of+            [] -> [0]+            _ -> [0,1]+    , \x -> case x of+            [0] -> []+            _ -> [0,1]+    , \x -> case x of+            [] -> [0]+            _ -> [1,0]+    , \x -> case x of+            [0] -> []+            _ -> [1,0]+    , \x -> case x of+            [] -> [0]+            _ -> [2]+    , \x -> case x of+            [0] -> []+            _ -> [2]+    , \x -> case x of+            [] -> []+            _ -> [0,0,0,0]+    , \x -> case x of+            [] -> []+            _ -> [0,0,1]+    , \x -> case x of+            [] -> []+            _ -> [0,1,0]+    , \x -> case x of+            [] -> []+            _ -> [0,2]+    , \x -> case x of+            [] -> []+            _ -> [1,0,0]+    , \x -> case x of+            [] -> []+            _ -> [1,1]+    , \x -> case x of+            [] -> []+            _ -> [2,0]+    , \x -> case x of+            [] -> []+            _ -> [3]+    , \_ -> [0,0,0,0,0]+    , \_ -> [0,0,0,1]+    , \_ -> [0,0,1,0]+    , \_ -> [0,0,2]+    , \_ -> [0,1,0,0]+    , \_ -> [0,1,1]+    , \_ -> [0,2,0]+    , \_ -> [0,3]+    , \_ -> [1,0,0,0]+    , \_ -> [1,0,1]+    , \_ -> [1,1,0]+    , \_ -> [1,2]+    , \_ -> [2,0,0]+    , \_ -> [2,1]+    , \_ -> [3,0]+    , \_ -> [4]+    ]+  , ...+  ]
+ bench/tiers-txt/default-U-Bool.txt view
@@ -0,0 +1,13 @@+map length (tiers :: [[ ()->Bool ]])  =  [2]++length (list :: [ ()->Bool ])  =  2++allUnique (list :: [ ()->Bool ])  =  True++ratioRepetitions (list :: [ ()->Bool ])  =  0 % 1++tiers :: [()->Bool]  =+  [ [ \_ -> False+    , \_ -> True+    ]+  ]
+ bench/tiers-txt/default-U-Nat.txt view
@@ -0,0 +1,17 @@+map length (tiers :: [[ ()->Nat ]])  =  [1,1,1,1,1,1,...]++length (list :: [ ()->Nat ])  =  Infinity++allUnique (list :: [ ()->Nat ])  =  True++ratioRepetitions (list :: [ ()->Nat ])  =  0 % 1++tiers :: [()->Nat]  =+  [ [\_ -> 0]+  , [\_ -> 1]+  , [\_ -> 2]+  , [\_ -> 3]+  , [\_ -> 4]+  , [\_ -> 5]+  , ...+  ]
+ bench/tiers-txt/default-U-U.txt view
@@ -0,0 +1,10 @@+map length (tiers :: [[ ()->() ]])  =  [1]++length (list :: [ ()->() ])  =  1++allUnique (list :: [ ()->() ])  =  True++ratioRepetitions (list :: [ ()->() ])  =  0 % 1++tiers :: [()->()]  =+  [[\_ -> ()]]
+ bench/tiers-txt/default-Us-Us.txt view
@@ -0,0 +1,115 @@+map length (tiers :: [[ [()]->[()] ]])  =  [1,1,3,5,10,16,...]++length (list :: [ [()]->[()] ])  =  Infinity++allUnique (list :: [ [()]->[()] ])  =  True++ratioRepetitions (list :: [ [()]->[()] ])  =  0 % 1++tiers :: [[()]->[()]]  =+  [ [\_ -> []]+  , [\_ -> [()]]+  , [ \x -> case x of+            [] -> [()]+            _ -> []+    , \x -> case x of+            [] -> []+            _ -> [()]+    , \_ -> [(),()]+    ]+  , [ \x -> case x of+            [] -> [(),()]+            _ -> []+    , \x -> case x of+            [()] -> [()]+            _ -> []+    , \x -> case x of+            [()] -> []+            _ -> [()]+    , \x -> case x of+            [] -> []+            _ -> [(),()]+    , \_ -> [(),(),()]+    ]+  , [ \x -> case x of+            [] -> [(),(),()]+            _ -> []+    , \x -> case x of+            [()] -> [(),()]+            _ -> []+    , \x -> case x of+            [(),()] -> [()]+            _ -> []+    , \x -> case x of+            [] -> [(),()]+            _ -> [()]+    , \x -> case x of+            [] -> []+            [()] -> []+            _ -> [()]+    , \x -> case x of+            [(),()] -> []+            _ -> [()]+    , \x -> case x of+            [] -> [()]+            _ -> [(),()]+    , \x -> case x of+            [()] -> []+            _ -> [(),()]+    , \x -> case x of+            [] -> []+            _ -> [(),(),()]+    , \_ -> [(),(),(),()]+    ]+  , [ \x -> case x of+            [] -> [(),(),(),()]+            _ -> []+    , \x -> case x of+            [()] -> [(),(),()]+            _ -> []+    , \x -> case x of+            [] -> [()]+            [()] -> [()]+            _ -> []+    , \x -> case x of+            [(),()] -> [(),()]+            _ -> []+    , \x -> case x of+            [(),(),()] -> [()]+            _ -> []+    , \x -> case x of+            [] -> [(),(),()]+            _ -> [()]+    , \x -> case x of+            [()] -> [(),()]+            _ -> [()]+    , \x -> case x of+            [] -> []+            [(),()] -> []+            _ -> [()]+    , \x -> case x of+            [(),(),()] -> []+            _ -> [()]+    , \x -> case x of+            [()] -> [()]+            _ -> [(),()]+    , \x -> case x of+            [] -> []+            [()] -> []+            _ -> [(),()]+    , \x -> case x of+            [(),()] -> []+            _ -> [(),()]+    , \x -> case x of+            [] -> [()]+            _ -> [(),(),()]+    , \x -> case x of+            [()] -> []+            _ -> [(),(),()]+    , \x -> case x of+            [] -> []+            _ -> [(),(),(),()]+    , \_ -> [(),(),(),(),()]+    ]+  , ...+  ]
bench/tiers.hs view
@@ -1,6 +1,6 @@ -- tiers.hs -- prints tiers of values up to a certain point ----- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test.LeanCheck import Test.LeanCheck.Utils.Types@@ -39,9 +39,7 @@                      %  fromIntegral (length xs)  showLengthT :: [[a]] -> String-showLengthT xss  =  case lengthT xss of-                    Nothing -> "Infinity"-                    Just x  -> show x+showLengthT  =  maybe "Infinity" show . lengthT  showDotsLongerThan :: Show a => Int -> [a] -> String showDotsLongerThan n xs  =  "["@@ -57,16 +55,16 @@ put t n a  =  do   putStrLn $ "map length (tiers :: [[ " ++ t ++ " ]])  =  "           ++ showDotsLongerThan n (map length $ tiers `asTypeOf` [[a]])-  putStrLn $ ""+          ++ "\n"   putStrLn $ "length (list :: [ " ++ t ++ " ])  =  "           ++ showLengthT (tiers `asTypeOf` [[a]])-  putStrLn $ ""+          ++ "\n"   putStrLn $ "allUnique (list :: [ " ++ t ++ " ])  =  "           ++ show (allUnique . concat . take n $ tiers `asTypeOf` [[a]])-  putStrLn $ ""+          ++ "\n"   putStrLn $ "ratioRepetitions (list :: [ " ++ t ++ " ])  =  "           ++ show (ratioRepetitions . concat . take n $ tiers `asTypeOf` [[a]])-  putStrLn $ ""+          ++ "\n"   putStrLn $ "tiers :: [" ++ t ++ "]  ="   printTiers n $ tiers `asTypeOf` [[a]] 
changelog.md view
@@ -2,6 +2,14 @@ =======================  +v1.0.2 (January 2024)+---------------------++* improve error messages+* some code linting, refactoring and cleanup+* improve testing of LeanCheck itself++ v1.0.0 (August 2022) -------------------- 
eg/higher-order.hs view
@@ -1,6 +1,6 @@ -- higher-order.hs -- example: testing higher-order properties using LeanCheck ----- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test.LeanCheck import Test.LeanCheck.Function ()
+ eg/higher-order.txt view
@@ -0,0 +1,19 @@+*** Failed! Falsifiable (after 75 tests):+\x _ -> case x of+        0 -> 1+        _ -> 0+0+[0,0]+++++ OK, passed 200 tests.+*** Failed! Falsifiable (after 36 tests):+\_ -> 0+\x -> case x of+      0 -> True+      _ -> False+[1]++*** Failed! Falsifiable (after 1 tests):+(\_ -> 0) (\_ -> 0)+*** Failed! Falsifiable (after 1 tests):+(\_ -> 0) (0,0)
+ eg/overflow.txt view
@@ -0,0 +1,2 @@+*** Failed! Falsifiable (after 8792 tests):+(T [] [] [] [-1] [-32768])
eg/test-bool.hs view
@@ -1,6 +1,6 @@ -- test-bool.hs -- example program, testing Bool fns using LeanCheck ----- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test.LeanCheck import Test.LeanCheck.Function ()
+ eg/test-bool.txt view
@@ -0,0 +1,25 @@+not . not === id++++ OK, passed 2 tests (exhausted).+(&&) commutes++++ OK, passed 4 tests (exhausted).+(||) commutes++++ OK, passed 4 tests (exhausted).++All boolean operators are commutative (wrong).+*** Failed! Falsifiable (after 10 tests):+\x y -> case (x,y) of+        (True,False) -> True+        _ -> False+False+True+++All boolean operators are associative (wrong).+*** Failed! Falsifiable (after 22 tests):+\x y -> case (x,y) of+        (True,False) -> True+        _ -> False+True+False+True+
eg/test-float.hs view
@@ -1,6 +1,6 @@ -- test-list.hs -- example program, testing Float using LeanCheck ----- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test.LeanCheck @@ -18,7 +18,7 @@   checkFor n $ \x -> x + x + x + x + x == x * (5::Float)   checkFor n $ \x -> x + x + x + x + x + x == x * (6::Float)   checkFor n $ \() -> 0.1 + 0.1 + 0.1 == 0.3-  checkFor n $ \x -> x >= 0 ==> (x ** 2) ** 0.5 == (x::Float)-  checkFor n $ \x -> x >= 0 ==> (x ** 0.5) ** 2 == (x::Float)+  checkFor n $ \x -> x >= 0 ==> sqrt (x ^ 2) == (x::Float)+  checkFor n $ \x -> x >= 0 ==> sqrt x ^ 2 == (x::Float)   where   n  =  10000
+ eg/test-float.txt view
@@ -0,0 +1,19 @@+*** Failed! Falsifiable (after 65 tests):+0.33333334 1.0+*** Failed! Falsifiable (after 65 tests):+0.33333334 1.0+*** Failed! Falsifiable (after 694 tests):+1.6666666 0.33333334+*** Failed! Falsifiable (after 475 tests):+0.33333334 0.6++++ OK, passed 10000 tests.++++ OK, passed 10000 tests.++++ OK, passed 10000 tests.++++ OK, passed 10000 tests.+*** Failed! Falsifiable (after 22 tests):+0.6+*** Failed! Falsifiable (after 1 tests):+()++++ OK, passed 10000 tests.+*** Failed! Falsifiable (after 4 tests):+0.5
eg/test-list.hs view
@@ -1,7 +1,13 @@ -- test-list.hs -- example program, testing Data.List using LeanCheck ----- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE).+{-# LANGUAGE CPP #-}++#if __GLASGOW_HASKELL__ >= 908+{-# OPTIONS_GHC -Wno-x-partial #-}+#endif+ import Test.LeanCheck import Data.List 
+ eg/test-list.txt view
@@ -0,0 +1,6 @@+*** Failed! Falsifiable (after 4 tests):+[] [0,0]+*** Failed! Falsifiable (after 1 tests):+[]+*** Failed! Exception '...' (after 1 tests):+[]
eg/test-sort.hs view
@@ -1,6 +1,6 @@ -- test-sort.hs -- example program, testing sort using LeanCheck ----- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test.LeanCheck @@ -25,6 +25,6 @@  main :: IO () main  =  do-  check $ (prop_sortOrdered :: [Int] -> Bool)-  check $ (prop_sortCount :: Int -> [Int] -> Bool)+  check (prop_sortOrdered :: [Int] -> Bool)+  check (prop_sortCount :: Int -> [Int] -> Bool)   check $ \xs -> sort (sort xs :: [Int]) == sort xs
+ eg/test-sort.txt view
@@ -0,0 +1,4 @@++++ OK, passed 200 tests.+*** Failed! Falsifiable (after 4 tests):+0 [0,0]++++ OK, passed 200 tests.
etc/hugs-backports/Data/Function.hs view
@@ -1,7 +1,7 @@ -- Backport of Data.Function for Hugs 2006-09. -- Only exports `on` ----- Copyright (c) 2018-2021 Rudy Matela.+-- Copyright (c) 2018-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). module Data.Function   ( on
leancheck.cabal view
@@ -11,7 +11,7 @@ -- this cabal file too complicated.  -- Rudy  name:                leancheck-version:             1.0.0+version:             1.0.2 synopsis:            Enumerative property-based testing description:   LeanCheck is a simple enumerative property-based testing library.@@ -51,6 +51,7 @@                   , bench/memory-usage.hs                   , bench/pick.hs                   , bench/tiers.hs+                  , bench/tiers-txt/*.txt                   , bench/time-and-memory                   , eg/higher-order.hs                   , eg/overflow.hs@@ -58,6 +59,7 @@                   , eg/test-float.hs                   , eg/test-list.hs                   , eg/test-sort.hs+                  , eg/*.txt                   , etc/hugs-backports/Data/Function.hs                   , mk/All.hs                   , mk/Toplibs.hs@@ -67,10 +69,10 @@                   , mk/haskell.mk                   , mk/install-on                   , stack.yaml-                  , test/diff/*.out-                  , test/diff/eg/*.out                   , test/sdist-tested-with: GHC==9.4+tested-with: GHC==9.8+           , GHC==9.6+           , GHC==9.4            , GHC==9.2            , GHC==9.0            , GHC==8.10@@ -78,11 +80,7 @@            , GHC==8.6            , GHC==8.4            , GHC==8.2-           , GHC==8.0            , GHC==7.10-           , GHC==7.8-           , GHC==7.6-           , GHC==7.4            , Hugs==2006.9  source-repository head@@ -92,7 +90,7 @@ source-repository this   type:            git   location:        https://github.com/rudymatela/leancheck-  tag:             v1.0.0+  tag:             v1.0.2  library   exposed-modules: Test.LeanCheck
mk/ghcdeps view
@@ -2,7 +2,7 @@ # # ghcdeps: generate Haskell make dependencies for compiling with GHC. #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # From a list of files provided on standard input,
mk/haddock-i view
@@ -2,7 +2,7 @@ # # haddock-i: list haddock's -i parameters. #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # $ haddock-i <package1> <package2> ... <packageN>
mk/haskell.mk view
@@ -1,6 +1,6 @@ # Implicit rules for compiling Haskell code. #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # You can optionally configure the "Configuration variables" below in your main@@ -21,7 +21,7 @@ GHC ?= ghc GHCCMD = $(GHC) -i$(GHCIMPORTDIRS) $(GHCFLAGS) HADDOCK ?= haddock-CABAL_INSTALL = $(shell cabal --version | grep -q "version [0-2]\." && echo 'cabal install' || echo 'cabal v1-install')+CABAL_INSTALL = $(shell cabal --version | grep -q "version [0-2]\." && echo 'cabal install' || echo 'cabal install --lib')  # Hugs Parameters HUGSIMPORTDIRS ?= "/usr/lib/hugs/packages/*"@@ -90,7 +90,10 @@ 	find $(ALL_HSS) | ./mk/ghcdeps -i$(GHCIMPORTDIRS) $(GHCFLAGS) > $(DEPMK)  install-dependencies:-	$(CABAL_INSTALL) $(INSTALL_DEPS)+	if [ -n "$(INSTALL_DEPS)" ]; then \+		cabal update && \+		$(CABAL_INSTALL) $(INSTALL_DEPS); \+	fi  # haddock rules haddock: doc/index.html
mk/install-on view
@@ -2,7 +2,7 @@ # # mk/install-on: install or updates the mk folder on a Haskell project #-# Copyright (c) 2019-2021 Rudy Matela.+# Copyright (c) 2019-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # usage: ./mk/install-on path/to/project
src/Test/LeanCheck.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Basic.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} -- | -- Module      : Test.LeanCheck.Basic--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Core.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Core--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -270,7 +270,7 @@ listFractional  =  0 : positives +| negatives   where   stern  =  map (fromInteger . fusc) [1..]-  positives  =  takeWhile (>0) $ zipWith (/) stern (tail stern)+  positives  =  takeWhile (>0) $ zipWith (/) stern (drop 1 stern)   negatives  =  takeWhile (<0) $ map negate positives   fusc  =  fu 1 0  where  fu a b 0               =  b                           fu a b n  | even n     =  fu (a + b) b (n `div` 2)
src/Test/LeanCheck/Derive.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE TemplateHaskell, CPP #-} -- | -- Module      : Test.LeanCheck.Derive--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -29,7 +29,7 @@  import Language.Haskell.TH import Test.LeanCheck.Basic-import Control.Monad (unless, liftM, filterM)+import Control.Monad (unless, filterM) import Data.List (delete)  #if __GLASGOW_HASKELL__ < 706@@ -106,14 +106,13 @@ deriveListableX warnExisting cascade t  =  do   is <- t `isInstanceOf` ''Listable   if is-    then do-      unless (not warnExisting)-        (reportWarning $ "Instance Listable " ++ show t-                      ++ " already exists, skipping derivation")-      return []-    else if cascade-           then reallyDeriveListableCascading t-           else reallyDeriveListable t+  then do unless (not warnExisting) $+            reportWarning $ "Instance Listable " ++ show t+                         ++ " already exists, skipping derivation"+          return []+  else if cascade+       then reallyDeriveListableCascading t+       else reallyDeriveListable t  reallyDeriveListable :: Name -> DecsQ reallyDeriveListable t  =  do@@ -165,7 +164,7 @@ reallyDeriveListableCascading t =       return . concat   =<< mapM reallyDeriveListable-  =<< filterM (liftM not . isTypeSynonym)+  =<< filterM (fmap not . isTypeSynonym)   =<< return . (t:) . delete t   =<< t `typeConCascadingArgsThat` (`isntInstanceOf` ''Listable) @@ -175,8 +174,8 @@ typeConArgs t  =  do   is <- isTypeSynonym t   if is-  then liftM typeConTs $ typeSynonymType t-  else liftM (nubMerges . map typeConTs . concat . map snd) $ typeConstructors t+  then typeConTs `fmap` typeSynonymType t+  else (nubMerges . map typeConTs . concatMap snd) `fmap` typeConstructors t   where   typeConTs :: Type -> [Name]   typeConTs (AppT t1 t2)  =  typeConTs t1 `nubMerge` typeConTs t2@@ -192,29 +191,31 @@   typeConTs _  =  []  typeConArgsThat :: Name -> (Name -> Q Bool) -> Q [Name]-typeConArgsThat t p  =  do-  targs <- typeConArgs t-  tbs   <- mapM (\t' -> do is <- p t'; return (t',is)) targs-  return [t' | (t',p) <- tbs, p]+t `typeConArgsThat` p  =  filterM p =<< typeConArgs t  typeConCascadingArgsThat :: Name -> (Name -> Q Bool) -> Q [Name] t `typeConCascadingArgsThat` p  =  do   ts <- t `typeConArgsThat` p-  let p' t'  =  do is <- p t'; return $ t' `notElem` (t:ts) && is+  let p' t'  =  (t' `notElem` t:ts &&) `fmap` p t'   tss <- mapM (`typeConCascadingArgsThat` p') ts   return $ nubMerges (ts:tss) --- Normalizes a type by applying it to necessary type variables, making it--- accept "zero" parameters.  The normalized type is tupled with a list of--- necessary type variables.+-- |+-- Normalizes a type by applying it to necessary type variables+-- making it accept zero type parameters.+-- The normalized type is paired with a list of necessary type variables. ----- Suppose:+-- > > putStrLn $(stringE . show =<< normalizeType ''Int)+-- > (ConT ''Int, []) ----- > data DT a b c ...  =  ...+-- > > putStrLn $(stringE . show =<< normalizeType ''Maybe)+-- > (AppT (ConT ''Maybe) (VarT ''a),[VarT ''a]) ----- Then, in pseudo-TH:+-- > > putStrLn $(stringE . show =<< normalizeType ''Either)+-- > (AppT (AppT (ConT ''Either) (VarT ''a)) (VarT ''b),[VarT ''a,VarT ''b]) ----- > normalizeType [t|DT|] == Q (DT a b c ..., [a, b, c, ...])+-- > > putStrLn $(stringE . show =<< normalizeType ''[])+-- > (AppT (ConT ''[]) (VarT a),[VarT a]) normalizeType :: Name -> Q (Type, [Type]) normalizeType t  =  do   ar <- typeArity t@@ -224,10 +225,12 @@     newNames :: [String] -> Q [Name]     newNames  =  mapM newName     newVarTs :: Int -> Q [Type]-    newVarTs n  =  liftM (map VarT)-                $  newNames (take n . map (:[]) $ cycle ['a'..'z'])+    newVarTs n  =  map VarT+            `fmap` newNames (take n . map (:[]) $ cycle ['a'..'z']) --- Normalizes a type by applying it to units (`()`) while possible.+-- |+-- Normalizes a type by applying it to units to make it star-kinded.+-- (cf. 'normalizeType') -- -- > normalizeTypeUnits ''Int    === [t| Int |] -- > normalizeTypeUnits ''Maybe  === [t| Maybe () |]@@ -237,105 +240,150 @@   ar <- typeArity t   return (foldl AppT (ConT t) (replicate ar (TupleT 0))) +-- | -- Given a type name and a class name, -- returns whether the type is an instance of that class.+-- The given type must be star-kinded (@ * @)+-- and the given class double-star-kinded (@ * -> * @.+--+-- > > putStrLn $(stringE . show =<< ''Int `isInstanceOf` ''Num)+-- > True+--+-- > > putStrLn $(stringE . show =<< ''Int `isInstanceOf` ''Fractional)+-- > False isInstanceOf :: Name -> Name -> Q Bool isInstanceOf tn cl  =  do   ty <- normalizeTypeUnits tn   isInstance cl [ty] +-- |+-- The negation of 'isInstanceOf'. isntInstanceOf :: Name -> Name -> Q Bool-isntInstanceOf tn cl  =  liftM not (isInstanceOf tn cl)+isntInstanceOf tn  =  fmap not . isInstanceOf tn  -- | Given a type name, return the number of arguments taken by that type. -- Examples in partially broken TH: ----- > arity ''Int        === Q 0--- > arity ''Int->Int   === Q 0--- > arity ''Maybe      === Q 1--- > arity ''Either     === Q 2--- > arity ''Int->      === Q 1+-- > > putStrLn $(stringE . show =<< typeArity ''Int)+-- > 0 ----- This works for Data's and Newtype's and it is useful when generating--- typeclass instances.+-- > > putStrLn $(stringE . show =<< typeArity ''Maybe)+-- > 1+--+-- > > putStrLn $(stringE . show =<< typeArity ''Either)+-- > 2+--+-- > > putStrLn $(stringE . show =<< typeArity ''[])+-- > 1+--+-- > > putStrLn $(stringE . show =<< typeArity ''(,))+-- > 2+--+-- > > putStrLn $(stringE . show =<< typeArity ''(,,))+-- > 3+--+-- > > putStrLn $(stringE . show =<< typeArity ''String)+-- > 0+--+-- This works for data and newtype declarations and+-- it is useful when generating typeclass instances. typeArity :: Name -> Q Int-typeArity t  =  do-  ti <- reify t-  return . length $ case ti of+typeArity t  =  fmap arity $ reify t+  where+  arity  =  length . args #if __GLASGOW_HASKELL__ < 800-    TyConI (DataD    _ _ ks _ _) -> ks-    TyConI (NewtypeD _ _ ks _ _) -> ks+  args (TyConI (DataD    _ _ ks   _ _))  =  ks+  args (TyConI (NewtypeD _ _ ks   _ _))  =  ks #else-    TyConI (DataD    _ _ ks _ _ _) -> ks-    TyConI (NewtypeD _ _ ks _ _ _) -> ks+  args (TyConI (DataD    _ _ ks _ _ _))  =  ks+  args (TyConI (NewtypeD _ _ ks _ _ _))  =  ks #endif-    TyConI (TySynD _ ks _) -> ks-    _ -> error $ "error (typeArity): symbol " ++ show t-              ++ " is not a newtype, data or type synonym"+  args (TyConI (TySynD _ ks _))          =  ks+  args _  =  errorOn "typeArity"+          $  "neither newtype nor data nor type synonym: " ++ show t --- Given a type name, returns a list of its type constructor names paired with+-- |+-- Given a type 'Name',+-- returns a list of its type constructor 'Name's+-- paired with the type arguments they take. -- the type arguments they take. ----- > typeConstructors ''()  =  Q [('(),[])]------ > typeConstructors ''(,)  =  Q [('(,),[VarT a, VarT b])]+-- > > putStrLn $(stringE . show =<< typeConstructors ''Bool)+-- > [ ('False, [])+-- > , ('True, [])+-- > ] ----- > typeConstructors ''[]  =  Q [('[],[]),('(:),[VarT a,AppT ListT (VarT a)])]+-- > > putStrLn $(stringE . show =<< typeConstructors ''[])+-- > [ ('[], [])+-- > , ('(:), [VarT ''a, AppT ListT (VarT ''a)])+-- > ] ----- > data Pair a  =  P a a--- > typeConstructors ''Pair  =  Q [('P,[VarT a, VarT a])]+-- > > putStrLn $(stringE . show =<< typeConstructors ''(,))+-- > [('(,), [VarT (mkName "a"), VarT (mkName "b")])] ----- > data Point  =  Pt Int Int--- > typeConstructors ''Point  =  Q [('Pt,[ConT Int, ConT Int])]+-- > > data Point  =  Pt Int Int+-- > > putStrLn $(stringE . show =<< typeConstructors ''Point)+-- > [('Pt,[ConT ''Int, ConT ''Int])] typeConstructors :: Name -> Q [(Name,[Type])]-typeConstructors t  =  do-  ti <- reify t-  return . map simplify $ case ti of+typeConstructors t  =  fmap (map normalize . cons) $ reify t+  where #if __GLASGOW_HASKELL__ < 800-    TyConI (DataD    _ _ _ cs _) -> cs-    TyConI (NewtypeD _ _ _ c  _) -> [c]+  cons (TyConI (DataD    _ _ _   cs _))  =  cs+  cons (TyConI (NewtypeD _ _ _   c  _))  =  [c] #else-    TyConI (DataD    _ _ _ _ cs _) -> cs-    TyConI (NewtypeD _ _ _ _ c  _) -> [c]+  cons (TyConI (DataD    _ _ _ _ cs _))  =  cs+  cons (TyConI (NewtypeD _ _ _ _ c  _))  =  [c] #endif-    _ -> error $ "error (typeConstructors): symbol " ++ show t-              ++ " is neither newtype nor data"-  where-  simplify (NormalC n ts)   =  (n,map snd ts)-  simplify (RecC    n ts)   =  (n,map trd ts)-  simplify (InfixC  t1 n t2)  =  (n,[snd t1,snd t2])-  simplify _  =  error "typeConstructors: unexpected unhandled case"+  cons _  =  errorOn "typeConstructors"+          $  "neither newtype nor data: " ++ show t+  normalize (NormalC n ts)   =  (n,map snd ts)+  normalize (RecC    n ts)   =  (n,map trd ts)+  normalize (InfixC  t1 n t2)  =  (n,[snd t1,snd t2])+  normalize _  =  errorOn "typeConstructors"+               $  "unexpected unhandled case when called with " ++ show t   trd (x,y,z)  =  z +-- |+-- Is the given 'Name' a type synonym?+--+-- > > putStrLn $(stringE . show =<< isTypeSynonym 'show)+-- > False+--+-- > > putStrLn $(stringE . show =<< isTypeSynonym ''Char)+-- > False+--+-- > > putStrLn $(stringE . show =<< isTypeSynonym ''String)+-- > True isTypeSynonym :: Name -> Q Bool-isTypeSynonym t  =  do-  ti <- reify t-  return $ case ti of-    TyConI (TySynD _ _ _) -> True-    _                     -> False+isTypeSynonym  =  fmap is . reify+  where+  is (TyConI (TySynD _ _ _))  =  True+  is _                        =  False +-- |+-- Resolves a type synonym.+--+-- > > putStrLn $(stringE . show =<< typeSynonymType ''String)+-- > AppT ListT (ConT ''Char) typeSynonymType :: Name -> Q Type-typeSynonymType t  =  do-  ti <- reify t-  return $ case ti of-    TyConI (TySynD _ _ t') -> t'-    _ -> error $ "error (typeSynonymType): symbol " ++ show t-              ++ " is not a type synonym"+typeSynonymType t  =  fmap typ $ reify t+  where+  typ (TyConI (TySynD _ _ t'))  =  t'+  typ _  =  errorOn "typeSynonymType" $ "not a type synonym: " ++ show t  -- Append to instance contexts in a declaration. -- -- > sequence [[|Eq b|],[|Eq c|]] |=>| [t|instance Eq a => Cl (Ty a) where f=g|] -- > == [t| instance (Eq a, Eq b, Eq c) => Cl (Ty a) where f  =  g |] (|=>|) :: Cxt -> DecsQ -> DecsQ-c |=>| qds  =  do ds <- qds-                  return $ map (`ac` c) ds+c |=>| qds  =  map (=>++ c) `fmap` qds+  where #if __GLASGOW_HASKELL__ < 800-  where ac (InstanceD c ts ds) c'  =  InstanceD (c++c') ts ds-        ac d                   _   =  d+  (InstanceD   c ts ds) =>++ c'  =  InstanceD   (c++c') ts ds #else-  where ac (InstanceD o c ts ds) c'  =  InstanceD o (c++c') ts ds-        ac d                     _   =  d+  (InstanceD o c ts ds) =>++ c'  =  InstanceD o (c++c') ts ds #endif+  d                     =>++ _   =  d  -- > nubMerge xs ys == nub (merge xs ys) -- > nubMerge xs ys == nub (sort (xs ++ ys))@@ -352,23 +400,26 @@ #else -- When using Hugs or other compiler without Template Haskell -errorNotGHC :: a-errorNotGHC  =  error "Only defined when using GHC"+errorNotGHC :: String -> a+errorNotGHC fn  =  errorOn fn "only defined when using GHC"  deriveListable :: a-deriveListable  =  errorNotGHC+deriveListable  =  errorNotGHC "deriveListable"  deriveListableIfNeeded :: a-deriveListableIfNeeded  =  errorNotGHC+deriveListableIfNeeded  =  errorNotGHC "deriveListableIfNeeded"  deriveListableCascading :: a-deriveListableCascading  =  errorNotGHC+deriveListableCascading  =  errorNotGHC "deriveListableCascading"  deriveTiers :: a-deriveTiers  =  errorNotGHC+deriveTiers  =  errorNotGHC "deriveTiers"  deriveList :: a-deriveList  =  errorNotGHC+deriveList  =  errorNotGHC "deriveList"  -- closing #ifdef __GLASGOW_HASKELL__ #endif++errorOn :: String -> String -> a+errorOn fn msg  =  error $ "Test.LeanCheck.Derive." ++ fn ++ ": " ++ msg
src/Test/LeanCheck/Error.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Error--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -57,7 +57,6 @@   , results   ) -import Control.Monad (liftM) import System.IO.Unsafe (unsafePerformIO) import Data.Maybe (listToMaybe, fromMaybe) import Data.Function (on)@@ -130,14 +129,14 @@ errorToLeft :: a -> Either String a errorToLeft x  =  unsafePerformIO $ #if __GLASGOW_HASKELL__-  (Right `liftM` evaluate x) `catches`+  (Right `fmap` evaluate x) `catches`     [ Handler $ \e -> return . Left $ show1st (e :: ArithException)     , Handler $ \e -> return . Left $ show1st (e :: ArrayException)     , Handler $ \e -> return . Left $ show1st (e :: ErrorCall)     , Handler $ \e -> return . Left $ show1st (e :: PatternMatchFail)     ] #else-  (Right `liftM` evaluate x) `catch` (return . Left . show1st)+  (Right `fmap` evaluate x) `catch` (return . Left . show1st) #endif  -- | Transforms a value into 'Right' that value or 'Left String' on error.@@ -148,10 +147,10 @@ anyErrorToLeft :: a -> Either String a anyErrorToLeft x  =  unsafePerformIO $ #if __GLASGOW_HASKELL__-  (Right `liftM` evaluate x)+  (Right `fmap` evaluate x)     `catch` (\e -> return . Left $ show1st (e :: SomeException)) #else-  (Right `liftM` evaluate x) `catch` (return . Left . show1st)+  (Right `fmap` evaluate x) `catch` (return . Left . show1st) #endif  show1st :: Show a => a -> String
src/Test/LeanCheck/Function.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Eq.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.Eq--- Copyright   : (c) 2015-2021 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/List.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.List--- Copyright   : (c) 2015-2021 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Listable.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.Listable--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.ListsOfPairs--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/ListsOfPairs.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.ListsOfPairs--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Ord.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.Ord--- Copyright   : (c) 2015-2021 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Show.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.Show--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Show/EightLines.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.Show.EightLines--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/Show/FourCases.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Function.Show.FourCases--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Function/ShowFunction.hs view
@@ -1,7 +1,6 @@-{-# LANGUAGE CPP #-} -- | -- Module      : Test.LeanCheck.Function.ShowFunction--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -71,9 +70,9 @@ import System.IO (IOMode, BufferMode, SeekMode) import Foreign.C #ifndef __HUGS__-import Data.List (intercalate, sortBy)+import Data.List (intercalate, sortBy, minimumBy) #else-import Data.List (sortBy)+import Data.List (sortBy, minimumBy)  intercalate :: [a] -> [[a]] -> [a] intercalate xs xss  =  concat (intersperse xs xss)@@ -239,9 +238,9 @@               _        -> False  showValueOf :: ShowFunction a => a -> String-showValueOf x  =  case snd . head . bindings $ x of-                  Nothing -> "undefined"-                  Just x' -> x'+showValueOf x  =  case bindings x of+                  (_,Just x'):_ -> x'+                  _ -> "undefined"  -- | Given the number of patterns to show, shows a 'ShowFunction' value. --@@ -302,16 +301,16 @@ showConstant :: ShowFunction a => Int -> a -> String showConstant m f  =  "\\" ++ unwords vs ++ " -> " ++ fromMaybe "undefined" r   where-  (as,r)  =  head $ bindings f+  (as,r):_  =  bindings f   vs  =  replicate (length as) "_"  -- The first boolean parameter tells if we are showing -- the function on a single line showFunctionL :: ShowFunction a => Bool -> Int -> Int -> a -> String-showFunctionL singleLine m n f | isValue f  =  showValueOf f-showFunctionL singleLine m n f | isConstant m f  =  showConstant m f---showFunctionL singleLine m n f | canName m f  =  showName m f-showFunctionL singleLine m n f | otherwise  =  lambdaPat ++ caseExp+showFunctionL singleLine m n f+  | isValue f  =  showValueOf f+  | isConstant m f  =  showConstant m f+  | otherwise  =  lambdaPat ++ caseExp   where     lambdaPat  =  "\\" ++ unwords vs ++ " -> "     casePat  =  "case " ++ showTuple (filter (/= "_") vs) ++ " of"@@ -564,7 +563,7 @@   bs1  =  describeBindings bs0  describeBindings :: [Binding] -> [Binding]-describeBindings bs  =  head $ sortOn length $+describeBindings bs  =  minimumOn length   [ bs   , explainBindings bs   , explainBindings . concat . sortOn length $ classifyOn snd bs@@ -683,6 +682,10 @@ -- sortOn is only available on GHC > 7.8 sortOn :: Ord b => (a -> b) -> [a] -> [a] sortOn f  =  sortBy (compare `on` f)++-- likewise...+minimumOn :: Ord b => (a -> b) -> [a] -> a+minimumOn f  =  minimumBy (compare `on` f)  select :: [Bool] -> [a] -> [a] select [] _  =  []
src/Test/LeanCheck/Generic.hs view
@@ -4,7 +4,7 @@ #endif -- | -- Module      : Test.LeanCheck.Generic--- Copyright   : (c) 2018-2020 Rudy Matela+-- Copyright   : (c) 2018-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/IO.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.IO--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -22,6 +22,7 @@ #endif  import Test.LeanCheck.Core+ #ifdef __GLASGOW_HASKELL__ import Control.Exception (SomeException, catch, evaluate) #else@@ -30,6 +31,11 @@ type SomeException  =  Exception #endif +-- we redeclare void for backwards compatibility with old compilers+-- e.g.: hugs+void :: Functor f => f a -> f ()+void  =  fmap (const ())+ -- | Checks a property printing results on 'System.IO.stdout' -- -- > > check $ \xs -> sort (sort xs) == sort (xs::[Int])@@ -39,7 +45,7 @@ -- > *** Failed! Falsifiable (after 4 tests): -- > [] [0,0] check :: Testable a => a -> IO ()-check p  =  checkResult p >> return ()+check  =  void . checkResult  -- | Check a property for a given number of tests --   printing results on 'System.IO.stdout'@@ -53,7 +59,7 @@ -- > > checkFor 3 $ \p -> p == not (not p) -- > +++ OK, passed 2 tests (exhausted). checkFor :: Testable a => Int -> a -> IO ()-checkFor n p  =  checkResultFor n p >> return ()+checkFor n  =  void . checkResultFor n  -- | Check a property --   printing results on 'System.IO.stdout' and@@ -110,7 +116,8 @@ resultIO :: Testable a => Int -> a -> IO Result resultIO n  =  computeResult . resultsIO n   where-  computeResult []  =  error "resultIO: no results, empty Listable enumeration?"+  computeResult []  =  return $ OK 0  -- empty Listable enumeration+                                      -- no tests are reported as a "success"   computeResult [r]  =  r   computeResult (r:rs)  =  r >>= \r -> case r of                                        (OK _) -> computeResult rs
src/Test/LeanCheck/Stats.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} -- | -- Module      : Test.LeanCheck.Stats--- Copyright   : (c) 2017-2020 Rudy Matela+-- Copyright   : (c) 2017-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -220,7 +220,9 @@ -- > > countsOn length ["sheep", "chip", "ship", "cheap", "Mississippi"] -- > [(5,2),(4,2),(11,1)] countsOn :: Eq b => (a -> b) -> [a] -> [(b,Int)]-countsOn f  =  map (\xs -> (f $ head xs, length xs)) . classifyOn f+countsOn f  =  map (first f . headLength) . classifyOn f+  where+  first f (x,y)  =  (f x, y)  countsT :: Eq a => [[a]] -> [(a,Int,[Int])] countsT xss  =  [(x,n,map (count x) xss) | (x,n) <- counts (concat xss)]@@ -231,7 +233,8 @@ countsTOn f  =  countsT . mapT f  headLength :: [a] -> (a,Int)-headLength xs  =  (head xs, length xs)+headLength []  =  (error "Test.LeanCheck.Stats.headLength: empty list", 0)+headLength xs@(x:_)  =  (x, length xs)  unquote :: String -> String unquote ('"':s) | last s == '"'  =  init s@@ -240,8 +243,7 @@ table :: String -> [[String]] -> String table s []   =  "" table s sss  =  unlines-             .  map (removeTrailing ' ')-             .  map (intercalate s)+             .  map (removeTrailing ' ' . intercalate s)              .  transpose              .  map (normalize ' ')              .  foldr1 (zipWith (++))
src/Test/LeanCheck/Tiers.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Tiers--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -161,7 +161,7 @@  -- | Like '><', but over 3 lists of tiers. product3 :: [[a]] -> [[b]]-> [[c]] -> [[(a,b,c)]]-product3  =  product3With (\x y z -> (x,y,z))+product3  =  product3With (,,)  -- | Like 'productWith', but over 3 lists of tiers. product3With :: (a->b->c->d) -> [[a]] -> [[b]] -> [[c]] -> [[d]]@@ -191,7 +191,7 @@ -- -- > distinctPairsWith f  =  mapT (uncurry f) . distinctPairs distinctPairsWith :: (a -> a -> b) -> [[a]] -> [[b]]-distinctPairsWith f  =  concatT . choicesWith (\e -> mapT (f e))+distinctPairsWith f  =  concatT . choicesWith (mapT . f)  -- | Takes as argument tiers of element values; --   returns tiers of unordered pairs where, in enumeration order,@@ -214,7 +214,7 @@ -- -- > unorderedPairsWith f  =  mapT (uncurry f) . unorderedPairs unorderedPairsWith :: (a -> a -> b) -> [[a]] -> [[b]]-unorderedPairsWith f  =  concatT . bagChoicesWith (\e -> mapT (f e))+unorderedPairsWith f  =  concatT . bagChoicesWith (mapT . f)  -- | Takes as argument tiers of element values; --   returns tiers of unordered pairs where, in enumeration order,@@ -232,7 +232,7 @@ -- -- > unorderedDistinctPairsWith f  =  mapT (uncurry f) . unorderedDistinctPairs unorderedDistinctPairsWith :: (a -> a -> b) -> [[a]] -> [[b]]-unorderedDistinctPairsWith f  =  concatT . setChoicesWith (\e -> mapT (f e))+unorderedDistinctPairsWith f  =  concatT . setChoicesWith (mapT . f)  -- | Takes as argument tiers of element values; --   returns tiers of lists of elements.@@ -505,15 +505,15 @@ listLines []  =  "[]" listLines [s] | '\n' `notElem` s  =  "[" ++ s ++ "]" listLines ss  =  (++ "]")-              . unlines-              . zipWith beside (["[ "] ++ repeat ", ")-              $ ss+              .  unlines+              .  zipWith beside ("[ " : repeat ", ")+              $  ss   where   beside :: String -> String -> String   beside s  =  init-            . unlines-            . zipWith (++) ([s] ++ repeat (replicate (length s) ' '))-            . lines+            .  unlines+            .  zipWith (++) (s : repeat (replicate (length s) ' '))+            .  lines   -- | Shows a list, one element per line.
src/Test/LeanCheck/Utils.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Utils--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Utils/Operators.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Utils.Operators--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --
src/Test/LeanCheck/Utils/TypeBinding.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Utils.TypeBinding--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -117,7 +117,7 @@ import Test.LeanCheck.Utils.Types  undefinedOf :: String -> a-undefinedOf fn  =  error $ "Test.LeanCheck.TypeBinding." ++ fn+undefinedOf fn  =  error $ "Test.LeanCheck.Utils.undefinedOf " ++ fn  -- | Type restricted version of const -- that forces its first argument
src/Test/LeanCheck/Utils/Types.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.LeanCheck.Utils.Types--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -737,7 +737,7 @@  idx :: Integral a => (a,a) -> a -> Int idx b@(m,_) i  | irng b i   =  fromIntegral (i - m)-               | otherwise  =  error "Index out of range."+               | otherwise  =  error "Test.LeanCheck.Utils.Types.idx: index out of range"  irng :: Ord a => (a,a) -> a -> Bool irng (m,n) i  =  m <= i && i <= m@@ -942,7 +942,7 @@ -- -- > > check $ \(Space c) -> isSpace c -- > +++ OK, passed 6 tests (exhausted).-data Space  =  Space {unSpace :: Char}+newtype Space  =  Space {unSpace :: Char}  -- | Lowercase characters. --@@ -950,7 +950,7 @@ -- -- > > check $ \(Lower c) -> isLower c -- > +++ OK, passed 26 tests (exhausted).-data Lower  =  Lower {unLower :: Char}+newtype Lower  =  Lower {unLower :: Char}  -- | Uppercase characters. --@@ -958,7 +958,7 @@ -- -- > > check $ \(Upper c) -> isUpper c -- > +++ OK, passed 26 tests (exhausted).-data Upper  =  Upper {unUpper :: Char}+newtype Upper  =  Upper {unUpper :: Char}  -- | Alphabetic characters. --@@ -968,7 +968,7 @@ -- > +++ OK, passed 52 tests (exhausted). -- -- Equivalent to 'Letter'.-data Alpha  =  Alpha {unAlpha :: Char}+newtype Alpha  =  Alpha {unAlpha :: Char}  -- | Digits. --@@ -976,7 +976,7 @@ -- -- > > check $ \(Digit c) -> isDigit c -- > +++ OK, passed 10 tests (exhausted).-data Digit  =  Digit {unDigit :: Char}+newtype Digit  =  Digit {unDigit :: Char}  -- | Alphanumeric characters. --@@ -984,7 +984,7 @@ -- -- > > check $ \(AlphaNum c) -> isAlphaNum c -- > +++ OK, passed 62 tests (exhausted).-data AlphaNum  =  AlphaNum {unAlphaNum :: Char}+newtype AlphaNum  =  AlphaNum {unAlphaNum :: Char}  -- | Alphabetic characters. --@@ -994,7 +994,7 @@ -- > +++ OK, passed 52 tests (exhausted). -- -- Equivalent to 'Alpha'.-data Letter    =  Letter   {unLetter   :: Char}+newtype Letter    =  Letter   {unLetter   :: Char}  instance Show Space where  show  =  show . unSpace instance Show Lower where  show  =  show . unLower@@ -1026,25 +1026,25 @@   list  =  map Letter $ ['a'..'z'] +| ['A'..'Z']  -- | Strings of spaces.-data Spaces  =  Spaces {unSpaces :: String}+newtype Spaces  =  Spaces {unSpaces :: String}  -- | Strings of lowercase characters.-data Lowers  =  Lowers {unLowers :: String}+newtype Lowers  =  Lowers {unLowers :: String}  -- | Strings of uppercase characters-data Uppers  =  Uppers {unUppers :: String}+newtype Uppers  =  Uppers {unUppers :: String}  -- | Strings of alphabetic characters-data Alphas  =  Alphas {unAlphas :: String}+newtype Alphas  =  Alphas {unAlphas :: String}  -- | Strings of digits.-data Digits  =  Digits {unDigits :: String}+newtype Digits  =  Digits {unDigits :: String}  -- | Strings of alphanumeric characters-data AlphaNums  =  AlphaNums {unAlphaNums :: String}+newtype AlphaNums  =  AlphaNums {unAlphaNums :: String}  -- | Strings of letters-data Letters    =  Letters   {unLetters   :: String}+newtype Letters    =  Letters   {unLetters   :: String}  instance Show Spaces where  show  =  show . unSpaces instance Show Lowers where  show  =  show . unLowers
test/Test.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test--- Copyright   : (c) 2015-2020 Rudy Matela+-- Copyright   : (c) 2015-2024 Rudy Matela -- License     : 3-Clause BSD  (see the file LICENSE) -- Maintainer  : Rudy Matela <rudy@matela.com.br> --@@ -11,6 +11,8 @@ module Test   ( module Test.LeanCheck +  , mainTest+  , reportTests   , getMaxTestsFromArgs    , tNatPairOrd@@ -37,21 +39,29 @@ import Test.LeanCheck import Data.List import Data.Ord-import Data.Maybe-import System.Environment+import System.Exit (exitFailure)+import System.Environment (getArgs, getProgName) import Test.LeanCheck.Utils.Types (Nat(..)) -readMaybe :: Read a => String -> Maybe a-readMaybe s  =  case readsPrec 0 s of-                [(x,"")] -> Just x-                _ -> Nothing+reportTests :: String -> [Bool] -> IO ()+reportTests s tests = do+  case elemIndices False tests of+    [] -> putStrLn $ s ++ ": tests passed"+    is -> do putStrLn (s ++ ": failed tests: " ++ show is)+             exitFailure  getMaxTestsFromArgs :: Int -> IO Int getMaxTestsFromArgs n  =  do   as <- getArgs   return $ case as of-           (s:_) -> fromMaybe n $ readMaybe s+           (s:_) -> read s            _     -> n++mainTest :: (Int -> [Bool]) -> Int -> IO ()+mainTest tests n' = do+  pn <- getProgName+  n <- getMaxTestsFromArgs n'+  reportTests pn (tests n)  -- | check if a list is ordered ordered :: Ord a => [a] -> Bool
test/derive.hs view
@@ -1,15 +1,14 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# LANGUAGE TemplateHaskell, CPP #-} import Test -- import Test.LeanCheck -- already exported by Test import Test.LeanCheck.Derive-import System.Exit (exitFailure)-import Data.List (elemIndices,sort) import Test.LeanCheck.Utils+import Data.List (sort)  data D0        =  D0                     deriving Show-data D1 a      =  D1 a                   deriving Show+newtype D1 a   =  D1 a                   deriving Show data D2 a b    =  D2 a b                 deriving Show data D3 a b c  =  D3 a b c               deriving Show data C1 a      =            C11 a | C10  deriving Show@@ -37,8 +36,8 @@  -- Nested datatype cascade data Nested  =  Nested N0 (N1 Int) (N2 Int Int)-data N0      =  R0 Int-data N1 a    =  R1 a+newtype N0   =  R0 Int+newtype N1 a =  R1 a data N2 a b  =  R2 a b deriveListableCascading ''Nested @@ -75,12 +74,7 @@ deriveListableIfNeeded ''Either  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n  =
− test/diff/eg/higher-order.out
@@ -1,19 +0,0 @@-*** Failed! Falsifiable (after 75 tests):-\x _ -> case x of-        0 -> 1-        _ -> 0-0-[0,0]--+++ OK, passed 200 tests.-*** Failed! Falsifiable (after 36 tests):-\_ -> 0-\x -> case x of-      0 -> True-      _ -> False-[1]--*** Failed! Falsifiable (after 1 tests):-(\_ -> 0) (\_ -> 0)-*** Failed! Falsifiable (after 1 tests):-(\_ -> 0) (0,0)
− test/diff/eg/overflow.out
@@ -1,2 +0,0 @@-*** Failed! Falsifiable (after 8792 tests):-(T [] [] [] [-1] [-32768])
− test/diff/eg/test-bool.out
@@ -1,25 +0,0 @@-not . not === id-+++ OK, passed 2 tests (exhausted).-(&&) commutes-+++ OK, passed 4 tests (exhausted).-(||) commutes-+++ OK, passed 4 tests (exhausted).--All boolean operators are commutative (wrong).-*** Failed! Falsifiable (after 10 tests):-\x y -> case (x,y) of-        (True,False) -> True-        _ -> False-False-True---All boolean operators are associative (wrong).-*** Failed! Falsifiable (after 22 tests):-\x y -> case (x,y) of-        (True,False) -> True-        _ -> False-True-False-True-
− test/diff/eg/test-float.out
@@ -1,19 +0,0 @@-*** Failed! Falsifiable (after 65 tests):-0.33333334 1.0-*** Failed! Falsifiable (after 65 tests):-0.33333334 1.0-*** Failed! Falsifiable (after 694 tests):-1.6666666 0.33333334-*** Failed! Falsifiable (after 475 tests):-0.33333334 0.6-+++ OK, passed 10000 tests.-+++ OK, passed 10000 tests.-+++ OK, passed 10000 tests.-+++ OK, passed 10000 tests.-*** Failed! Falsifiable (after 22 tests):-0.6-*** Failed! Falsifiable (after 1 tests):-()-+++ OK, passed 10000 tests.-*** Failed! Falsifiable (after 4 tests):-0.5
− test/diff/eg/test-list.out
@@ -1,6 +0,0 @@-*** Failed! Falsifiable (after 4 tests):-[] [0,0]-*** Failed! Falsifiable (after 1 tests):-[]-*** Failed! Exception '...' (after 1 tests):-[]
− test/diff/eg/test-sort.out
@@ -1,4 +0,0 @@-+++ OK, passed 200 tests.-*** Failed! Falsifiable (after 4 tests):-0 [0,0]-+++ OK, passed 200 tests.
− test/diff/tiers-4cases-Bool-Bool-Bool-Bool.out
@@ -1,267 +0,0 @@-map length (tiers :: [[ Bool->Bool->Bool->Bool ]])  =  [256]--length (list :: [ Bool->Bool->Bool->Bool ])  =  Infinity--allUnique (list :: [ Bool->Bool->Bool->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Bool->Bool->Bool ])  =  0 % 1--tiers :: [Bool->Bool->Bool->Bool]  =-  [ [ \_ _ _ -> False-    , \x y z -> case (x,y,z) of (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,True,False) -> True; _ -> False-    , \x y _ -> case (x,y) of (True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,True) -> True; _ -> False-    , \x _ z -> case (x,z) of (True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,_) -> False; (_,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,False) -> True; (True,True,True) -> True; _ -> False-    , \x _ z -> case (x,z) of (True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,_,False) -> True; (True,True,_) -> True; _ -> False-    , \x y _ -> case (x,y) of (True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,_) -> True; (True,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,_) -> True; (True,_,False) -> True; _ -> False-    , \x _ _ -> case x of False -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> True; _ -> False-    , \_ y z -> case (y,z) of (True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,True,True) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,True,True) -> True; _ -> False-    , \_ y z -> case (y,z) of (True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,True,False) -> True; (True,True,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,True,False) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (False,_,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (_,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (_,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,_) -> True; (_,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,_) -> True; (_,True,False) -> True; _ -> False-    , \_ y _ -> case y of False -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,_) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (True,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,_) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,_) -> True; (_,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (False,False) -> False; (True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> False; (True,True,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,_) -> True; _ -> False-    , \_ y z -> case (y,z) of (False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,True) -> True; (True,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (False,True,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,False,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (_,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (_,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; _ -> True-    , \x _ z -> case (x,z) of (False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,True) -> True; (_,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (True,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,True) -> True; (_,False,True) -> True; _ -> False-    , \_ _ z -> case z of False -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,True) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,False,True) -> False; (_,True,False) -> False; _ -> True-    , \x _ z -> case (x,z) of (False,False) -> False; (True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,_,_) -> True; (_,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,True,True) -> False; _ -> True-    , \x _ z -> case (x,z) of (False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (_,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; (True,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,True) -> True; (False,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; (True,_,False) -> False; _ -> True-    , \_ y z -> case (y,z) of (False,False) -> False; (True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; (True,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,False,True) -> True; (False,True,False) -> True; (False,True,True) -> False; ...-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,False,_) -> True; (_,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (_,False,_) -> True; (False,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (_,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,_,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; (True,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; (True,_,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,_,_) -> True; (_,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,True,True) -> False; _ -> True-    , \_ y z -> case (y,z) of (False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,_,_) -> True; (_,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,False,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,_,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,False,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,_,_) -> False; (_,False,False) -> False; _ -> True-    , \_ y z -> case (y,z) of (False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,_,_) -> False; (_,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; (True,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; (True,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,_,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (_,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (_,False,_) -> False; (False,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,False,_) -> False; (_,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,False,True) -> False; (False,True,False) -> False; (False,True,True) -> True; ...-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; _ -> False-    , \_ y z -> case (y,z) of (False,False) -> True; (True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; (True,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,True) -> False; (False,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; (True,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (_,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; _ -> True-    , \x _ z -> case (x,z) of (False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,_,_) -> False; (_,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,False,True) -> True; _ -> False-    , \x _ z -> case (x,z) of (False,False) -> True; (True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,False,True) -> True; (_,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,True) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (True,True,True) -> True; _ -> False-    , \_ _ z -> case z of False -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,True) -> False; (_,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (True,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,True) -> False; (_,True,True) -> False; _ -> True-    , \x _ z -> case (x,z) of (False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (_,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (_,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (True,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,False,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (False,True,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,False,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,False,True) -> False; (True,_,True) -> False; _ -> True-    , \_ y z -> case (y,z) of (False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (True,True,False) -> True; _ -> False-    , \x y _ -> case (x,y) of (False,False) -> True; (True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,_) -> False; (_,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,_) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (True,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,_) -> False; (True,False,True) -> False; _ -> True-    , \_ y _ -> case y of False -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,_) -> False; (_,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,_) -> False; (_,True,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (_,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (True,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (_,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (False,_,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (_,True,False) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,_,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,True,False) -> False; (True,True,_) -> False; _ -> True-    , \_ y z -> case (y,z) of (True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (True,True,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,True,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,_) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,False,True) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (_,True,True) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,True) -> False; (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,_,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,_) -> True; _ -> False-    , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,True,False) -> False; _ -> True-    , \_ y z -> case (y,z) of (True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,True,True) -> False; _ -> True-    , \x _ _ -> case x of False -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,_) -> False; (True,_,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,False,_) -> False; (True,_,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,_,False) -> False; (True,True,_) -> False; _ -> True-    , \x _ z -> case (x,z) of (True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,False,False) -> False; (True,True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,False,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (False,_,_) -> True; (_,False,False) -> True; _ -> False-    , \x y z -> case (x,y,z) of (True,False,True) -> False; (True,True,False) -> False; _ -> True-    , \x _ z -> case (x,z) of (True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,False,True) -> False; _ -> True-    , \x y _ -> case (x,y) of (True,True) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,True,False) -> False; _ -> True-    , \x y z -> case (x,y,z) of (True,True,True) -> False; _ -> True-    , \_ _ _ -> True-    ]-  ]
− test/diff/tiers-4cases-Bool-Bool-Bool.out
@@ -1,27 +0,0 @@-map length (tiers :: [[ Bool->Bool->Bool ]])  =  [16]--length (list :: [ Bool->Bool->Bool ])  =  Infinity--allUnique (list :: [ Bool->Bool->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Bool->Bool ])  =  0 % 1--tiers :: [Bool->Bool->Bool]  =-  [ [ \_ _ -> False-    , \x y -> case (x,y) of (True,True) -> True; _ -> False-    , \x y -> case (x,y) of (True,False) -> True; _ -> False-    , \x _ -> case x of False -> False; _ -> True-    , \x y -> case (x,y) of (False,True) -> True; _ -> False-    , \_ y -> case y of False -> False; _ -> True-    , \x y -> case (x,y) of (False,False) -> False; (True,True) -> False; _ -> True-    , \x y -> case (x,y) of (False,False) -> False; _ -> True-    , \x y -> case (x,y) of (False,False) -> True; _ -> False-    , \x y -> case (x,y) of (False,False) -> True; (True,True) -> True; _ -> False-    , \_ y -> case y of False -> True; _ -> False-    , \x y -> case (x,y) of (False,True) -> False; _ -> True-    , \x _ -> case x of False -> True; _ -> False-    , \x y -> case (x,y) of (True,False) -> False; _ -> True-    , \x y -> case (x,y) of (True,True) -> False; _ -> True-    , \_ _ -> True-    ]-  ]
− test/diff/tiers-4cases-Bool-Bool.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ Bool->Bool ]])  =  [4]--length (list :: [ Bool->Bool ])  =  4--allUnique (list :: [ Bool->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Bool ])  =  0 % 1--tiers :: [Bool->Bool]  =-  [ [ \_ -> False-    , \x -> case x of False -> False; True -> True-    , \x -> case x of False -> True; True -> False-    , \_ -> True-    ]-  ]
− test/diff/tiers-4cases-Bool-Int-Bool.out
@@ -1,157 +0,0 @@-map length (tiers :: [[ Bool->Int->Bool ]])  =  [4,8,12,24,36,56,...]--length (list :: [ Bool->Int->Bool ])  =  Infinity--allUnique (list :: [ Bool->Int->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Int->Bool ])  =  0 % 1--tiers :: [Bool->Int->Bool]  =-  [ [ \_ _ -> False-    , \x _ -> case x of False -> False; _ -> True-    , \x _ -> case x of False -> True; _ -> False-    , \_ _ -> True-    ]-  , [ \x y -> case (x,y) of (True,0) -> True; _ -> False-    , \x y -> case (x,y) of (False,_) -> False; (_,0) -> False; _ -> True-    , \x y -> case (x,y) of (False,_) -> True; (_,0) -> True; _ -> False-    , \x y -> case (x,y) of (True,0) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; _ -> False-    , \x y -> case (x,y) of (_,0) -> True; (False,_) -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> False; (False,_) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (True,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,_) -> False; (_,0) -> True; (_,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,_) -> True; (_,0) -> False; (_,1) -> True; _ -> False-    , \x y -> case (x,y) of (True,1) -> False; _ -> True-    , \_ y -> case y of 0 -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (_,0) -> False; (False,_) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> False; (_,0) -> True; (False,_) -> True; _ -> False-    , \_ y -> case y of 0 -> False; _ -> True-    , \x y -> case (x,y) of (False,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,1) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (True,0) -> True; (True,1) -> True; _ -> False-    , \x y -> case (x,y) of (True,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,_) -> False; (_,0) -> False; (_,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,_) -> True; (_,0) -> True; (_,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,0) -> False; (True,1) -> False; _ -> True-    , \x y -> case (x,y) of (True,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,1) -> True; _ -> False-    , \x y -> case (x,y) of (_,0) -> True; (False,_) -> False; (_,1) -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> False; (False,_) -> True; (_,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,1) -> False; _ -> True-    , \x y -> case (x,y) of (True,0) -> True; (False,1) -> True; _ -> False-    , \x y -> case (x,y) of (_,0) -> False; (_,1) -> True; (False,_) -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> True; (_,1) -> False; (False,_) -> True; _ -> False-    , \x y -> case (x,y) of (True,0) -> False; (False,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (False,1) -> True; _ -> False-    , \x y -> case (x,y) of (_,0) -> True; (_,1) -> True; (False,_) -> False; _ -> True-    , \x y -> case (x,y) of (False,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (_,0) -> False; (_,1) -> False; (False,_) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (False,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,-1) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (True,0) -> True; (True,-1) -> True; _ -> False-    , \x y -> case (x,y) of (True,2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,0) -> False; (True,-1) -> False; _ -> True-    , \x y -> case (x,y) of (True,2) -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> True; (True,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (_,0) -> False; (True,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> False; (True,-1) -> False; _ -> True-    , \_ y -> case y of 1 -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \_ y -> case y of 1 -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> True; (False,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (True,0) -> True; (False,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (_,0) -> False; (False,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,0) -> False; (False,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (False,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> False; (False,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,2) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (True,0) -> True; (True,2) -> True; _ -> False-    , \x y -> case (x,y) of (True,1) -> True; (True,-1) -> True; _ -> False-    , \x y -> case (x,y) of (True,-2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,0) -> False; (True,2) -> False; _ -> True-    , \x y -> case (x,y) of (True,1) -> False; (True,-1) -> False; _ -> True-    , \x y -> case (x,y) of (True,-2) -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> True; (True,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (_,0) -> False; (True,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> False; (True,2) -> False; _ -> True-    , \x y -> case (x,y) of (True,0) -> True; (_,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,1) -> True; (True,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,0) -> False; (_,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,1) -> False; (True,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (_,1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,1) -> True; (False,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (_,1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (True,1) -> False; (False,-1) -> False; _ -> True-    , \x y -> case (x,y) of (_,0) -> True; (False,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (True,0) -> True; (False,2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (_,0) -> False; (False,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (True,0) -> False; (False,2) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (False,2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,1) -> True; (False,-1) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,-2) -> True; _ -> False-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...-    , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,0) -> False; (False,2) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,1) -> False; (False,-1) -> False; _ -> True-    , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...-    , \x y -> case (x,y) of (False,-2) -> False; _ -> True-    ]-  , ...-  ]
− test/diff/tiers-4cases-Bool-MBool.out
@@ -1,21 +0,0 @@-map length (tiers :: [[ Bool->Maybe Bool ]])  =  [1,4,4]--length (list :: [ Bool->Maybe Bool ])  =  9--allUnique (list :: [ Bool->Maybe Bool ])  =  True--ratioRepetitions (list :: [ Bool->Maybe Bool ])  =  0 % 1--tiers :: [Bool->Maybe Bool]  =-  [ [\_ -> Nothing]-  , [ \x -> case x of False -> Nothing; True -> Just False-    , \x -> case x of False -> Nothing; True -> Just True-    , \x -> case x of False -> Just False; True -> Nothing-    , \x -> case x of False -> Just True; True -> Nothing-    ]-  , [ \_ -> Just False-    , \x -> case x of False -> Just False; True -> Just True-    , \x -> case x of False -> Just True; True -> Just False-    , \_ -> Just True-    ]-  ]
− test/diff/tiers-4cases-Bool-U.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Bool->() ]])  =  [1]--length (list :: [ Bool->() ])  =  1--allUnique (list :: [ Bool->() ])  =  True--ratioRepetitions (list :: [ Bool->() ])  =  0 % 1--tiers :: [Bool->()]  =-  [[\_ -> ()]]
− test/diff/tiers-4cases-Bools-Bools.out
@@ -1,140 +0,0 @@-map length (tiers :: [[ [Bool]->[Bool] ]])  =  [1,2,8,26,88,...]--length (list :: [ [Bool]->[Bool] ])  =  Infinity--allUnique (list :: [ [Bool]->[Bool] ])  =  True--ratioRepetitions (list :: [ [Bool]->[Bool] ])  =  0 % 1--tiers :: [[Bool]->[Bool]]  =-  [ [\_ -> []]-  , [ \_ -> [False]-    , \_ -> [True]-    ]-  , [ \x -> case x of [] -> [False]; _ -> []-    , \x -> case x of [] -> [True]; _ -> []-    , \x -> case x of [] -> []; _ -> [False]-    , \x -> case x of [] -> []; _ -> [True]-    , \_ -> [False,False]-    , \_ -> [False,True]-    , \_ -> [True,False]-    , \_ -> [True,True]-    ]-  , [ \x -> case x of [] -> [False,False]; _ -> []-    , \x -> case x of [] -> [False,True]; _ -> []-    , \x -> case x of [] -> [True,False]; _ -> []-    , \x -> case x of [] -> [True,True]; _ -> []-    , \x -> case x of [False] -> [False]; _ -> []-    , \x -> case x of [False] -> [True]; _ -> []-    , \x -> case x of [True] -> [False]; _ -> []-    , \x -> case x of [True] -> [True]; _ -> []-    , \x -> case x of [] -> [True]; _ -> [False]-    , \x -> case x of [False] -> []; _ -> [False]-    , \x -> case x of [True] -> []; _ -> [False]-    , \x -> case x of [] -> [False]; _ -> [True]-    , \x -> case x of [False] -> []; _ -> [True]-    , \x -> case x of [True] -> []; _ -> [True]-    , \x -> case x of [] -> []; _ -> [False,False]-    , \x -> case x of [] -> []; _ -> [False,True]-    , \x -> case x of [] -> []; _ -> [True,False]-    , \x -> case x of [] -> []; _ -> [True,True]-    , \_ -> [False,False,False]-    , \_ -> [False,False,True]-    , \_ -> [False,True,False]-    , \_ -> [False,True,True]-    , \_ -> [True,False,False]-    , \_ -> [True,False,True]-    , \_ -> [True,True,False]-    , \_ -> [True,True,True]-    ]-  , [ \x -> case x of [] -> [False,False,False]; _ -> []-    , \x -> case x of [] -> [False,False,True]; _ -> []-    , \x -> case x of [] -> [False,True,False]; _ -> []-    , \x -> case x of [] -> [False,True,True]; _ -> []-    , \x -> case x of [] -> [True,False,False]; _ -> []-    , \x -> case x of [] -> [True,False,True]; _ -> []-    , \x -> case x of [] -> [True,True,False]; _ -> []-    , \x -> case x of [] -> [True,True,True]; _ -> []-    , \x -> case x of [False] -> [False,False]; _ -> []-    , \x -> case x of [False] -> [False,True]; _ -> []-    , \x -> case x of [False] -> [True,False]; _ -> []-    , \x -> case x of [False] -> [True,True]; _ -> []-    , \x -> case x of [True] -> [False,False]; _ -> []-    , \x -> case x of [True] -> [False,True]; _ -> []-    , \x -> case x of [True] -> [True,False]; _ -> []-    , \x -> case x of [True] -> [True,True]; _ -> []-    , \x -> case x of [False,False] -> [False]; _ -> []-    , \x -> case x of [False,False] -> [True]; _ -> []-    , \x -> case x of [False,True] -> [False]; _ -> []-    , \x -> case x of [False,True] -> [True]; _ -> []-    , \x -> case x of [True,False] -> [False]; _ -> []-    , \x -> case x of [True,False] -> [True]; _ -> []-    , \x -> case x of [True,True] -> [False]; _ -> []-    , \x -> case x of [True,True] -> [True]; _ -> []-    , \x -> case x of [] -> [False,False]; _ -> [False]-    , \x -> case x of [] -> [False,True]; _ -> [False]-    , \x -> case x of [] -> [True,False]; _ -> [False]-    , \x -> case x of [] -> [True,True]; _ -> [False]-    , \x -> case x of [False] -> [True]; _ -> [False]-    , \x -> case x of [True] -> [True]; _ -> [False]-    , \x -> case x of [] -> []; [False] -> []; _ -> [False]-    , \x -> case x of [] -> []; [True] -> []; _ -> [False]-    , \x -> case x of [False,False] -> []; _ -> [False]-    , \x -> case x of [False,True] -> []; _ -> [False]-    , \x -> case x of [True,False] -> []; _ -> [False]-    , \x -> case x of [True,True] -> []; _ -> [False]-    , \x -> case x of [] -> [False,False]; _ -> [True]-    , \x -> case x of [] -> [False,True]; _ -> [True]-    , \x -> case x of [] -> [True,False]; _ -> [True]-    , \x -> case x of [] -> [True,True]; _ -> [True]-    , \x -> case x of [False] -> [False]; _ -> [True]-    , \x -> case x of [True] -> [False]; _ -> [True]-    , \x -> case x of [] -> []; [False] -> []; _ -> [True]-    , \x -> case x of [] -> []; [True] -> []; _ -> [True]-    , \x -> case x of [False,False] -> []; _ -> [True]-    , \x -> case x of [False,True] -> []; _ -> [True]-    , \x -> case x of [True,False] -> []; _ -> [True]-    , \x -> case x of [True,True] -> []; _ -> [True]-    , \x -> case x of [] -> [False]; _ -> [False,False]-    , \x -> case x of [] -> [True]; _ -> [False,False]-    , \x -> case x of [False] -> []; _ -> [False,False]-    , \x -> case x of [True] -> []; _ -> [False,False]-    , \x -> case x of [] -> [False]; _ -> [False,True]-    , \x -> case x of [] -> [True]; _ -> [False,True]-    , \x -> case x of [False] -> []; _ -> [False,True]-    , \x -> case x of [True] -> []; _ -> [False,True]-    , \x -> case x of [] -> [False]; _ -> [True,False]-    , \x -> case x of [] -> [True]; _ -> [True,False]-    , \x -> case x of [False] -> []; _ -> [True,False]-    , \x -> case x of [True] -> []; _ -> [True,False]-    , \x -> case x of [] -> [False]; _ -> [True,True]-    , \x -> case x of [] -> [True]; _ -> [True,True]-    , \x -> case x of [False] -> []; _ -> [True,True]-    , \x -> case x of [True] -> []; _ -> [True,True]-    , \x -> case x of [] -> []; _ -> [False,False,False]-    , \x -> case x of [] -> []; _ -> [False,False,True]-    , \x -> case x of [] -> []; _ -> [False,True,False]-    , \x -> case x of [] -> []; _ -> [False,True,True]-    , \x -> case x of [] -> []; _ -> [True,False,False]-    , \x -> case x of [] -> []; _ -> [True,False,True]-    , \x -> case x of [] -> []; _ -> [True,True,False]-    , \x -> case x of [] -> []; _ -> [True,True,True]-    , \_ -> [False,False,False,False]-    , \_ -> [False,False,False,True]-    , \_ -> [False,False,True,False]-    , \_ -> [False,False,True,True]-    , \_ -> [False,True,False,False]-    , \_ -> [False,True,False,True]-    , \_ -> [False,True,True,False]-    , \_ -> [False,True,True,True]-    , \_ -> [True,False,False,False]-    , \_ -> [True,False,False,True]-    , \_ -> [True,False,True,False]-    , \_ -> [True,False,True,True]-    , \_ -> [True,True,False,False]-    , \_ -> [True,True,False,True]-    , \_ -> [True,True,True,False]-    , \_ -> [True,True,True,True]-    ]-  , ...-  ]
− test/diff/tiers-4cases-Int-Bool-Bool.out
@@ -1,225 +0,0 @@-map length (tiers :: [[ Int->Bool->Bool ]])  =  [4,12,12,48,48,84,...]--length (list :: [ Int->Bool->Bool ])  =  Infinity--allUnique (list :: [ Int->Bool->Bool ])  =  True--ratioRepetitions (list :: [ Int->Bool->Bool ])  =  0 % 1--tiers :: [Int->Bool->Bool]  =-  [ [ \_ _ -> False-    , \_ y -> case y of False -> False; _ -> True-    , \_ y -> case y of False -> True; _ -> False-    , \_ _ -> True-    ]-  , [ \x y -> case (x,y) of (0,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; _ -> False-    , \x _ -> case x of 0 -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> False; (_,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> True; (0,_) -> False; (_,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> True; (_,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (_,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> False; (0,_) -> True; (_,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (_,False) -> True; _ -> False-    , \x _ -> case x of 0 -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (1,True) -> True; _ -> False-    , \x y -> case (x,y) of (1,False) -> True; _ -> False-    , \x _ -> case x of 1 -> True; _ -> False-    , \x y -> case (x,y) of (_,False) -> False; (0,_) -> True; (1,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (_,False) -> True; (0,_) -> False; (1,_) -> True; _ -> False-    , \x _ -> case x of 1 -> False; _ -> True-    , \x y -> case (x,y) of (1,False) -> False; _ -> True-    , \x y -> case (x,y) of (1,True) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (0,True) -> True; (1,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,True) -> True; (1,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,True) -> True; (1,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (1,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (1,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (1,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (1,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (1,False) -> True; _ -> False-    , \x _ -> case x of 0 -> True; 1 -> True; _ -> False-    , \x y -> case (x,y) of (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (-1,False) -> True; _ -> False-    , \x _ -> case x of -1 -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> False; (_,False) -> False; (1,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,_) -> False; (1,_) -> True; (_,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,_) -> True; (1,_) -> False; (_,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,_) -> True; (1,_) -> True; (_,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,_) -> False; (1,_) -> False; (_,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,_) -> False; (1,_) -> True; (_,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,_) -> True; (1,_) -> False; (_,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,_) -> True; (_,False) -> True; (1,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x _ -> case x of 0 -> False; 1 -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (1,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (1,True) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (1,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (1,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (1,True) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (1,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (1,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (1,True) -> False; _ -> True-    , \x _ -> case x of -1 -> False; _ -> True-    , \x y -> case (x,y) of (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (-1,True) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (0,True) -> True; (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,True) -> True; (-1,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,True) -> True; (-1,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (-1,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (-1,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (-1,False) -> True; _ -> False-    , \x _ -> case x of 0 -> True; -1 -> True; _ -> False-    , \x y -> case (x,y) of (2,True) -> True; _ -> False-    , \x y -> case (x,y) of (2,False) -> True; _ -> False-    , \x _ -> case x of 2 -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x _ -> case x of 0 -> False; -1 -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (-1,True) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (-1,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (-1,True) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (-1,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (-1,True) -> False; _ -> True-    , \x _ -> case x of 2 -> False; _ -> True-    , \x y -> case (x,y) of (2,False) -> False; _ -> True-    , \x y -> case (x,y) of (2,True) -> False; _ -> True-    ]-  , [ \x y -> case (x,y) of (0,True) -> True; (2,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,True) -> True; (2,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,True) -> True; (2,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (2,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (2,False) -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> True; (2,_) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (2,True) -> True; _ -> False-    , \x y -> case (x,y) of (0,_) -> True; (2,False) -> True; _ -> False-    , \x _ -> case x of 0 -> True; 2 -> True; _ -> False-    , \x y -> case (x,y) of (1,True) -> True; (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (1,True) -> True; (-1,False) -> True; _ -> False-    , \x y -> case (x,y) of (1,True) -> True; (-1,_) -> True; _ -> False-    , \x y -> case (x,y) of (1,False) -> True; (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (1,False) -> True; (-1,False) -> True; _ -> False-    , \x y -> case (x,y) of (1,False) -> True; (-1,_) -> True; _ -> False-    , \x y -> case (x,y) of (1,_) -> True; (-1,True) -> True; _ -> False-    , \x y -> case (x,y) of (1,_) -> True; (-1,False) -> True; _ -> False-    , \x _ -> case x of 1 -> True; -1 -> True; _ -> False-    , \x y -> case (x,y) of (-2,True) -> True; _ -> False-    , \x y -> case (x,y) of (-2,False) -> True; _ -> False-    , \x _ -> case x of -2 -> True; _ -> False-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...-    , \x _ -> case x of 0 -> False; 2 -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (2,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,_) -> False; (2,True) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (2,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (2,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,False) -> False; (2,True) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (2,_) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (2,False) -> False; _ -> True-    , \x y -> case (x,y) of (0,True) -> False; (2,True) -> False; _ -> True-    , \x _ -> case x of 1 -> False; -1 -> False; _ -> True-    , \x y -> case (x,y) of (1,_) -> False; (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (1,_) -> False; (-1,True) -> False; _ -> True-    , \x y -> case (x,y) of (1,False) -> False; (-1,_) -> False; _ -> True-    , \x y -> case (x,y) of (1,False) -> False; (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (1,False) -> False; (-1,True) -> False; _ -> True-    , \x y -> case (x,y) of (1,True) -> False; (-1,_) -> False; _ -> True-    , \x y -> case (x,y) of (1,True) -> False; (-1,False) -> False; _ -> True-    , \x y -> case (x,y) of (1,True) -> False; (-1,True) -> False; _ -> True-    , \x _ -> case x of -2 -> False; _ -> True-    , \x y -> case (x,y) of (-2,False) -> False; _ -> True-    , \x y -> case (x,y) of (-2,True) -> False; _ -> True-    ]-  , ...-  ]
− test/diff/tiers-4cases-Int-Int-Int-Int.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ Int->Int->Int->Int ]])  =  [1,1,7,25,...]--length (list :: [ Int->Int->Int->Int ])  =  Infinity--allUnique (list :: [ Int->Int->Int->Int ])  =  True--ratioRepetitions (list :: [ Int->Int->Int->Int ])  =  0 % 1--tiers :: [Int->Int->Int->Int]  =-  [ [\_ _ _ -> 0]-  , [\_ _ _ -> 1]-  , [ \x _ _ -> case x of 0 -> 1; _ -> 0-    , \x _ _ -> case x of 0 -> 0; _ -> 1-    , \_ y _ -> case y of 0 -> 1; _ -> 0-    , \_ y _ -> case y of 0 -> 0; _ -> 1-    , \_ _ z -> case z of 0 -> 1; _ -> 0-    , \_ _ z -> case z of 0 -> 0; _ -> 1-    , \_ _ _ -> -1-    ]-  , [ \x y _ -> case (x,y) of (0,0) -> 1; _ -> 0-    , \x y _ -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0-    , \x _ z -> case (x,z) of (0,0) -> 1; _ -> 0-    , \x _ z -> case (x,z) of (_,0) -> 0; (0,_) -> 1; _ -> 0-    , \x _ _ -> case x of 0 -> -1; _ -> 0-    , \x _ _ -> case x of 1 -> 1; _ -> 0-    , \x _ _ -> case x of 1 -> 0; _ -> 1-    , \x y _ -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0-    , \x y _ -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \x _ z -> case (x,z) of (0,_) -> 0; (_,0) -> 1; _ -> 0-    , \x _ z -> case (x,z) of (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \x _ _ -> case x of 0 -> 0; _ -> -1-    , \_ y z -> case (y,z) of (0,0) -> 1; _ -> 0-    , \_ y z -> case (y,z) of (_,0) -> 0; (0,_) -> 1; _ -> 0-    , \_ y _ -> case y of 0 -> -1; _ -> 0-    , \_ y _ -> case y of 1 -> 1; _ -> 0-    , \_ y _ -> case y of 1 -> 0; _ -> 1-    , \_ y z -> case (y,z) of (0,_) -> 0; (_,0) -> 1; _ -> 0-    , \_ y z -> case (y,z) of (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \_ y _ -> case y of 0 -> 0; _ -> -1-    , \_ _ z -> case z of 0 -> -1; _ -> 0-    , \_ _ z -> case z of 1 -> 1; _ -> 0-    , \_ _ z -> case z of 1 -> 0; _ -> 1-    , \_ _ z -> case z of 0 -> 0; _ -> -1-    , \_ _ _ -> 2-    ]-  , ...-  ]
− test/diff/tiers-4cases-Int-Int-Int.out
@@ -1,151 +0,0 @@-map length (tiers :: [[ Int->Int->Int ]])  =  [1,1,5,13,35,81,...]--length (list :: [ Int->Int->Int ])  =  Infinity--allUnique (list :: [ Int->Int->Int ])  =  True--ratioRepetitions (list :: [ Int->Int->Int ])  =  0 % 1--tiers :: [Int->Int->Int]  =-  [ [\_ _ -> 0]-  , [\_ _ -> 1]-  , [ \x _ -> case x of 0 -> 1; _ -> 0-    , \x _ -> case x of 0 -> 0; _ -> 1-    , \_ y -> case y of 0 -> 1; _ -> 0-    , \_ y -> case y of 0 -> 0; _ -> 1-    , \_ _ -> -1-    ]-  , [ \x y -> case (x,y) of (0,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0-    , \x _ -> case x of 0 -> -1; _ -> 0-    , \x _ -> case x of 1 -> 1; _ -> 0-    , \x _ -> case x of 1 -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \x _ -> case x of 0 -> 0; _ -> -1-    , \_ y -> case y of 0 -> -1; _ -> 0-    , \_ y -> case y of 1 -> 1; _ -> 0-    , \_ y -> case y of 1 -> 0; _ -> 1-    , \_ y -> case y of 0 -> 0; _ -> -1-    , \_ _ -> 2-    ]-  , [ \x y -> case (x,y) of (0,0) -> -1; _ -> 0-    , \x y -> case (x,y) of (0,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 1; ...-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> -1; _ -> 0-    , \x _ -> case x of 0 -> 2; _ -> 0-    , \x y -> case (x,y) of (1,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 1; _ -> 0-    , \x _ -> case x of 1 -> -1; _ -> 0-    , \x _ -> case x of -1 -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; _ -> 1-    , \x _ -> case x of 0 -> -1; _ -> 1-    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 1-    , \x _ -> case x of -1 -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 0; ...-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 1-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; (1,_) -> 0; _ -> 1-    , \x _ -> case x of 0 -> 1; _ -> -1-    , \x _ -> case x of 1 -> 0; _ -> -1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; (_,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> -1-    , \x _ -> case x of 0 -> 0; _ -> 2-    , \_ y -> case y of 0 -> 2; _ -> 0-    , \_ y -> case y of 1 -> -1; _ -> 0-    , \_ y -> case y of -1 -> 1; _ -> 0-    , \_ y -> case y of 0 -> -1; _ -> 1-    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 1-    , \_ y -> case y of -1 -> 0; _ -> 1-    , \_ y -> case y of 0 -> 1; _ -> -1-    , \_ y -> case y of 1 -> 0; _ -> -1-    , \_ y -> case y of 0 -> 0; _ -> 2-    , \_ _ -> -2-    ]-  , [ \x y -> case (x,y) of (0,0) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,1) -> -1; _ -> 0-    , \x y -> case (x,y) of (0,-1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> -1; (0,_) -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 0; (_,1) -> 0; (0,_) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 1; (1,0) -> 0; (0,-1) -> 0; ...-    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> -1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> -1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> -1; ...-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; _ -> 0-    , \x _ -> case x of 0 -> -2; _ -> 0-    , \x y -> case (x,y) of (1,0) -> -1; _ -> 0-    , \x y -> case (x,y) of (1,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 0; (1,0) -> 1; (0,-1) -> 0; ...-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> -1; _ -> 0-    , \x _ -> case x of 1 -> 2; _ -> 0-    , \x _ -> case x of 0 -> 1; 1 -> 1; _ -> 0-    , \x y -> case (x,y) of (-1,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (-1,1) -> 1; (-1,-1) -> 1; _ -> 0-    , \x _ -> case x of -1 -> -1; _ -> 0-    , \x _ -> case x of 2 -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> -1; (0,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> 0; ...-    , \x y -> case (x,y) of (0,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> -1; _ -> 1-    , \x _ -> case x of 0 -> 2; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (1,0) -> 0; _ -> 1-    , \x _ -> case x of 1 -> -1; _ -> 1-    , \x _ -> case x of 0 -> 0; 1 -> 1; -1 -> 0; _ -> 1-    , \x _ -> case x of 2 -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> -1; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; (1,_) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (1,_) -> 0; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 1; (0,-1) -> 0; ...-    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> -1; (_,0) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> 1; ...-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (_,0) -> 0; (-1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; _ -> -1-    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; _ -> -1-    , \x _ -> case x of 1 -> 1; _ -> -1-    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> -1-    , \x _ -> case x of -1 -> 0; _ -> -1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> -1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> -1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 0; ...-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; (_,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,1) -> 1; (-1,1) -> 1; (2,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (_,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (_,1) -> 0; (1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> -1-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> -1; (1,_) -> 0; _ -> -1-    , \x _ -> case x of 0 -> 1; _ -> 2-    , \x _ -> case x of 1 -> 0; _ -> 2-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> -1; _ -> 0-    , \x y -> case (x,y) of (1,-1) -> 1; (-1,-1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,-1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> -1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; (_,1) -> 0; _ -> -1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 2-    , \x _ -> case x of 0 -> 0; _ -> -2-    , \_ y -> case y of 0 -> -2; _ -> 0-    , \_ y -> case y of 1 -> 2; _ -> 0-    , \_ y -> case y of 0 -> 1; 1 -> 1; _ -> 0-    , \_ y -> case y of -1 -> -1; _ -> 0-    , \_ y -> case y of 2 -> 1; _ -> 0-    , \_ y -> case y of 0 -> 2; _ -> 1-    , \_ y -> case y of 1 -> -1; _ -> 1-    , \_ y -> case y of 0 -> 0; -1 -> 0; _ -> 1-    , \_ y -> case y of 2 -> 0; _ -> 1-    , \_ y -> case y of 1 -> 1; _ -> -1-    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> -1-    , \_ y -> case y of -1 -> 0; _ -> -1-    , \_ y -> case y of 0 -> 1; _ -> 2-    , \_ y -> case y of 1 -> 0; _ -> 2-    , \_ y -> case y of 0 -> 0; _ -> -2-    , \_ _ -> 3-    ]-  , ...-  ]
− test/diff/tiers-4cases-Int-Int.out
@@ -1,212 +0,0 @@-map length (tiers :: [[ Int->Int ]])  =  [1,1,3,5,10,16,30,48,80,...]--length (list :: [ Int->Int ])  =  Infinity--allUnique (list :: [ Int->Int ])  =  True--ratioRepetitions (list :: [ Int->Int ])  =  0 % 1--tiers :: [Int->Int]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [ \x -> case x of 0 -> 1; _ -> 0-    , \x -> case x of 0 -> 0; _ -> 1-    , \_ -> -1-    ]-  , [ \x -> case x of 0 -> -1; _ -> 0-    , \x -> case x of 1 -> 1; _ -> 0-    , \x -> case x of 1 -> 0; _ -> 1-    , \x -> case x of 0 -> 0; _ -> -1-    , \_ -> 2-    ]-  , [ \x -> case x of 0 -> 2; _ -> 0-    , \x -> case x of 1 -> -1; _ -> 0-    , \x -> case x of -1 -> 1; _ -> 0-    , \x -> case x of 0 -> -1; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 1-    , \x -> case x of -1 -> 0; _ -> 1-    , \x -> case x of 0 -> 1; _ -> -1-    , \x -> case x of 1 -> 0; _ -> -1-    , \x -> case x of 0 -> 0; _ -> 2-    , \_ -> -2-    ]-  , [ \x -> case x of 0 -> -2; _ -> 0-    , \x -> case x of 1 -> 2; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 0-    , \x -> case x of -1 -> -1; _ -> 0-    , \x -> case x of 2 -> 1; _ -> 0-    , \x -> case x of 0 -> 2; _ -> 1-    , \x -> case x of 1 -> -1; _ -> 1-    , \x -> case x of 0 -> 0; -1 -> 0; _ -> 1-    , \x -> case x of 2 -> 0; _ -> 1-    , \x -> case x of 1 -> 1; _ -> -1-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> -1-    , \x -> case x of -1 -> 0; _ -> -1-    , \x -> case x of 0 -> 1; _ -> 2-    , \x -> case x of 1 -> 0; _ -> 2-    , \x -> case x of 0 -> 0; _ -> -2-    , \_ -> 3-    ]-  , [ \x -> case x of 0 -> 3; _ -> 0-    , \x -> case x of 1 -> -2; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> -1; _ -> 0-    , \x -> case x of 0 -> -1; 1 -> 1; _ -> 0-    , \x -> case x of -1 -> 2; _ -> 0-    , \x -> case x of 0 -> 1; -1 -> 1; _ -> 0-    , \x -> case x of 2 -> -1; _ -> 0-    , \x -> case x of -2 -> 1; _ -> 0-    , \x -> case x of 0 -> -2; _ -> 1-    , \x -> case x of 1 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> -1; _ -> 1-    , \x -> case x of 0 -> -1; 1 -> 0; _ -> 1-    , \x -> case x of -1 -> -1; _ -> 1-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; -1 -> 0; _ -> 1-    , \x -> case x of -2 -> 0; _ -> 1-    , \x -> case x of 0 -> 2; _ -> -1-    , \x -> case x of 0 -> 0; 1 -> 1; _ -> -1-    , \x -> case x of 0 -> 1; 1 -> 0; _ -> -1-    , \x -> case x of -1 -> 1; _ -> -1-    , \x -> case x of 0 -> 0; -1 -> 0; _ -> -1-    , \x -> case x of 2 -> 0; _ -> -1-    , \x -> case x of 0 -> -1; _ -> 2-    , \x -> case x of 1 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 2-    , \x -> case x of -1 -> 0; _ -> 2-    , \x -> case x of 0 -> 1; _ -> -2-    , \x -> case x of 1 -> 0; _ -> -2-    , \x -> case x of 0 -> 0; _ -> 3-    , \_ -> -3-    ]-  , [ \x -> case x of 0 -> -3; _ -> 0-    , \x -> case x of 1 -> 3; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> 2; _ -> 0-    , \x -> case x of 0 -> -1; 1 -> -1; _ -> 0-    , \x -> case x of 0 -> 2; 1 -> 1; _ -> 0-    , \x -> case x of -1 -> -2; _ -> 0-    , \x -> case x of 0 -> 1; -1 -> -1; _ -> 0-    , \x -> case x of 0 -> -1; -1 -> 1; _ -> 0-    , \x -> case x of 2 -> 2; _ -> 0-    , \x -> case x of 0 -> 1; 2 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; -1 -> 1; _ -> 0-    , \x -> case x of -2 -> -1; _ -> 0-    , \x -> case x of 3 -> 1; _ -> 0-    , \x -> case x of 0 -> 3; _ -> 1-    , \x -> case x of 1 -> -2; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 2; _ -> 1-    , \x -> case x of 0 -> 2; 1 -> 0; _ -> 1-    , \x -> case x of -1 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; -1 -> -1; _ -> 1-    , \x -> case x of 0 -> -1; -1 -> 0; _ -> 1-    , \x -> case x of 2 -> -1; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 0; -1 -> 0; _ -> 1-    , \x -> case x of 0 -> 0; -2 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of 3 -> 0; _ -> 1-    , \x -> case x of 0 -> -2; _ -> -1-    , \x -> case x of 1 -> 2; _ -> -1-    , \x -> case x of 0 -> 1; 1 -> 1; _ -> -1-    , \x -> case x of 0 -> 0; -1 -> 1; _ -> -1-    , \x -> case x of 0 -> 1; -1 -> 0; _ -> -1-    , \x -> case x of 2 -> 1; _ -> -1-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> -1-    , \x -> case x of 1 -> 0; -1 -> 0; _ -> -1-    , \x -> case x of -2 -> 0; _ -> -1-    , \x -> case x of 1 -> -1; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 2-    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 2-    , \x -> case x of -1 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; -1 -> 0; _ -> 2-    , \x -> case x of 2 -> 0; _ -> 2-    , \x -> case x of 0 -> -1; _ -> -2-    , \x -> case x of 1 -> 1; _ -> -2-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> -2-    , \x -> case x of -1 -> 0; _ -> -2-    , \x -> case x of 0 -> 1; _ -> 3-    , \x -> case x of 1 -> 0; _ -> 3-    , \x -> case x of 0 -> 0; _ -> -3-    , \_ -> 4-    ]-  , [ \x -> case x of 0 -> 4; _ -> 0-    , \x -> case x of 1 -> -3; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> -2; _ -> 0-    , \x -> case x of 0 -> -1; 1 -> 2; _ -> 0-    , \x -> case x of 0 -> 2; 1 -> -1; _ -> 0-    , \x -> case x of 0 -> -2; 1 -> 1; _ -> 0-    , \x -> case x of -1 -> 3; _ -> 0-    , \x -> case x of 0 -> 1; -1 -> 2; _ -> 0-    , \x -> case x of 0 -> -1; -1 -> -1; _ -> 0-    , \x -> case x of 0 -> 2; -1 -> 1; _ -> 0-    , \x -> case x of 2 -> -2; _ -> 0-    , \x -> case x of 0 -> 1; 2 -> -1; _ -> 0-    , \x -> case x of 0 -> -1; 2 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; -1 -> -1; _ -> 0-    , \x -> case x of 1 -> -1; -1 -> 1; _ -> 0-    , \x -> case x of -2 -> 2; _ -> 0-    , \x -> case x of 0 -> 1; -2 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; 2 -> 1; _ -> 0-    , \x -> case x of 3 -> -1; _ -> 0-    , \x -> case x of -3 -> 1; _ -> 0-    , \x -> case x of 0 -> -3; _ -> 1-    , \x -> case x of 1 -> 3; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> -2; _ -> 1-    , \x -> case x of 0 -> -1; 1 -> -1; _ -> 1-    , \x -> case x of 0 -> -2; 1 -> 0; _ -> 1-    , \x -> case x of -1 -> -2; _ -> 1-    , \x -> case x of 0 -> 0; -1 -> 2; _ -> 1-    , \x -> case x of 0 -> 2; -1 -> 0; _ -> 1-    , \x -> case x of 2 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 2 -> -1; _ -> 1-    , \x -> case x of 0 -> -1; 2 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; -1 -> -1; _ -> 1-    , \x -> case x of 1 -> -1; -1 -> 0; _ -> 1-    , \x -> case x of -2 -> -1; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; -2 -> 0; _ -> 1-    , \x -> case x of -1 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of -3 -> 0; _ -> 1-    , \x -> case x of 0 -> 3; _ -> -1-    , \x -> case x of 1 -> -2; _ -> -1-    , \x -> case x of 0 -> 0; 1 -> 2; _ -> -1-    , \x -> case x of 0 -> 2; 1 -> 0; _ -> -1-    , \x -> case x of -1 -> 2; _ -> -1-    , \x -> case x of 0 -> 1; -1 -> 1; _ -> -1-    , \x -> case x of 0 -> 0; 2 -> 1; _ -> -1-    , \x -> case x of 0 -> 1; 2 -> 0; _ -> -1-    , \x -> case x of 1 -> 0; -1 -> 1; _ -> -1-    , \x -> case x of 1 -> 1; -1 -> 0; _ -> -1-    , \x -> case x of -2 -> 1; _ -> -1-    , \x -> case x of 0 -> 0; 1 -> 0; -1 -> 0; _ -> -1-    , \x -> case x of 0 -> 0; -2 -> 0; _ -> -1-    , \x -> case x of 1 -> 0; 2 -> 0; _ -> -1-    , \x -> case x of 3 -> 0; _ -> -1-    , \x -> case x of 0 -> -2; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> -1; _ -> 2-    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 2-    , \x -> case x of 0 -> -1; 1 -> 0; _ -> 2-    , \x -> case x of -1 -> -1; _ -> 2-    , \x -> case x of 0 -> 0; -1 -> 1; _ -> 2-    , \x -> case x of 0 -> 1; -1 -> 0; _ -> 2-    , \x -> case x of 2 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 2-    , \x -> case x of 1 -> 0; -1 -> 0; _ -> 2-    , \x -> case x of -2 -> 0; _ -> 2-    , \x -> case x of 0 -> 2; _ -> -2-    , \x -> case x of 1 -> -1; _ -> -2-    , \x -> case x of 0 -> 0; 1 -> 1; _ -> -2-    , \x -> case x of 0 -> 1; 1 -> 0; _ -> -2-    , \x -> case x of -1 -> 1; _ -> -2-    , \x -> case x of 0 -> 0; -1 -> 0; _ -> -2-    , \x -> case x of 2 -> 0; _ -> -2-    , \x -> case x of 0 -> -1; _ -> 3-    , \x -> case x of 1 -> 1; _ -> 3-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 3-    , \x -> case x of -1 -> 0; _ -> 3-    , \x -> case x of 0 -> 1; _ -> -3-    , \x -> case x of 1 -> 0; _ -> -3-    , \x -> case x of 0 -> 0; _ -> 4-    , \_ -> -4-    ]-  , ...-  ]
− test/diff/tiers-4cases-Ints-Ints.out
@@ -1,135 +0,0 @@-map length (tiers :: [[ [Int]->[Int] ]])  =  [1,1,4,10,29,75,...]--length (list :: [ [Int]->[Int] ])  =  Infinity--allUnique (list :: [ [Int]->[Int] ])  =  True--ratioRepetitions (list :: [ [Int]->[Int] ])  =  0 % 1--tiers :: [[Int]->[Int]]  =-  [ [\_ -> []]-  , [\_ -> [0]]-  , [ \x -> case x of [] -> [0]; _ -> []-    , \x -> case x of [] -> []; _ -> [0]-    , \_ -> [0,0]-    , \_ -> [1]-    ]-  , [ \x -> case x of [] -> [0,0]; _ -> []-    , \x -> case x of [] -> [1]; _ -> []-    , \x -> case x of [0] -> [0]; _ -> []-    , \x -> case x of [0] -> []; _ -> [0]-    , \x -> case x of [] -> []; _ -> [0,0]-    , \x -> case x of [] -> []; _ -> [1]-    , \_ -> [0,0,0]-    , \_ -> [0,1]-    , \_ -> [1,0]-    , \_ -> [-1]-    ]-  , [ \x -> case x of [] -> [0,0,0]; _ -> []-    , \x -> case x of [] -> [0,1]; _ -> []-    , \x -> case x of [] -> [1,0]; _ -> []-    , \x -> case x of [] -> [-1]; _ -> []-    , \x -> case x of [0] -> [0,0]; _ -> []-    , \x -> case x of [0] -> [1]; _ -> []-    , \x -> case x of [0,0] -> [0]; _ -> []-    , \x -> case x of [1] -> [0]; _ -> []-    , \x -> case x of [] -> [0,0]; _ -> [0]-    , \x -> case x of [] -> [1]; _ -> [0]-    , \x -> case x of [] -> []; [0] -> []; _ -> [0]-    , \x -> case x of [0,0] -> []; _ -> [0]-    , \x -> case x of [1] -> []; _ -> [0]-    , \x -> case x of [] -> [0]; _ -> [0,0]-    , \x -> case x of [0] -> []; _ -> [0,0]-    , \x -> case x of [] -> [0]; _ -> [1]-    , \x -> case x of [0] -> []; _ -> [1]-    , \x -> case x of [] -> []; _ -> [0,0,0]-    , \x -> case x of [] -> []; _ -> [0,1]-    , \x -> case x of [] -> []; _ -> [1,0]-    , \x -> case x of [] -> []; _ -> [-1]-    , \_ -> [0,0,0,0]-    , \_ -> [0,0,1]-    , \_ -> [0,1,0]-    , \_ -> [0,-1]-    , \_ -> [1,0,0]-    , \_ -> [1,1]-    , \_ -> [-1,0]-    , \_ -> [2]-    ]-  , [ \x -> case x of [] -> [0,0,0,0]; _ -> []-    , \x -> case x of [] -> [0,0,1]; _ -> []-    , \x -> case x of [] -> [0,1,0]; _ -> []-    , \x -> case x of [] -> [0,-1]; _ -> []-    , \x -> case x of [] -> [1,0,0]; _ -> []-    , \x -> case x of [] -> [1,1]; _ -> []-    , \x -> case x of [] -> [-1,0]; _ -> []-    , \x -> case x of [] -> [2]; _ -> []-    , \x -> case x of [0] -> [0,0,0]; _ -> []-    , \x -> case x of [0] -> [0,1]; _ -> []-    , \x -> case x of [0] -> [1,0]; _ -> []-    , \x -> case x of [0] -> [-1]; _ -> []-    , \x -> case x of [] -> [0]; [0] -> [0]; _ -> []-    , \x -> case x of [0,0] -> [0,0]; _ -> []-    , \x -> case x of [0,0] -> [1]; _ -> []-    , \x -> case x of [1] -> [0,0]; _ -> []-    , \x -> case x of [1] -> [1]; _ -> []-    , \x -> case x of [0,0,0] -> [0]; _ -> []-    , \x -> case x of [0,1] -> [0]; _ -> []-    , \x -> case x of [1,0] -> [0]; _ -> []-    , \x -> case x of [-1] -> [0]; _ -> []-    , \x -> case x of [] -> [0,0,0]; _ -> [0]-    , \x -> case x of [] -> [0,1]; _ -> [0]-    , \x -> case x of [] -> [1,0]; _ -> [0]-    , \x -> case x of [] -> [-1]; _ -> [0]-    , \x -> case x of [0] -> [0,0]; _ -> [0]-    , \x -> case x of [0] -> [1]; _ -> [0]-    , \x -> case x of [] -> []; [0,0] -> []; _ -> [0]-    , \x -> case x of [] -> []; [1] -> []; _ -> [0]-    , \x -> case x of [0,0,0] -> []; _ -> [0]-    , \x -> case x of [0,1] -> []; _ -> [0]-    , \x -> case x of [1,0] -> []; _ -> [0]-    , \x -> case x of [-1] -> []; _ -> [0]-    , \x -> case x of [] -> [1]; _ -> [0,0]-    , \x -> case x of [0] -> [0]; _ -> [0,0]-    , \x -> case x of [] -> []; [0] -> []; _ -> [0,0]-    , \x -> case x of [0,0] -> []; _ -> [0,0]-    , \x -> case x of [1] -> []; _ -> [0,0]-    , \x -> case x of [] -> [0,0]; _ -> [1]-    , \x -> case x of [0] -> [0]; _ -> [1]-    , \x -> case x of [] -> []; [0] -> []; _ -> [1]-    , \x -> case x of [0,0] -> []; _ -> [1]-    , \x -> case x of [1] -> []; _ -> [1]-    , \x -> case x of [] -> [0]; _ -> [0,0,0]-    , \x -> case x of [0] -> []; _ -> [0,0,0]-    , \x -> case x of [] -> [0]; _ -> [0,1]-    , \x -> case x of [0] -> []; _ -> [0,1]-    , \x -> case x of [] -> [0]; _ -> [1,0]-    , \x -> case x of [0] -> []; _ -> [1,0]-    , \x -> case x of [] -> [0]; _ -> [-1]-    , \x -> case x of [0] -> []; _ -> [-1]-    , \x -> case x of [] -> []; _ -> [0,0,0,0]-    , \x -> case x of [] -> []; _ -> [0,0,1]-    , \x -> case x of [] -> []; _ -> [0,1,0]-    , \x -> case x of [] -> []; _ -> [0,-1]-    , \x -> case x of [] -> []; _ -> [1,0,0]-    , \x -> case x of [] -> []; _ -> [1,1]-    , \x -> case x of [] -> []; _ -> [-1,0]-    , \x -> case x of [] -> []; _ -> [2]-    , \_ -> [0,0,0,0,0]-    , \_ -> [0,0,0,1]-    , \_ -> [0,0,1,0]-    , \_ -> [0,0,-1]-    , \_ -> [0,1,0,0]-    , \_ -> [0,1,1]-    , \_ -> [0,-1,0]-    , \_ -> [0,2]-    , \_ -> [1,0,0,0]-    , \_ -> [1,0,1]-    , \_ -> [1,1,0]-    , \_ -> [1,-1]-    , \_ -> [-1,0,0]-    , \_ -> [-1,1]-    , \_ -> [2,0]-    , \_ -> [-2]-    ]-  , ...-  ]
− test/diff/tiers-4cases-MBool-Bool.out
@@ -1,19 +0,0 @@-map length (tiers :: [[ Maybe Bool->Bool ]])  =  [8]--length (list :: [ Maybe Bool->Bool ])  =  8--allUnique (list :: [ Maybe Bool->Bool ])  =  True--ratioRepetitions (list :: [ Maybe Bool->Bool ])  =  0 % 1--tiers :: [Maybe Bool->Bool]  =-  [ [ \_ -> False-    , \x -> case x of Just True -> True; _ -> False-    , \x -> case x of Just False -> True; _ -> False-    , \x -> case x of Nothing -> False; _ -> True-    , \x -> case x of Nothing -> True; _ -> False-    , \x -> case x of Just False -> False; _ -> True-    , \x -> case x of Just True -> False; _ -> True-    , \_ -> True-    ]-  ]
− test/diff/tiers-4cases-MBool-MBool.out
@@ -1,40 +0,0 @@-map length (tiers :: [[ Maybe Bool->Maybe Bool ]])  =  [1,6,12,8]--length (list :: [ Maybe Bool->Maybe Bool ])  =  Infinity--allUnique (list :: [ Maybe Bool->Maybe Bool ])  =  True--ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ])  =  0 % 1--tiers :: [Maybe Bool->Maybe Bool]  =-  [ [\_ -> Nothing]-  , [ \x -> case x of Just True -> Just False; _ -> Nothing-    , \x -> case x of Just True -> Just True; _ -> Nothing-    , \x -> case x of Just False -> Just False; _ -> Nothing-    , \x -> case x of Just False -> Just True; _ -> Nothing-    , \x -> case x of Nothing -> Just False; _ -> Nothing-    , \x -> case x of Nothing -> Just True; _ -> Nothing-    ]-  , [ \x -> case x of Nothing -> Nothing; _ -> Just False-    , \x -> case x of Nothing -> Nothing; Just False -> Just False; Just True -> Just True-    , \x -> case x of Nothing -> Nothing; Just False -> Just True; Just True -> Just False-    , \x -> case x of Nothing -> Nothing; _ -> Just True-    , \x -> case x of Just False -> Nothing; _ -> Just False-    , \x -> case x of Nothing -> Just False; Just False -> Nothing; Just True -> Just True-    , \x -> case x of Just True -> Nothing; _ -> Just False-    , \x -> case x of Nothing -> Just False; Just False -> Just True; Just True -> Nothing-    , \x -> case x of Nothing -> Just True; Just False -> Nothing; Just True -> Just False-    , \x -> case x of Just False -> Nothing; _ -> Just True-    , \x -> case x of Nothing -> Just True; Just False -> Just False; Just True -> Nothing-    , \x -> case x of Just True -> Nothing; _ -> Just True-    ]-  , [ \_ -> Just False-    , \x -> case x of Just True -> Just True; _ -> Just False-    , \x -> case x of Just False -> Just True; _ -> Just False-    , \x -> case x of Nothing -> Just False; _ -> Just True-    , \x -> case x of Nothing -> Just True; _ -> Just False-    , \x -> case x of Just False -> Just False; _ -> Just True-    , \x -> case x of Just True -> Just False; _ -> Just True-    , \_ -> Just True-    ]-  ]
− test/diff/tiers-4cases-Nat,Nat-Nat.out
@@ -1,79 +0,0 @@-map length (tiers :: [[ (Nat,Nat)->Nat ]])  =  [1,1,3,7,17,35,...]--length (list :: [ (Nat,Nat)->Nat ])  =  Infinity--allUnique (list :: [ (Nat,Nat)->Nat ])  =  True--ratioRepetitions (list :: [ (Nat,Nat)->Nat ])  =  0 % 1--tiers :: [(Nat,Nat)->Nat]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [ \x -> case x of (0,0) -> 1; _ -> 0-    , \x -> case x of (0,0) -> 0; _ -> 1-    , \_ -> 2-    ]-  , [ \x -> case x of (0,0) -> 2; _ -> 0-    , \x -> case x of (0,1) -> 1; _ -> 0-    , \x -> case x of (1,0) -> 1; _ -> 0-    , \x -> case x of (0,1) -> 0; _ -> 1-    , \x -> case x of (1,0) -> 0; _ -> 1-    , \x -> case x of (0,0) -> 0; _ -> 2-    , \_ -> 3-    ]-  , [ \x -> case x of (0,0) -> 3; _ -> 0-    , \x -> case x of (0,1) -> 2; _ -> 0-    , \x -> case x of (1,0) -> 2; _ -> 0-    , \x -> case x of (0,2) -> 1; _ -> 0-    , \x -> case x of (1,1) -> 1; _ -> 0-    , \x -> case x of (2,0) -> 1; _ -> 0-    , \x -> case x of (0,0) -> 2; _ -> 1-    , \x -> case x of (0,0) -> 0; (0,1) -> 0; _ -> 1-    , \x -> case x of (0,0) -> 0; (1,0) -> 0; _ -> 1-    , \x -> case x of (0,2) -> 0; _ -> 1-    , \x -> case x of (1,1) -> 0; _ -> 1-    , \x -> case x of (2,0) -> 0; _ -> 1-    , \x -> case x of (0,0) -> 1; _ -> 2-    , \x -> case x of (0,1) -> 0; _ -> 2-    , \x -> case x of (1,0) -> 0; _ -> 2-    , \x -> case x of (0,0) -> 0; _ -> 3-    , \_ -> 4-    ]-  , [ \x -> case x of (0,0) -> 4; _ -> 0-    , \x -> case x of (0,1) -> 3; _ -> 0-    , \x -> case x of (1,0) -> 3; _ -> 0-    , \x -> case x of (0,0) -> 1; (0,1) -> 1; _ -> 0-    , \x -> case x of (0,0) -> 1; (1,0) -> 1; _ -> 0-    , \x -> case x of (0,2) -> 2; _ -> 0-    , \x -> case x of (1,1) -> 2; _ -> 0-    , \x -> case x of (2,0) -> 2; _ -> 0-    , \x -> case x of (0,3) -> 1; _ -> 0-    , \x -> case x of (1,2) -> 1; _ -> 0-    , \x -> case x of (2,1) -> 1; _ -> 0-    , \x -> case x of (3,0) -> 1; _ -> 0-    , \x -> case x of (0,0) -> 3; _ -> 1-    , \x -> case x of (0,1) -> 2; _ -> 1-    , \x -> case x of (1,0) -> 2; _ -> 1-    , \x -> case x of (0,0) -> 0; (0,2) -> 0; _ -> 1-    , \x -> case x of (0,0) -> 0; (1,1) -> 0; _ -> 1-    , \x -> case x of (0,0) -> 0; (2,0) -> 0; _ -> 1-    , \x -> case x of (0,1) -> 0; (1,0) -> 0; _ -> 1-    , \x -> case x of (0,3) -> 0; _ -> 1-    , \x -> case x of (1,2) -> 0; _ -> 1-    , \x -> case x of (2,1) -> 0; _ -> 1-    , \x -> case x of (3,0) -> 0; _ -> 1-    , \x -> case x of (0,1) -> 1; _ -> 2-    , \x -> case x of (1,0) -> 1; _ -> 2-    , \x -> case x of (0,0) -> 0; (0,1) -> 0; _ -> 2-    , \x -> case x of (0,0) -> 0; (1,0) -> 0; _ -> 2-    , \x -> case x of (0,2) -> 0; _ -> 2-    , \x -> case x of (1,1) -> 0; _ -> 2-    , \x -> case x of (2,0) -> 0; _ -> 2-    , \x -> case x of (0,0) -> 1; _ -> 3-    , \x -> case x of (0,1) -> 0; _ -> 3-    , \x -> case x of (1,0) -> 0; _ -> 3-    , \x -> case x of (0,0) -> 0; _ -> 4-    , \_ -> 5-    ]-  , ...-  ]
− test/diff/tiers-4cases-Nat-Nat-Nat.out
@@ -1,151 +0,0 @@-map length (tiers :: [[ Nat->Nat->Nat ]])  =  [1,1,5,13,35,81,...]--length (list :: [ Nat->Nat->Nat ])  =  Infinity--allUnique (list :: [ Nat->Nat->Nat ])  =  True--ratioRepetitions (list :: [ Nat->Nat->Nat ])  =  0 % 1--tiers :: [Nat->Nat->Nat]  =-  [ [\_ _ -> 0]-  , [\_ _ -> 1]-  , [ \x _ -> case x of 0 -> 1; _ -> 0-    , \x _ -> case x of 0 -> 0; _ -> 1-    , \_ y -> case y of 0 -> 1; _ -> 0-    , \_ y -> case y of 0 -> 0; _ -> 1-    , \_ _ -> 2-    ]-  , [ \x y -> case (x,y) of (0,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0-    , \x _ -> case x of 0 -> 2; _ -> 0-    , \x _ -> case x of 1 -> 1; _ -> 0-    , \x _ -> case x of 1 -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \x _ -> case x of 0 -> 0; _ -> 2-    , \_ y -> case y of 0 -> 2; _ -> 0-    , \_ y -> case y of 1 -> 1; _ -> 0-    , \_ y -> case y of 1 -> 0; _ -> 1-    , \_ y -> case y of 0 -> 0; _ -> 2-    , \_ _ -> 3-    ]-  , [ \x y -> case (x,y) of (0,0) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,2) -> 1; ...-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; _ -> 0-    , \x _ -> case x of 0 -> 3; _ -> 0-    , \x y -> case (x,y) of (1,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 1; _ -> 0-    , \x _ -> case x of 1 -> 2; _ -> 0-    , \x _ -> case x of 2 -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; _ -> 1-    , \x _ -> case x of 0 -> 2; _ -> 1-    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 1-    , \x _ -> case x of 2 -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,2) -> 0; ...-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 1-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; (1,_) -> 0; _ -> 1-    , \x _ -> case x of 0 -> 1; _ -> 2-    , \x _ -> case x of 1 -> 0; _ -> 2-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; (_,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 2-    , \x _ -> case x of 0 -> 0; _ -> 3-    , \_ y -> case y of 0 -> 3; _ -> 0-    , \_ y -> case y of 1 -> 2; _ -> 0-    , \_ y -> case y of 2 -> 1; _ -> 0-    , \_ y -> case y of 0 -> 2; _ -> 1-    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 1-    , \_ y -> case y of 2 -> 0; _ -> 1-    , \_ y -> case y of 0 -> 1; _ -> 2-    , \_ y -> case y of 1 -> 0; _ -> 2-    , \_ y -> case y of 0 -> 0; _ -> 3-    , \_ _ -> 4-    ]-  , [ \x y -> case (x,y) of (0,0) -> 3; _ -> 0-    , \x y -> case (x,y) of (0,1) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,2) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 2; (0,_) -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 0; (_,1) -> 0; (0,_) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 1; (1,0) -> 0; (0,2) -> 0; ...-    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 2; (0,1) -> 0; (1,0) -> 0; (0,2) -> 2; ...-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 3; _ -> 0-    , \x _ -> case x of 0 -> 4; _ -> 0-    , \x y -> case (x,y) of (1,0) -> 2; _ -> 0-    , \x y -> case (x,y) of (1,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 0; (1,0) -> 1; (0,2) -> 0; ...-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 2; _ -> 0-    , \x _ -> case x of 1 -> 3; _ -> 0-    , \x _ -> case x of 0 -> 1; 1 -> 1; _ -> 0-    , \x y -> case (x,y) of (2,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (2,1) -> 1; (2,2) -> 1; _ -> 0-    , \x _ -> case x of 2 -> 2; _ -> 0-    , \x _ -> case x of 3 -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 2; (0,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,2) -> 0; ...-    , \x y -> case (x,y) of (0,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 2; _ -> 1-    , \x _ -> case x of 0 -> 3; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (1,0) -> 0; _ -> 1-    , \x _ -> case x of 1 -> 2; _ -> 1-    , \x _ -> case x of 0 -> 0; 1 -> 1; 2 -> 0; _ -> 1-    , \x _ -> case x of 3 -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 2; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; (1,_) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (1,_) -> 0; (_,0) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 1; (0,2) -> 0; ...-    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; (_,0) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 2; (_,0) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,2) -> 1; ...-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (_,0) -> 0; (2,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; _ -> 2-    , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; _ -> 2-    , \x _ -> case x of 1 -> 1; _ -> 2-    , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 2-    , \x _ -> case x of 2 -> 0; _ -> 2-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 2; _ -> 0-    , \x y -> case (x,y) of (0,0) -> 2; (0,1) -> 0; (1,0) -> 0; (0,2) -> 0; ...-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; (_,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,1) -> 1; (2,1) -> 1; (3,1) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (_,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (_,1) -> 0; (1,_) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 2-    , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; (1,_) -> 0; _ -> 2-    , \x _ -> case x of 0 -> 1; _ -> 3-    , \x _ -> case x of 1 -> 0; _ -> 3-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 3; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 2; _ -> 0-    , \x y -> case (x,y) of (1,2) -> 1; (2,2) -> 1; _ -> 0-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,2) -> 0; _ -> 1-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 2-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; (_,1) -> 0; _ -> 2-    , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 3-    , \x _ -> case x of 0 -> 0; _ -> 4-    , \_ y -> case y of 0 -> 4; _ -> 0-    , \_ y -> case y of 1 -> 3; _ -> 0-    , \_ y -> case y of 0 -> 1; 1 -> 1; _ -> 0-    , \_ y -> case y of 2 -> 2; _ -> 0-    , \_ y -> case y of 3 -> 1; _ -> 0-    , \_ y -> case y of 0 -> 3; _ -> 1-    , \_ y -> case y of 1 -> 2; _ -> 1-    , \_ y -> case y of 0 -> 0; 2 -> 0; _ -> 1-    , \_ y -> case y of 3 -> 0; _ -> 1-    , \_ y -> case y of 1 -> 1; _ -> 2-    , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 2-    , \_ y -> case y of 2 -> 0; _ -> 2-    , \_ y -> case y of 0 -> 1; _ -> 3-    , \_ y -> case y of 1 -> 0; _ -> 3-    , \_ y -> case y of 0 -> 0; _ -> 4-    , \_ _ -> 5-    ]-  , ...-  ]
− test/diff/tiers-4cases-Nat-Nat.out
@@ -1,212 +0,0 @@-map length (tiers :: [[ Nat->Nat ]])  =  [1,1,3,5,10,16,30,48,80,...]--length (list :: [ Nat->Nat ])  =  Infinity--allUnique (list :: [ Nat->Nat ])  =  True--ratioRepetitions (list :: [ Nat->Nat ])  =  0 % 1--tiers :: [Nat->Nat]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [ \x -> case x of 0 -> 1; _ -> 0-    , \x -> case x of 0 -> 0; _ -> 1-    , \_ -> 2-    ]-  , [ \x -> case x of 0 -> 2; _ -> 0-    , \x -> case x of 1 -> 1; _ -> 0-    , \x -> case x of 1 -> 0; _ -> 1-    , \x -> case x of 0 -> 0; _ -> 2-    , \_ -> 3-    ]-  , [ \x -> case x of 0 -> 3; _ -> 0-    , \x -> case x of 1 -> 2; _ -> 0-    , \x -> case x of 2 -> 1; _ -> 0-    , \x -> case x of 0 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 1-    , \x -> case x of 2 -> 0; _ -> 1-    , \x -> case x of 0 -> 1; _ -> 2-    , \x -> case x of 1 -> 0; _ -> 2-    , \x -> case x of 0 -> 0; _ -> 3-    , \_ -> 4-    ]-  , [ \x -> case x of 0 -> 4; _ -> 0-    , \x -> case x of 1 -> 3; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 0-    , \x -> case x of 2 -> 2; _ -> 0-    , \x -> case x of 3 -> 1; _ -> 0-    , \x -> case x of 0 -> 3; _ -> 1-    , \x -> case x of 1 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of 3 -> 0; _ -> 1-    , \x -> case x of 1 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 2-    , \x -> case x of 2 -> 0; _ -> 2-    , \x -> case x of 0 -> 1; _ -> 3-    , \x -> case x of 1 -> 0; _ -> 3-    , \x -> case x of 0 -> 0; _ -> 4-    , \_ -> 5-    ]-  , [ \x -> case x of 0 -> 5; _ -> 0-    , \x -> case x of 1 -> 4; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> 2; _ -> 0-    , \x -> case x of 0 -> 2; 1 -> 1; _ -> 0-    , \x -> case x of 2 -> 3; _ -> 0-    , \x -> case x of 0 -> 1; 2 -> 1; _ -> 0-    , \x -> case x of 3 -> 2; _ -> 0-    , \x -> case x of 4 -> 1; _ -> 0-    , \x -> case x of 0 -> 4; _ -> 1-    , \x -> case x of 1 -> 3; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 2; _ -> 1-    , \x -> case x of 0 -> 2; 1 -> 0; _ -> 1-    , \x -> case x of 2 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of 4 -> 0; _ -> 1-    , \x -> case x of 0 -> 3; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 2-    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 2-    , \x -> case x of 2 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 2-    , \x -> case x of 3 -> 0; _ -> 2-    , \x -> case x of 0 -> 2; _ -> 3-    , \x -> case x of 1 -> 1; _ -> 3-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 3-    , \x -> case x of 2 -> 0; _ -> 3-    , \x -> case x of 0 -> 1; _ -> 4-    , \x -> case x of 1 -> 0; _ -> 4-    , \x -> case x of 0 -> 0; _ -> 5-    , \_ -> 6-    ]-  , [ \x -> case x of 0 -> 6; _ -> 0-    , \x -> case x of 1 -> 5; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> 3; _ -> 0-    , \x -> case x of 0 -> 2; 1 -> 2; _ -> 0-    , \x -> case x of 0 -> 3; 1 -> 1; _ -> 0-    , \x -> case x of 2 -> 4; _ -> 0-    , \x -> case x of 0 -> 1; 2 -> 2; _ -> 0-    , \x -> case x of 0 -> 2; 2 -> 1; _ -> 0-    , \x -> case x of 3 -> 3; _ -> 0-    , \x -> case x of 0 -> 1; 3 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; 2 -> 1; _ -> 0-    , \x -> case x of 4 -> 2; _ -> 0-    , \x -> case x of 5 -> 1; _ -> 0-    , \x -> case x of 0 -> 5; _ -> 1-    , \x -> case x of 1 -> 4; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 3; _ -> 1-    , \x -> case x of 0 -> 3; 1 -> 0; _ -> 1-    , \x -> case x of 2 -> 3; _ -> 1-    , \x -> case x of 0 -> 0; 2 -> 2; _ -> 1-    , \x -> case x of 0 -> 2; 2 -> 0; _ -> 1-    , \x -> case x of 3 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 1-    , \x -> case x of 0 -> 0; 4 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; 3 -> 0; _ -> 1-    , \x -> case x of 5 -> 0; _ -> 1-    , \x -> case x of 0 -> 4; _ -> 2-    , \x -> case x of 1 -> 3; _ -> 2-    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 2 -> 1; _ -> 2-    , \x -> case x of 0 -> 1; 2 -> 0; _ -> 2-    , \x -> case x of 3 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 2-    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 2-    , \x -> case x of 4 -> 0; _ -> 2-    , \x -> case x of 1 -> 2; _ -> 3-    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 3-    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 3-    , \x -> case x of 2 -> 1; _ -> 3-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 3-    , \x -> case x of 3 -> 0; _ -> 3-    , \x -> case x of 0 -> 2; _ -> 4-    , \x -> case x of 1 -> 1; _ -> 4-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 4-    , \x -> case x of 2 -> 0; _ -> 4-    , \x -> case x of 0 -> 1; _ -> 5-    , \x -> case x of 1 -> 0; _ -> 5-    , \x -> case x of 0 -> 0; _ -> 6-    , \_ -> 7-    ]-  , [ \x -> case x of 0 -> 7; _ -> 0-    , \x -> case x of 1 -> 6; _ -> 0-    , \x -> case x of 0 -> 1; 1 -> 4; _ -> 0-    , \x -> case x of 0 -> 2; 1 -> 3; _ -> 0-    , \x -> case x of 0 -> 3; 1 -> 2; _ -> 0-    , \x -> case x of 0 -> 4; 1 -> 1; _ -> 0-    , \x -> case x of 2 -> 5; _ -> 0-    , \x -> case x of 0 -> 1; 2 -> 3; _ -> 0-    , \x -> case x of 0 -> 2; 2 -> 2; _ -> 0-    , \x -> case x of 0 -> 3; 2 -> 1; _ -> 0-    , \x -> case x of 3 -> 4; _ -> 0-    , \x -> case x of 0 -> 1; 3 -> 2; _ -> 0-    , \x -> case x of 0 -> 2; 3 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; 2 -> 2; _ -> 0-    , \x -> case x of 1 -> 2; 2 -> 1; _ -> 0-    , \x -> case x of 4 -> 3; _ -> 0-    , \x -> case x of 0 -> 1; 4 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; 3 -> 1; _ -> 0-    , \x -> case x of 5 -> 2; _ -> 0-    , \x -> case x of 6 -> 1; _ -> 0-    , \x -> case x of 0 -> 6; _ -> 1-    , \x -> case x of 1 -> 5; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 4; _ -> 1-    , \x -> case x of 0 -> 2; 1 -> 2; _ -> 1-    , \x -> case x of 0 -> 4; 1 -> 0; _ -> 1-    , \x -> case x of 2 -> 4; _ -> 1-    , \x -> case x of 0 -> 0; 2 -> 3; _ -> 1-    , \x -> case x of 0 -> 3; 2 -> 0; _ -> 1-    , \x -> case x of 3 -> 3; _ -> 1-    , \x -> case x of 0 -> 0; 3 -> 2; _ -> 1-    , \x -> case x of 0 -> 2; 3 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; 2 -> 2; _ -> 1-    , \x -> case x of 1 -> 2; 2 -> 0; _ -> 1-    , \x -> case x of 4 -> 2; _ -> 1-    , \x -> case x of 0 -> 0; 1 -> 0; 3 -> 0; _ -> 1-    , \x -> case x of 0 -> 0; 5 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; 4 -> 0; _ -> 1-    , \x -> case x of 2 -> 0; 3 -> 0; _ -> 1-    , \x -> case x of 6 -> 0; _ -> 1-    , \x -> case x of 0 -> 5; _ -> 2-    , \x -> case x of 1 -> 4; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> 3; _ -> 2-    , \x -> case x of 0 -> 3; 1 -> 0; _ -> 2-    , \x -> case x of 2 -> 3; _ -> 2-    , \x -> case x of 0 -> 1; 2 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 3 -> 1; _ -> 2-    , \x -> case x of 0 -> 1; 3 -> 0; _ -> 2-    , \x -> case x of 1 -> 0; 2 -> 1; _ -> 2-    , \x -> case x of 1 -> 1; 2 -> 0; _ -> 2-    , \x -> case x of 4 -> 1; _ -> 2-    , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 2-    , \x -> case x of 0 -> 0; 4 -> 0; _ -> 2-    , \x -> case x of 1 -> 0; 3 -> 0; _ -> 2-    , \x -> case x of 5 -> 0; _ -> 2-    , \x -> case x of 0 -> 4; _ -> 3-    , \x -> case x of 0 -> 0; 1 -> 2; _ -> 3-    , \x -> case x of 0 -> 1; 1 -> 1; _ -> 3-    , \x -> case x of 0 -> 2; 1 -> 0; _ -> 3-    , \x -> case x of 2 -> 2; _ -> 3-    , \x -> case x of 0 -> 0; 2 -> 1; _ -> 3-    , \x -> case x of 0 -> 1; 2 -> 0; _ -> 3-    , \x -> case x of 3 -> 1; _ -> 3-    , \x -> case x of 0 -> 0; 3 -> 0; _ -> 3-    , \x -> case x of 1 -> 0; 2 -> 0; _ -> 3-    , \x -> case x of 4 -> 0; _ -> 3-    , \x -> case x of 0 -> 3; _ -> 4-    , \x -> case x of 1 -> 2; _ -> 4-    , \x -> case x of 0 -> 0; 1 -> 1; _ -> 4-    , \x -> case x of 0 -> 1; 1 -> 0; _ -> 4-    , \x -> case x of 2 -> 1; _ -> 4-    , \x -> case x of 0 -> 0; 2 -> 0; _ -> 4-    , \x -> case x of 3 -> 0; _ -> 4-    , \x -> case x of 0 -> 2; _ -> 5-    , \x -> case x of 1 -> 1; _ -> 5-    , \x -> case x of 0 -> 0; 1 -> 0; _ -> 5-    , \x -> case x of 2 -> 0; _ -> 5-    , \x -> case x of 0 -> 1; _ -> 6-    , \x -> case x of 1 -> 0; _ -> 6-    , \x -> case x of 0 -> 0; _ -> 7-    , \_ -> 8-    ]-  , ...-  ]
− test/diff/tiers-4cases-Nat-U.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ Nat->() ]])  =  [1,0,0,0,0,0,...]--length (list :: [ Nat->() ])  =  1--allUnique (list :: [ Nat->() ])  =  True--ratioRepetitions (list :: [ Nat->() ])  =  0 % 1--tiers :: [Nat->()]  =-  [ [\_ -> ()]-  , []-  , []-  , []-  , []-  , []-  , ...-  ]
− test/diff/tiers-4cases-Nat2-Nat2.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ Nat2->Nat2 ]])  =  [1,2,1]--length (list :: [ Nat2->Nat2 ])  =  4--allUnique (list :: [ Nat2->Nat2 ])  =  True--ratioRepetitions (list :: [ Nat2->Nat2 ])  =  0 % 1--tiers :: [Nat2->Nat2]  =-  [ [\_ -> 0]-  , [ \x -> case x of 0 -> 0; 1 -> 1-    , \x -> case x of 0 -> 1; 1 -> 0-    ]-  , [\_ -> 1]-  ]
− test/diff/tiers-4cases-Nat2-Nat3.out
@@ -1,22 +0,0 @@-map length (tiers :: [[ Nat2->Nat3 ]])  =  [1,2,3,2,1]--length (list :: [ Nat2->Nat3 ])  =  9--allUnique (list :: [ Nat2->Nat3 ])  =  True--ratioRepetitions (list :: [ Nat2->Nat3 ])  =  0 % 1--tiers :: [Nat2->Nat3]  =-  [ [\_ -> 0]-  , [ \x -> case x of 0 -> 0; 1 -> 1-    , \x -> case x of 0 -> 1; 1 -> 0-    ]-  , [ \x -> case x of 0 -> 0; 1 -> 2-    , \_ -> 1-    , \x -> case x of 0 -> 2; 1 -> 0-    ]-  , [ \x -> case x of 0 -> 1; 1 -> 2-    , \x -> case x of 0 -> 2; 1 -> 1-    ]-  , [\_ -> 2]-  ]
− test/diff/tiers-4cases-Nat3-Nat2.out
@@ -1,20 +0,0 @@-map length (tiers :: [[ Nat3->Nat2 ]])  =  [1,3,3,1]--length (list :: [ Nat3->Nat2 ])  =  8--allUnique (list :: [ Nat3->Nat2 ])  =  True--ratioRepetitions (list :: [ Nat3->Nat2 ])  =  0 % 1--tiers :: [Nat3->Nat2]  =-  [ [\_ -> 0]-  , [ \x -> case x of 2 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; _ -> 0-    , \x -> case x of 0 -> 1; _ -> 0-    ]-  , [ \x -> case x of 0 -> 0; _ -> 1-    , \x -> case x of 1 -> 0; _ -> 1-    , \x -> case x of 2 -> 0; _ -> 1-    ]-  , [\_ -> 1]-  ]
− test/diff/tiers-4cases-Nat3-Nat3.out
@@ -1,42 +0,0 @@-map length (tiers :: [[ Nat3->Nat3 ]])  =  [1,3,6,7,6,3,1]--length (list :: [ Nat3->Nat3 ])  =  Infinity--allUnique (list :: [ Nat3->Nat3 ])  =  True--ratioRepetitions (list :: [ Nat3->Nat3 ])  =  0 % 1--tiers :: [Nat3->Nat3]  =-  [ [\_ -> 0]-  , [ \x -> case x of 2 -> 1; _ -> 0-    , \x -> case x of 1 -> 1; _ -> 0-    , \x -> case x of 0 -> 1; _ -> 0-    ]-  , [ \x -> case x of 2 -> 2; _ -> 0-    , \x -> case x of 0 -> 0; _ -> 1-    , \x -> case x of 1 -> 2; _ -> 0-    , \x -> case x of 1 -> 0; _ -> 1-    , \x -> case x of 2 -> 0; _ -> 1-    , \x -> case x of 0 -> 2; _ -> 0-    ]-  , [ \x -> case x of 0 -> 0; 1 -> 1; 2 -> 2-    , \x -> case x of 0 -> 0; 1 -> 2; 2 -> 1-    , \x -> case x of 0 -> 1; 1 -> 0; 2 -> 2-    , \_ -> 1-    , \x -> case x of 0 -> 1; 1 -> 2; 2 -> 0-    , \x -> case x of 0 -> 2; 1 -> 0; 2 -> 1-    , \x -> case x of 0 -> 2; 1 -> 1; 2 -> 0-    ]-  , [ \x -> case x of 0 -> 0; _ -> 2-    , \x -> case x of 2 -> 2; _ -> 1-    , \x -> case x of 1 -> 2; _ -> 1-    , \x -> case x of 1 -> 0; _ -> 2-    , \x -> case x of 0 -> 2; _ -> 1-    , \x -> case x of 2 -> 0; _ -> 2-    ]-  , [ \x -> case x of 0 -> 1; _ -> 2-    , \x -> case x of 1 -> 1; _ -> 2-    , \x -> case x of 2 -> 1; _ -> 2-    ]-  , [\_ -> 2]-  ]
− test/diff/tiers-4cases-Nats-Nats.out
@@ -1,135 +0,0 @@-map length (tiers :: [[ [Nat]->[Nat] ]])  =  [1,1,4,10,29,75,...]--length (list :: [ [Nat]->[Nat] ])  =  Infinity--allUnique (list :: [ [Nat]->[Nat] ])  =  True--ratioRepetitions (list :: [ [Nat]->[Nat] ])  =  0 % 1--tiers :: [[Nat]->[Nat]]  =-  [ [\_ -> []]-  , [\_ -> [0]]-  , [ \x -> case x of [] -> [0]; _ -> []-    , \x -> case x of [] -> []; _ -> [0]-    , \_ -> [0,0]-    , \_ -> [1]-    ]-  , [ \x -> case x of [] -> [0,0]; _ -> []-    , \x -> case x of [] -> [1]; _ -> []-    , \x -> case x of [0] -> [0]; _ -> []-    , \x -> case x of [0] -> []; _ -> [0]-    , \x -> case x of [] -> []; _ -> [0,0]-    , \x -> case x of [] -> []; _ -> [1]-    , \_ -> [0,0,0]-    , \_ -> [0,1]-    , \_ -> [1,0]-    , \_ -> [2]-    ]-  , [ \x -> case x of [] -> [0,0,0]; _ -> []-    , \x -> case x of [] -> [0,1]; _ -> []-    , \x -> case x of [] -> [1,0]; _ -> []-    , \x -> case x of [] -> [2]; _ -> []-    , \x -> case x of [0] -> [0,0]; _ -> []-    , \x -> case x of [0] -> [1]; _ -> []-    , \x -> case x of [0,0] -> [0]; _ -> []-    , \x -> case x of [1] -> [0]; _ -> []-    , \x -> case x of [] -> [0,0]; _ -> [0]-    , \x -> case x of [] -> [1]; _ -> [0]-    , \x -> case x of [] -> []; [0] -> []; _ -> [0]-    , \x -> case x of [0,0] -> []; _ -> [0]-    , \x -> case x of [1] -> []; _ -> [0]-    , \x -> case x of [] -> [0]; _ -> [0,0]-    , \x -> case x of [0] -> []; _ -> [0,0]-    , \x -> case x of [] -> [0]; _ -> [1]-    , \x -> case x of [0] -> []; _ -> [1]-    , \x -> case x of [] -> []; _ -> [0,0,0]-    , \x -> case x of [] -> []; _ -> [0,1]-    , \x -> case x of [] -> []; _ -> [1,0]-    , \x -> case x of [] -> []; _ -> [2]-    , \_ -> [0,0,0,0]-    , \_ -> [0,0,1]-    , \_ -> [0,1,0]-    , \_ -> [0,2]-    , \_ -> [1,0,0]-    , \_ -> [1,1]-    , \_ -> [2,0]-    , \_ -> [3]-    ]-  , [ \x -> case x of [] -> [0,0,0,0]; _ -> []-    , \x -> case x of [] -> [0,0,1]; _ -> []-    , \x -> case x of [] -> [0,1,0]; _ -> []-    , \x -> case x of [] -> [0,2]; _ -> []-    , \x -> case x of [] -> [1,0,0]; _ -> []-    , \x -> case x of [] -> [1,1]; _ -> []-    , \x -> case x of [] -> [2,0]; _ -> []-    , \x -> case x of [] -> [3]; _ -> []-    , \x -> case x of [0] -> [0,0,0]; _ -> []-    , \x -> case x of [0] -> [0,1]; _ -> []-    , \x -> case x of [0] -> [1,0]; _ -> []-    , \x -> case x of [0] -> [2]; _ -> []-    , \x -> case x of [] -> [0]; [0] -> [0]; _ -> []-    , \x -> case x of [0,0] -> [0,0]; _ -> []-    , \x -> case x of [0,0] -> [1]; _ -> []-    , \x -> case x of [1] -> [0,0]; _ -> []-    , \x -> case x of [1] -> [1]; _ -> []-    , \x -> case x of [0,0,0] -> [0]; _ -> []-    , \x -> case x of [0,1] -> [0]; _ -> []-    , \x -> case x of [1,0] -> [0]; _ -> []-    , \x -> case x of [2] -> [0]; _ -> []-    , \x -> case x of [] -> [0,0,0]; _ -> [0]-    , \x -> case x of [] -> [0,1]; _ -> [0]-    , \x -> case x of [] -> [1,0]; _ -> [0]-    , \x -> case x of [] -> [2]; _ -> [0]-    , \x -> case x of [0] -> [0,0]; _ -> [0]-    , \x -> case x of [0] -> [1]; _ -> [0]-    , \x -> case x of [] -> []; [0,0] -> []; _ -> [0]-    , \x -> case x of [] -> []; [1] -> []; _ -> [0]-    , \x -> case x of [0,0,0] -> []; _ -> [0]-    , \x -> case x of [0,1] -> []; _ -> [0]-    , \x -> case x of [1,0] -> []; _ -> [0]-    , \x -> case x of [2] -> []; _ -> [0]-    , \x -> case x of [] -> [1]; _ -> [0,0]-    , \x -> case x of [0] -> [0]; _ -> [0,0]-    , \x -> case x of [] -> []; [0] -> []; _ -> [0,0]-    , \x -> case x of [0,0] -> []; _ -> [0,0]-    , \x -> case x of [1] -> []; _ -> [0,0]-    , \x -> case x of [] -> [0,0]; _ -> [1]-    , \x -> case x of [0] -> [0]; _ -> [1]-    , \x -> case x of [] -> []; [0] -> []; _ -> [1]-    , \x -> case x of [0,0] -> []; _ -> [1]-    , \x -> case x of [1] -> []; _ -> [1]-    , \x -> case x of [] -> [0]; _ -> [0,0,0]-    , \x -> case x of [0] -> []; _ -> [0,0,0]-    , \x -> case x of [] -> [0]; _ -> [0,1]-    , \x -> case x of [0] -> []; _ -> [0,1]-    , \x -> case x of [] -> [0]; _ -> [1,0]-    , \x -> case x of [0] -> []; _ -> [1,0]-    , \x -> case x of [] -> [0]; _ -> [2]-    , \x -> case x of [0] -> []; _ -> [2]-    , \x -> case x of [] -> []; _ -> [0,0,0,0]-    , \x -> case x of [] -> []; _ -> [0,0,1]-    , \x -> case x of [] -> []; _ -> [0,1,0]-    , \x -> case x of [] -> []; _ -> [0,2]-    , \x -> case x of [] -> []; _ -> [1,0,0]-    , \x -> case x of [] -> []; _ -> [1,1]-    , \x -> case x of [] -> []; _ -> [2,0]-    , \x -> case x of [] -> []; _ -> [3]-    , \_ -> [0,0,0,0,0]-    , \_ -> [0,0,0,1]-    , \_ -> [0,0,1,0]-    , \_ -> [0,0,2]-    , \_ -> [0,1,0,0]-    , \_ -> [0,1,1]-    , \_ -> [0,2,0]-    , \_ -> [0,3]-    , \_ -> [1,0,0,0]-    , \_ -> [1,0,1]-    , \_ -> [1,1,0]-    , \_ -> [1,2]-    , \_ -> [2,0,0]-    , \_ -> [2,1]-    , \_ -> [3,0]-    , \_ -> [4]-    ]-  , ...-  ]
− test/diff/tiers-4cases-U-Bool.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ ()->Bool ]])  =  [2]--length (list :: [ ()->Bool ])  =  2--allUnique (list :: [ ()->Bool ])  =  True--ratioRepetitions (list :: [ ()->Bool ])  =  0 % 1--tiers :: [()->Bool]  =-  [ [ \_ -> False-    , \_ -> True-    ]-  ]
− test/diff/tiers-4cases-U-Nat.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ ()->Nat ]])  =  [1,1,1,1,1,1,...]--length (list :: [ ()->Nat ])  =  Infinity--allUnique (list :: [ ()->Nat ])  =  True--ratioRepetitions (list :: [ ()->Nat ])  =  0 % 1--tiers :: [()->Nat]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [\_ -> 2]-  , [\_ -> 3]-  , [\_ -> 4]-  , [\_ -> 5]-  , ...-  ]
− test/diff/tiers-4cases-U-U.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ ()->() ]])  =  [1]--length (list :: [ ()->() ])  =  1--allUnique (list :: [ ()->() ])  =  True--ratioRepetitions (list :: [ ()->() ])  =  0 % 1--tiers :: [()->()]  =-  [[\_ -> ()]]
− test/diff/tiers-4cases-Us-Us.out
@@ -1,51 +0,0 @@-map length (tiers :: [[ [()]->[()] ]])  =  [1,1,3,5,10,16,...]--length (list :: [ [()]->[()] ])  =  Infinity--allUnique (list :: [ [()]->[()] ])  =  True--ratioRepetitions (list :: [ [()]->[()] ])  =  0 % 1--tiers :: [[()]->[()]]  =-  [ [\_ -> []]-  , [\_ -> [()]]-  , [ \x -> case x of [] -> [()]; _ -> []-    , \x -> case x of [] -> []; _ -> [()]-    , \_ -> [(),()]-    ]-  , [ \x -> case x of [] -> [(),()]; _ -> []-    , \x -> case x of [()] -> [()]; _ -> []-    , \x -> case x of [()] -> []; _ -> [()]-    , \x -> case x of [] -> []; _ -> [(),()]-    , \_ -> [(),(),()]-    ]-  , [ \x -> case x of [] -> [(),(),()]; _ -> []-    , \x -> case x of [()] -> [(),()]; _ -> []-    , \x -> case x of [(),()] -> [()]; _ -> []-    , \x -> case x of [] -> [(),()]; _ -> [()]-    , \x -> case x of [] -> []; [()] -> []; _ -> [()]-    , \x -> case x of [(),()] -> []; _ -> [()]-    , \x -> case x of [] -> [()]; _ -> [(),()]-    , \x -> case x of [()] -> []; _ -> [(),()]-    , \x -> case x of [] -> []; _ -> [(),(),()]-    , \_ -> [(),(),(),()]-    ]-  , [ \x -> case x of [] -> [(),(),(),()]; _ -> []-    , \x -> case x of [()] -> [(),(),()]; _ -> []-    , \x -> case x of [] -> [()]; [()] -> [()]; _ -> []-    , \x -> case x of [(),()] -> [(),()]; _ -> []-    , \x -> case x of [(),(),()] -> [()]; _ -> []-    , \x -> case x of [] -> [(),(),()]; _ -> [()]-    , \x -> case x of [()] -> [(),()]; _ -> [()]-    , \x -> case x of [] -> []; [(),()] -> []; _ -> [()]-    , \x -> case x of [(),(),()] -> []; _ -> [()]-    , \x -> case x of [()] -> [()]; _ -> [(),()]-    , \x -> case x of [] -> []; [()] -> []; _ -> [(),()]-    , \x -> case x of [(),()] -> []; _ -> [(),()]-    , \x -> case x of [] -> [()]; _ -> [(),(),()]-    , \x -> case x of [()] -> []; _ -> [(),(),()]-    , \x -> case x of [] -> []; _ -> [(),(),(),()]-    , \_ -> [(),(),(),(),()]-    ]-  , ...-  ]
− test/diff/tiers-BagBool.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ Bag Bool ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ Bag Bool ])  =  Infinity--allUnique (list :: [ Bag Bool ])  =  True--ratioRepetitions (list :: [ Bag Bool ])  =  0 % 1--tiers :: [Bag Bool]  =-  [ [Bag []]-  , [ Bag [False]-    , Bag [True]-    ]-  , [ Bag [False,False]-    , Bag [False,True]-    , Bag [True,True]-    ]-  , [ Bag [False,False,False]-    , Bag [False,False,True]-    , Bag [False,True,True]-    , Bag [True,True,True]-    ]-  , [ Bag [False,False,False,False]-    , Bag [False,False,False,True]-    , Bag [False,False,True,True]-    , Bag [False,True,True,True]-    , Bag [True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False]-    , Bag [False,False,False,False,True]-    , Bag [False,False,False,True,True]-    , Bag [False,False,True,True,True]-    , Bag [False,True,True,True,True]-    , Bag [True,True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False,False]-    , Bag [False,False,False,False,False,True]-    , Bag [False,False,False,False,True,True]-    , Bag [False,False,False,True,True,True]-    , Bag [False,False,True,True,True,True]-    , Bag [False,True,True,True,True,True]-    , Bag [True,True,True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False,False,False]-    , Bag [False,False,False,False,False,False,True]-    , Bag [False,False,False,False,False,True,True]-    , Bag [False,False,False,False,True,True,True]-    , Bag [False,False,False,True,True,True,True]-    , Bag [False,False,True,True,True,True,True]-    , Bag [False,True,True,True,True,True,True]-    , Bag [True,True,True,True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False,False,False,False]-    , Bag [False,False,False,False,False,False,False,True]-    , Bag [False,False,False,False,False,False,True,True]-    , Bag [False,False,False,False,False,True,True,True]-    , Bag [False,False,False,False,True,True,True,True]-    , Bag [False,False,False,True,True,True,True,True]-    , Bag [False,False,True,True,True,True,True,True]-    , Bag [False,True,True,True,True,True,True,True]-    , Bag [True,True,True,True,True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False,False,False,False,False]-    , Bag [False,False,False,False,False,False,False,False,True]-    , Bag [False,False,False,False,False,False,False,True,True]-    , Bag [False,False,False,False,False,False,True,True,True]-    , Bag [False,False,False,False,False,True,True,True,True]-    , Bag [False,False,False,False,True,True,True,True,True]-    , Bag [False,False,False,True,True,True,True,True,True]-    , Bag [False,False,True,True,True,True,True,True,True]-    , Bag [False,True,True,True,True,True,True,True,True]-    , Bag [True,True,True,True,True,True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False,False,False,False,False,False]-    , Bag [False,False,False,False,False,False,False,False,False,True]-    , Bag [False,False,False,False,False,False,False,False,True,True]-    , Bag [False,False,False,False,False,False,False,True,True,True]-    , Bag [False,False,False,False,False,False,True,True,True,True]-    , Bag [False,False,False,False,False,True,True,True,True,True]-    , Bag [False,False,False,False,True,True,True,True,True,True]-    , Bag [False,False,False,True,True,True,True,True,True,True]-    , Bag [False,False,True,True,True,True,True,True,True,True]-    , Bag [False,True,True,True,True,True,True,True,True,True]-    , Bag [True,True,True,True,True,True,True,True,True,True]-    ]-  , [ Bag [False,False,False,False,False,False,False,False,False,False,False]-    , Bag [False,False,False,False,False,False,False,False,False,False,True]-    , Bag [False,False,False,False,False,False,False,False,False,True,True]-    , Bag [False,False,False,False,False,False,False,False,True,True,True]-    , Bag [False,False,False,False,False,False,False,True,True,True,True]-    , Bag [False,False,False,False,False,False,True,True,True,True,True]-    , Bag [False,False,False,False,False,True,True,True,True,True,True]-    , Bag [False,False,False,False,True,True,True,True,True,True,True]-    , Bag [False,False,False,True,True,True,True,True,True,True,True]-    , Bag [False,False,True,True,True,True,True,True,True,True,True]-    , Bag [False,True,True,True,True,True,True,True,True,True,True]-    , Bag [True,True,True,True,True,True,True,True,True,True,True]-    ]-  , ...-  ]
− test/diff/tiers-BagNat.out
@@ -1,216 +0,0 @@-map length (tiers :: [[ Bag Nat ]])  =  [1,1,2,3,5,7,11,15,22,30,42,56,...]--length (list :: [ Bag Nat ])  =  Infinity--allUnique (list :: [ Bag Nat ])  =  True--ratioRepetitions (list :: [ Bag Nat ])  =  0 % 1--tiers :: [Bag Nat]  =-  [ [Bag []]-  , [Bag [0]]-  , [ Bag [0,0]-    , Bag [1]-    ]-  , [ Bag [0,0,0]-    , Bag [0,1]-    , Bag [2]-    ]-  , [ Bag [0,0,0,0]-    , Bag [0,0,1]-    , Bag [0,2]-    , Bag [1,1]-    , Bag [3]-    ]-  , [ Bag [0,0,0,0,0]-    , Bag [0,0,0,1]-    , Bag [0,0,2]-    , Bag [0,1,1]-    , Bag [0,3]-    , Bag [1,2]-    , Bag [4]-    ]-  , [ Bag [0,0,0,0,0,0]-    , Bag [0,0,0,0,1]-    , Bag [0,0,0,2]-    , Bag [0,0,1,1]-    , Bag [0,0,3]-    , Bag [0,1,2]-    , Bag [0,4]-    , Bag [1,1,1]-    , Bag [1,3]-    , Bag [2,2]-    , Bag [5]-    ]-  , [ Bag [0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,1]-    , Bag [0,0,0,0,2]-    , Bag [0,0,0,1,1]-    , Bag [0,0,0,3]-    , Bag [0,0,1,2]-    , Bag [0,0,4]-    , Bag [0,1,1,1]-    , Bag [0,1,3]-    , Bag [0,2,2]-    , Bag [0,5]-    , Bag [1,1,2]-    , Bag [1,4]-    , Bag [2,3]-    , Bag [6]-    ]-  , [ Bag [0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,2]-    , Bag [0,0,0,0,1,1]-    , Bag [0,0,0,0,3]-    , Bag [0,0,0,1,2]-    , Bag [0,0,0,4]-    , Bag [0,0,1,1,1]-    , Bag [0,0,1,3]-    , Bag [0,0,2,2]-    , Bag [0,0,5]-    , Bag [0,1,1,2]-    , Bag [0,1,4]-    , Bag [0,2,3]-    , Bag [0,6]-    , Bag [1,1,1,1]-    , Bag [1,1,3]-    , Bag [1,2,2]-    , Bag [1,5]-    , Bag [2,4]-    , Bag [3,3]-    , Bag [7]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,2]-    , Bag [0,0,0,0,0,1,1]-    , Bag [0,0,0,0,0,3]-    , Bag [0,0,0,0,1,2]-    , Bag [0,0,0,0,4]-    , Bag [0,0,0,1,1,1]-    , Bag [0,0,0,1,3]-    , Bag [0,0,0,2,2]-    , Bag [0,0,0,5]-    , Bag [0,0,1,1,2]-    , Bag [0,0,1,4]-    , Bag [0,0,2,3]-    , Bag [0,0,6]-    , Bag [0,1,1,1,1]-    , Bag [0,1,1,3]-    , Bag [0,1,2,2]-    , Bag [0,1,5]-    , Bag [0,2,4]-    , Bag [0,3,3]-    , Bag [0,7]-    , Bag [1,1,1,2]-    , Bag [1,1,4]-    , Bag [1,2,3]-    , Bag [1,6]-    , Bag [2,2,2]-    , Bag [2,5]-    , Bag [3,4]-    , Bag [8]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,0,2]-    , Bag [0,0,0,0,0,0,1,1]-    , Bag [0,0,0,0,0,0,3]-    , Bag [0,0,0,0,0,1,2]-    , Bag [0,0,0,0,0,4]-    , Bag [0,0,0,0,1,1,1]-    , Bag [0,0,0,0,1,3]-    , Bag [0,0,0,0,2,2]-    , Bag [0,0,0,0,5]-    , Bag [0,0,0,1,1,2]-    , Bag [0,0,0,1,4]-    , Bag [0,0,0,2,3]-    , Bag [0,0,0,6]-    , Bag [0,0,1,1,1,1]-    , Bag [0,0,1,1,3]-    , Bag [0,0,1,2,2]-    , Bag [0,0,1,5]-    , Bag [0,0,2,4]-    , Bag [0,0,3,3]-    , Bag [0,0,7]-    , Bag [0,1,1,1,2]-    , Bag [0,1,1,4]-    , Bag [0,1,2,3]-    , Bag [0,1,6]-    , Bag [0,2,2,2]-    , Bag [0,2,5]-    , Bag [0,3,4]-    , Bag [0,8]-    , Bag [1,1,1,1,1]-    , Bag [1,1,1,3]-    , Bag [1,1,2,2]-    , Bag [1,1,5]-    , Bag [1,2,4]-    , Bag [1,3,3]-    , Bag [1,7]-    , Bag [2,2,3]-    , Bag [2,6]-    , Bag [3,5]-    , Bag [4,4]-    , Bag [9]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,0,0,2]-    , Bag [0,0,0,0,0,0,0,1,1]-    , Bag [0,0,0,0,0,0,0,3]-    , Bag [0,0,0,0,0,0,1,2]-    , Bag [0,0,0,0,0,0,4]-    , Bag [0,0,0,0,0,1,1,1]-    , Bag [0,0,0,0,0,1,3]-    , Bag [0,0,0,0,0,2,2]-    , Bag [0,0,0,0,0,5]-    , Bag [0,0,0,0,1,1,2]-    , Bag [0,0,0,0,1,4]-    , Bag [0,0,0,0,2,3]-    , Bag [0,0,0,0,6]-    , Bag [0,0,0,1,1,1,1]-    , Bag [0,0,0,1,1,3]-    , Bag [0,0,0,1,2,2]-    , Bag [0,0,0,1,5]-    , Bag [0,0,0,2,4]-    , Bag [0,0,0,3,3]-    , Bag [0,0,0,7]-    , Bag [0,0,1,1,1,2]-    , Bag [0,0,1,1,4]-    , Bag [0,0,1,2,3]-    , Bag [0,0,1,6]-    , Bag [0,0,2,2,2]-    , Bag [0,0,2,5]-    , Bag [0,0,3,4]-    , Bag [0,0,8]-    , Bag [0,1,1,1,1,1]-    , Bag [0,1,1,1,3]-    , Bag [0,1,1,2,2]-    , Bag [0,1,1,5]-    , Bag [0,1,2,4]-    , Bag [0,1,3,3]-    , Bag [0,1,7]-    , Bag [0,2,2,3]-    , Bag [0,2,6]-    , Bag [0,3,5]-    , Bag [0,4,4]-    , Bag [0,9]-    , Bag [1,1,1,1,2]-    , Bag [1,1,1,4]-    , Bag [1,1,2,3]-    , Bag [1,1,6]-    , Bag [1,2,2,2]-    , Bag [1,2,5]-    , Bag [1,3,4]-    , Bag [1,8]-    , Bag [2,2,4]-    , Bag [2,3,3]-    , Bag [2,7]-    , Bag [3,6]-    , Bag [4,5]-    , Bag [10]-    ]-  , ...-  ]
− test/diff/tiers-BagNat2.out
@@ -1,63 +0,0 @@-map length (tiers :: [[ Bag Nat2 ]])  =  [1,1,2,2,3,3,4,4,5,5,6,6,...]--length (list :: [ Bag Nat2 ])  =  Infinity--allUnique (list :: [ Bag Nat2 ])  =  True--ratioRepetitions (list :: [ Bag Nat2 ])  =  0 % 1--tiers :: [Bag Nat2]  =-  [ [Bag []]-  , [Bag [0]]-  , [ Bag [0,0]-    , Bag [1]-    ]-  , [ Bag [0,0,0]-    , Bag [0,1]-    ]-  , [ Bag [0,0,0,0]-    , Bag [0,0,1]-    , Bag [1,1]-    ]-  , [ Bag [0,0,0,0,0]-    , Bag [0,0,0,1]-    , Bag [0,1,1]-    ]-  , [ Bag [0,0,0,0,0,0]-    , Bag [0,0,0,0,1]-    , Bag [0,0,1,1]-    , Bag [1,1,1]-    ]-  , [ Bag [0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,1]-    , Bag [0,0,0,1,1]-    , Bag [0,1,1,1]-    ]-  , [ Bag [0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,1]-    , Bag [0,0,0,0,1,1]-    , Bag [0,0,1,1,1]-    , Bag [1,1,1,1]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,1,1]-    , Bag [0,0,0,1,1,1]-    , Bag [0,1,1,1,1]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,1,1]-    , Bag [0,0,0,0,1,1,1]-    , Bag [0,0,1,1,1,1]-    , Bag [1,1,1,1,1]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,0,1,1]-    , Bag [0,0,0,0,0,1,1,1]-    , Bag [0,0,0,1,1,1,1]-    , Bag [0,1,1,1,1,1]-    ]-  , ...-  ]
− test/diff/tiers-BagNat3.out
@@ -1,104 +0,0 @@-map length (tiers :: [[ Bag Nat3 ]])  =  [1,1,2,3,4,5,7,8,10,12,14,16,...]--length (list :: [ Bag Nat3 ])  =  Infinity--allUnique (list :: [ Bag Nat3 ])  =  True--ratioRepetitions (list :: [ Bag Nat3 ])  =  0 % 1--tiers :: [Bag Nat3]  =-  [ [Bag []]-  , [Bag [0]]-  , [ Bag [0,0]-    , Bag [1]-    ]-  , [ Bag [0,0,0]-    , Bag [0,1]-    , Bag [2]-    ]-  , [ Bag [0,0,0,0]-    , Bag [0,0,1]-    , Bag [0,2]-    , Bag [1,1]-    ]-  , [ Bag [0,0,0,0,0]-    , Bag [0,0,0,1]-    , Bag [0,0,2]-    , Bag [0,1,1]-    , Bag [1,2]-    ]-  , [ Bag [0,0,0,0,0,0]-    , Bag [0,0,0,0,1]-    , Bag [0,0,0,2]-    , Bag [0,0,1,1]-    , Bag [0,1,2]-    , Bag [1,1,1]-    , Bag [2,2]-    ]-  , [ Bag [0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,1]-    , Bag [0,0,0,0,2]-    , Bag [0,0,0,1,1]-    , Bag [0,0,1,2]-    , Bag [0,1,1,1]-    , Bag [0,2,2]-    , Bag [1,1,2]-    ]-  , [ Bag [0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,2]-    , Bag [0,0,0,0,1,1]-    , Bag [0,0,0,1,2]-    , Bag [0,0,1,1,1]-    , Bag [0,0,2,2]-    , Bag [0,1,1,2]-    , Bag [1,1,1,1]-    , Bag [1,2,2]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,2]-    , Bag [0,0,0,0,0,1,1]-    , Bag [0,0,0,0,1,2]-    , Bag [0,0,0,1,1,1]-    , Bag [0,0,0,2,2]-    , Bag [0,0,1,1,2]-    , Bag [0,1,1,1,1]-    , Bag [0,1,2,2]-    , Bag [1,1,1,2]-    , Bag [2,2,2]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,0,2]-    , Bag [0,0,0,0,0,0,1,1]-    , Bag [0,0,0,0,0,1,2]-    , Bag [0,0,0,0,1,1,1]-    , Bag [0,0,0,0,2,2]-    , Bag [0,0,0,1,1,2]-    , Bag [0,0,1,1,1,1]-    , Bag [0,0,1,2,2]-    , Bag [0,1,1,1,2]-    , Bag [0,2,2,2]-    , Bag [1,1,1,1,1]-    , Bag [1,1,2,2]-    ]-  , [ Bag [0,0,0,0,0,0,0,0,0,0,0]-    , Bag [0,0,0,0,0,0,0,0,0,1]-    , Bag [0,0,0,0,0,0,0,0,2]-    , Bag [0,0,0,0,0,0,0,1,1]-    , Bag [0,0,0,0,0,0,1,2]-    , Bag [0,0,0,0,0,1,1,1]-    , Bag [0,0,0,0,0,2,2]-    , Bag [0,0,0,0,1,1,2]-    , Bag [0,0,0,1,1,1,1]-    , Bag [0,0,0,1,2,2]-    , Bag [0,0,1,1,1,2]-    , Bag [0,0,2,2,2]-    , Bag [0,1,1,1,1,1]-    , Bag [0,1,1,2,2]-    , Bag [1,1,1,1,2]-    , Bag [1,2,2,2]-    ]-  , ...-  ]
− test/diff/tiers-BagU.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Bag () ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Bag () ])  =  Infinity--allUnique (list :: [ Bag () ])  =  True--ratioRepetitions (list :: [ Bag () ])  =  0 % 1--tiers :: [Bag ()]  =-  [ [Bag []]-  , [Bag [()]]-  , [Bag [(),()]]-  , [Bag [(),(),()]]-  , [Bag [(),(),(),()]]-  , [Bag [(),(),(),(),()]]-  , [Bag [(),(),(),(),(),()]]-  , [Bag [(),(),(),(),(),(),()]]-  , [Bag [(),(),(),(),(),(),(),()]]-  , [Bag [(),(),(),(),(),(),(),(),()]]-  , [Bag [(),(),(),(),(),(),(),(),(),()]]-  , [Bag [(),(),(),(),(),(),(),(),(),(),()]]-  , ...-  ]
− test/diff/tiers-Bool.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ Bool ]])  =  [2]--length (list :: [ Bool ])  =  2--allUnique (list :: [ Bool ])  =  True--ratioRepetitions (list :: [ Bool ])  =  0 % 1--tiers :: [Bool]  =-  [ [ False-    , True-    ]-  ]
− test/diff/tiers-Bools.out
@@ -1,79 +0,0 @@-map length (tiers :: [[ [Bool] ]])  =  [1,2,4,8,16,32,...]--length (list :: [ [Bool] ])  =  Infinity--allUnique (list :: [ [Bool] ])  =  True--ratioRepetitions (list :: [ [Bool] ])  =  0 % 1--tiers :: [[Bool]]  =-  [ [[]]-  , [ [False]-    , [True]-    ]-  , [ [False,False]-    , [False,True]-    , [True,False]-    , [True,True]-    ]-  , [ [False,False,False]-    , [False,False,True]-    , [False,True,False]-    , [False,True,True]-    , [True,False,False]-    , [True,False,True]-    , [True,True,False]-    , [True,True,True]-    ]-  , [ [False,False,False,False]-    , [False,False,False,True]-    , [False,False,True,False]-    , [False,False,True,True]-    , [False,True,False,False]-    , [False,True,False,True]-    , [False,True,True,False]-    , [False,True,True,True]-    , [True,False,False,False]-    , [True,False,False,True]-    , [True,False,True,False]-    , [True,False,True,True]-    , [True,True,False,False]-    , [True,True,False,True]-    , [True,True,True,False]-    , [True,True,True,True]-    ]-  , [ [False,False,False,False,False]-    , [False,False,False,False,True]-    , [False,False,False,True,False]-    , [False,False,False,True,True]-    , [False,False,True,False,False]-    , [False,False,True,False,True]-    , [False,False,True,True,False]-    , [False,False,True,True,True]-    , [False,True,False,False,False]-    , [False,True,False,False,True]-    , [False,True,False,True,False]-    , [False,True,False,True,True]-    , [False,True,True,False,False]-    , [False,True,True,False,True]-    , [False,True,True,True,False]-    , [False,True,True,True,True]-    , [True,False,False,False,False]-    , [True,False,False,False,True]-    , [True,False,False,True,False]-    , [True,False,False,True,True]-    , [True,False,True,False,False]-    , [True,False,True,False,True]-    , [True,False,True,True,False]-    , [True,False,True,True,True]-    , [True,True,False,False,False]-    , [True,True,False,False,True]-    , [True,True,False,True,False]-    , [True,True,False,True,True]-    , [True,True,True,False,False]-    , [True,True,True,False,True]-    , [True,True,True,True,False]-    , [True,True,True,True,True]-    ]-  , ...-  ]
− test/diff/tiers-Char.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Char ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Char ])  =  Infinity--allUnique (list :: [ Char ])  =  True--ratioRepetitions (list :: [ Char ])  =  0 % 1--tiers :: [Char]  =-  [ ['a']-  , [' ']-  , ['b']-  , ['A']-  , ['c']-  , ['\n']-  , ['d']-  , ['0']-  , ['e']-  , ['B']-  , ['f']-  , ['!']-  , ...-  ]
− test/diff/tiers-ComplexDouble.out
@@ -1,88 +0,0 @@-map length (tiers :: [[ Complex Double ]])  =  [0,1,2,3,4,5,6,7,8,9,10,11,...]--length (list :: [ Complex Double ])  =  Infinity--allUnique (list :: [ Complex Double ])  =  True--ratioRepetitions (list :: [ Complex Double ])  =  0 % 1--tiers :: [Complex Double]  =-  [ []-  , [0.0 :+ 0.0]-  , [ 0.0 :+ 1.0-    , 1.0 :+ 0.0-    ]-  , [ 0.0 :+ (-1.0)-    , 1.0 :+ 1.0-    , (-1.0) :+ 0.0-    ]-  , [ 0.0 :+ 0.5-    , 1.0 :+ (-1.0)-    , (-1.0) :+ 1.0-    , 0.5 :+ 0.0-    ]-  , [ 0.0 :+ (-0.5)-    , 1.0 :+ 0.5-    , (-1.0) :+ (-1.0)-    , 0.5 :+ 1.0-    , (-0.5) :+ 0.0-    ]-  , [ 0.0 :+ 2.0-    , 1.0 :+ (-0.5)-    , (-1.0) :+ 0.5-    , 0.5 :+ (-1.0)-    , (-0.5) :+ 1.0-    , 2.0 :+ 0.0-    ]-  , [ 0.0 :+ Infinity-    , 1.0 :+ 2.0-    , (-1.0) :+ (-0.5)-    , 0.5 :+ 0.5-    , (-0.5) :+ (-1.0)-    , 2.0 :+ 1.0-    , Infinity :+ 0.0-    ]-  , [ 0.0 :+ (-Infinity)-    , 1.0 :+ Infinity-    , (-1.0) :+ 2.0-    , 0.5 :+ (-0.5)-    , (-0.5) :+ 0.5-    , 2.0 :+ (-1.0)-    , Infinity :+ 1.0-    , (-Infinity) :+ 0.0-    ]-  , [ 0.0 :+ (-2.0)-    , 1.0 :+ (-Infinity)-    , (-1.0) :+ Infinity-    , 0.5 :+ 2.0-    , (-0.5) :+ (-0.5)-    , 2.0 :+ 0.5-    , Infinity :+ (-1.0)-    , (-Infinity) :+ 1.0-    , (-2.0) :+ 0.0-    ]-  , [ 0.0 :+ 0.3333333333333333-    , 1.0 :+ (-2.0)-    , (-1.0) :+ (-Infinity)-    , 0.5 :+ Infinity-    , (-0.5) :+ 2.0-    , 2.0 :+ (-0.5)-    , Infinity :+ 0.5-    , (-Infinity) :+ (-1.0)-    , (-2.0) :+ 1.0-    , 0.3333333333333333 :+ 0.0-    ]-  , [ 0.0 :+ (-0.3333333333333333)-    , 1.0 :+ 0.3333333333333333-    , (-1.0) :+ (-2.0)-    , 0.5 :+ (-Infinity)-    , (-0.5) :+ Infinity-    , 2.0 :+ 2.0-    , Infinity :+ (-0.5)-    , (-Infinity) :+ 0.5-    , (-2.0) :+ (-1.0)-    , 0.3333333333333333 :+ 1.0-    , (-0.3333333333333333) :+ 0.0-    ]-  , ...-  ]
− test/diff/tiers-Double.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Double ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Double ])  =  Infinity--allUnique (list :: [ Double ])  =  True--ratioRepetitions (list :: [ Double ])  =  0 % 1--tiers :: [Double]  =-  [ [0.0]-  , [1.0]-  , [-1.0]-  , [0.5]-  , [-0.5]-  , [2.0]-  , [Infinity]-  , [-Infinity]-  , [-2.0]-  , [0.3333333333333333]-  , [-0.3333333333333333]-  , [1.5]-  , ...-  ]
− test/diff/tiers-Float.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Float ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Float ])  =  Infinity--allUnique (list :: [ Float ])  =  True--ratioRepetitions (list :: [ Float ])  =  0 % 1--tiers :: [Float]  =-  [ [0.0]-  , [1.0]-  , [-1.0]-  , [0.5]-  , [-0.5]-  , [2.0]-  , [Infinity]-  , [-Infinity]-  , [-2.0]-  , [0.33333334]-  , [-0.33333334]-  , [1.5]-  , ...-  ]
− test/diff/tiers-Int,Int,Int.out
@@ -1,72 +0,0 @@-map length (tiers :: [[ (Int,Int,Int) ]])  =  [1,3,6,10,15,21,...]--length (list :: [ (Int,Int,Int) ])  =  Infinity--allUnique (list :: [ (Int,Int,Int) ])  =  True--ratioRepetitions (list :: [ (Int,Int,Int) ])  =  0 % 1--tiers :: [(Int,Int,Int)]  =-  [ [(0,0,0)]-  , [ (0,0,1)-    , (0,1,0)-    , (1,0,0)-    ]-  , [ (0,0,-1)-    , (0,1,1)-    , (0,-1,0)-    , (1,0,1)-    , (1,1,0)-    , (-1,0,0)-    ]-  , [ (0,0,2)-    , (0,1,-1)-    , (0,-1,1)-    , (0,2,0)-    , (1,0,-1)-    , (1,1,1)-    , (1,-1,0)-    , (-1,0,1)-    , (-1,1,0)-    , (2,0,0)-    ]-  , [ (0,0,-2)-    , (0,1,2)-    , (0,-1,-1)-    , (0,2,1)-    , (0,-2,0)-    , (1,0,2)-    , (1,1,-1)-    , (1,-1,1)-    , (1,2,0)-    , (-1,0,-1)-    , (-1,1,1)-    , (-1,-1,0)-    , (2,0,1)-    , (2,1,0)-    , (-2,0,0)-    ]-  , [ (0,0,3)-    , (0,1,-2)-    , (0,-1,2)-    , (0,2,-1)-    , (0,-2,1)-    , (0,3,0)-    , (1,0,-2)-    , (1,1,2)-    , (1,-1,-1)-    , (1,2,1)-    , (1,-2,0)-    , (-1,0,2)-    , (-1,1,-1)-    , (-1,-1,1)-    , (-1,2,0)-    , (2,0,-1)-    , (2,1,1)-    , (2,-1,0)-    , (-2,0,1)-    , (-2,1,0)-    , (3,0,0)-    ]-  , ...-  ]
− test/diff/tiers-Int,Int.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ (Int,Int) ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ (Int,Int) ])  =  Infinity--allUnique (list :: [ (Int,Int) ])  =  True--ratioRepetitions (list :: [ (Int,Int) ])  =  0 % 1--tiers :: [(Int,Int)]  =-  [ [(0,0)]-  , [ (0,1)-    , (1,0)-    ]-  , [ (0,-1)-    , (1,1)-    , (-1,0)-    ]-  , [ (0,2)-    , (1,-1)-    , (-1,1)-    , (2,0)-    ]-  , [ (0,-2)-    , (1,2)-    , (-1,-1)-    , (2,1)-    , (-2,0)-    ]-  , [ (0,3)-    , (1,-2)-    , (-1,2)-    , (2,-1)-    , (-2,1)-    , (3,0)-    ]-  , [ (0,-3)-    , (1,3)-    , (-1,-2)-    , (2,2)-    , (-2,-1)-    , (3,1)-    , (-3,0)-    ]-  , [ (0,4)-    , (1,-3)-    , (-1,3)-    , (2,-2)-    , (-2,2)-    , (3,-1)-    , (-3,1)-    , (4,0)-    ]-  , [ (0,-4)-    , (1,4)-    , (-1,-3)-    , (2,3)-    , (-2,-2)-    , (3,2)-    , (-3,-1)-    , (4,1)-    , (-4,0)-    ]-  , [ (0,5)-    , (1,-4)-    , (-1,4)-    , (2,-3)-    , (-2,3)-    , (3,-2)-    , (-3,2)-    , (4,-1)-    , (-4,1)-    , (5,0)-    ]-  , [ (0,-5)-    , (1,5)-    , (-1,-4)-    , (2,4)-    , (-2,-3)-    , (3,3)-    , (-3,-2)-    , (4,2)-    , (-4,-1)-    , (5,1)-    , (-5,0)-    ]-  , [ (0,6)-    , (1,-5)-    , (-1,5)-    , (2,-4)-    , (-2,4)-    , (3,-3)-    , (-3,3)-    , (4,-2)-    , (-4,2)-    , (5,-1)-    , (-5,1)-    , (6,0)-    ]-  , ...-  ]
− test/diff/tiers-Int.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Int ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Int ])  =  Infinity--allUnique (list :: [ Int ])  =  True--ratioRepetitions (list :: [ Int ])  =  0 % 1--tiers :: [Int]  =-  [ [0]-  , [1]-  , [-1]-  , [2]-  , [-2]-  , [3]-  , [-3]-  , [4]-  , [-4]-  , [5]-  , [-5]-  , [6]-  , ...-  ]
− test/diff/tiers-Int2.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Int2 ]])  =  [1,1,1,1]--length (list :: [ Int2 ])  =  4--allUnique (list :: [ Int2 ])  =  True--ratioRepetitions (list :: [ Int2 ])  =  0 % 1--tiers :: [Int2]  =-  [ [0]-  , [1]-  , [-1]-  , [-2]-  ]
− test/diff/tiers-Int3.out
@@ -1,18 +0,0 @@-map length (tiers :: [[ Int3 ]])  =  [1,1,1,1,1,1,1,1]--length (list :: [ Int3 ])  =  8--allUnique (list :: [ Int3 ])  =  True--ratioRepetitions (list :: [ Int3 ])  =  0 % 1--tiers :: [Int3]  =-  [ [0]-  , [1]-  , [-1]-  , [2]-  , [-2]-  , [3]-  , [-3]-  , [-4]-  ]
− test/diff/tiers-Int4.out
@@ -1,26 +0,0 @@-map length (tiers :: [[ Int4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]--length (list :: [ Int4 ])  =  Infinity--allUnique (list :: [ Int4 ])  =  True--ratioRepetitions (list :: [ Int4 ])  =  0 % 1--tiers :: [Int4]  =-  [ [0]-  , [1]-  , [-1]-  , [2]-  , [-2]-  , [3]-  , [-3]-  , [4]-  , [-4]-  , [5]-  , [-5]-  , [6]-  , [-6]-  , [7]-  , [-7]-  , [-8]-  ]
− test/diff/tiers-Int8.out
@@ -1,266 +0,0 @@-map length (tiers :: [[ Int8 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]--length (list :: [ Int8 ])  =  Infinity--allUnique (list :: [ Int8 ])  =  True--ratioRepetitions (list :: [ Int8 ])  =  0 % 1--tiers :: [Int8]  =-  [ [0]-  , [1]-  , [-1]-  , [2]-  , [-2]-  , [3]-  , [-3]-  , [4]-  , [-4]-  , [5]-  , [-5]-  , [6]-  , [-6]-  , [7]-  , [-7]-  , [8]-  , [-8]-  , [9]-  , [-9]-  , [10]-  , [-10]-  , [11]-  , [-11]-  , [12]-  , [-12]-  , [13]-  , [-13]-  , [14]-  , [-14]-  , [15]-  , [-15]-  , [16]-  , [-16]-  , [17]-  , [-17]-  , [18]-  , [-18]-  , [19]-  , [-19]-  , [20]-  , [-20]-  , [21]-  , [-21]-  , [22]-  , [-22]-  , [23]-  , [-23]-  , [24]-  , [-24]-  , [25]-  , [-25]-  , [26]-  , [-26]-  , [27]-  , [-27]-  , [28]-  , [-28]-  , [29]-  , [-29]-  , [30]-  , [-30]-  , [31]-  , [-31]-  , [32]-  , [-32]-  , [33]-  , [-33]-  , [34]-  , [-34]-  , [35]-  , [-35]-  , [36]-  , [-36]-  , [37]-  , [-37]-  , [38]-  , [-38]-  , [39]-  , [-39]-  , [40]-  , [-40]-  , [41]-  , [-41]-  , [42]-  , [-42]-  , [43]-  , [-43]-  , [44]-  , [-44]-  , [45]-  , [-45]-  , [46]-  , [-46]-  , [47]-  , [-47]-  , [48]-  , [-48]-  , [49]-  , [-49]-  , [50]-  , [-50]-  , [51]-  , [-51]-  , [52]-  , [-52]-  , [53]-  , [-53]-  , [54]-  , [-54]-  , [55]-  , [-55]-  , [56]-  , [-56]-  , [57]-  , [-57]-  , [58]-  , [-58]-  , [59]-  , [-59]-  , [60]-  , [-60]-  , [61]-  , [-61]-  , [62]-  , [-62]-  , [63]-  , [-63]-  , [64]-  , [-64]-  , [65]-  , [-65]-  , [66]-  , [-66]-  , [67]-  , [-67]-  , [68]-  , [-68]-  , [69]-  , [-69]-  , [70]-  , [-70]-  , [71]-  , [-71]-  , [72]-  , [-72]-  , [73]-  , [-73]-  , [74]-  , [-74]-  , [75]-  , [-75]-  , [76]-  , [-76]-  , [77]-  , [-77]-  , [78]-  , [-78]-  , [79]-  , [-79]-  , [80]-  , [-80]-  , [81]-  , [-81]-  , [82]-  , [-82]-  , [83]-  , [-83]-  , [84]-  , [-84]-  , [85]-  , [-85]-  , [86]-  , [-86]-  , [87]-  , [-87]-  , [88]-  , [-88]-  , [89]-  , [-89]-  , [90]-  , [-90]-  , [91]-  , [-91]-  , [92]-  , [-92]-  , [93]-  , [-93]-  , [94]-  , [-94]-  , [95]-  , [-95]-  , [96]-  , [-96]-  , [97]-  , [-97]-  , [98]-  , [-98]-  , [99]-  , [-99]-  , [100]-  , [-100]-  , [101]-  , [-101]-  , [102]-  , [-102]-  , [103]-  , [-103]-  , [104]-  , [-104]-  , [105]-  , [-105]-  , [106]-  , [-106]-  , [107]-  , [-107]-  , [108]-  , [-108]-  , [109]-  , [-109]-  , [110]-  , [-110]-  , [111]-  , [-111]-  , [112]-  , [-112]-  , [113]-  , [-113]-  , [114]-  , [-114]-  , [115]-  , [-115]-  , [116]-  , [-116]-  , [117]-  , [-117]-  , [118]-  , [-118]-  , [119]-  , [-119]-  , [120]-  , [-120]-  , [121]-  , [-121]-  , [122]-  , [-122]-  , [123]-  , [-123]-  , [124]-  , [-124]-  , [125]-  , [-125]-  , [126]-  , [-126]-  , [127]-  , [-127]-  , [-128]-  ]
− test/diff/tiers-Integer.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Integer ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Integer ])  =  Infinity--allUnique (list :: [ Integer ])  =  True--ratioRepetitions (list :: [ Integer ])  =  0 % 1--tiers :: [Integer]  =-  [ [0]-  , [1]-  , [-1]-  , [2]-  , [-2]-  , [3]-  , [-3]-  , [4]-  , [-4]-  , [5]-  , [-5]-  , [6]-  , ...-  ]
− test/diff/tiers-Ints.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ [Int] ]])  =  [1,1,2,4,8,16,...]--length (list :: [ [Int] ])  =  Infinity--allUnique (list :: [ [Int] ])  =  True--ratioRepetitions (list :: [ [Int] ])  =  0 % 1--tiers :: [[Int]]  =-  [ [[]]-  , [[0]]-  , [ [0,0]-    , [1]-    ]-  , [ [0,0,0]-    , [0,1]-    , [1,0]-    , [-1]-    ]-  , [ [0,0,0,0]-    , [0,0,1]-    , [0,1,0]-    , [0,-1]-    , [1,0,0]-    , [1,1]-    , [-1,0]-    , [2]-    ]-  , [ [0,0,0,0,0]-    , [0,0,0,1]-    , [0,0,1,0]-    , [0,0,-1]-    , [0,1,0,0]-    , [0,1,1]-    , [0,-1,0]-    , [0,2]-    , [1,0,0,0]-    , [1,0,1]-    , [1,1,0]-    , [1,-1]-    , [-1,0,0]-    , [-1,1]-    , [2,0]-    , [-2]-    ]-  , ...-  ]
− test/diff/tiers-MapBoolBool.out
@@ -1,21 +0,0 @@-map length (tiers :: [[ Map Bool Bool ]])  =  [1,4,4]--length (list :: [ Map Bool Bool ])  =  9--allUnique (list :: [ Map Bool Bool ])  =  True--ratioRepetitions (list :: [ Map Bool Bool ])  =  0 % 1--tiers :: [Map Bool Bool]  =-  [ [Map []]-  , [ Map [(False,False)]-    , Map [(False,True)]-    , Map [(True,False)]-    , Map [(True,True)]-    ]-  , [ Map [(False,False),(True,False)]-    , Map [(False,False),(True,True)]-    , Map [(False,True),(True,False)]-    , Map [(False,True),(True,True)]-    ]-  ]
− test/diff/tiers-MapNat2Nat2.out
@@ -1,22 +0,0 @@-map length (tiers :: [[ Map Nat2 Nat2 ]])  =  [1,1,2,2,2,1]--length (list :: [ Map Nat2 Nat2 ])  =  9--allUnique (list :: [ Map Nat2 Nat2 ])  =  True--ratioRepetitions (list :: [ Map Nat2 Nat2 ])  =  0 % 1--tiers :: [Map Nat2 Nat2]  =-  [ [Map []]-  , [Map [(0,0)]]-  , [ Map [(0,1)]-    , Map [(1,0)]-    ]-  , [ Map [(1,1)]-    , Map [(0,0),(1,0)]-    ]-  , [ Map [(0,0),(1,1)]-    , Map [(0,1),(1,0)]-    ]-  , [Map [(0,1),(1,1)]]-  ]
− test/diff/tiers-MapNat3Nat3.out
@@ -1,84 +0,0 @@-map length (tiers :: [[ Map Nat3 Nat3 ]])  =  [1,1,2,4,5,7,8,9,9,8,6,3,...]--length (list :: [ Map Nat3 Nat3 ])  =  Infinity--allUnique (list :: [ Map Nat3 Nat3 ])  =  True--ratioRepetitions (list :: [ Map Nat3 Nat3 ])  =  0 % 1--tiers :: [Map Nat3 Nat3]  =-  [ [Map []]-  , [Map [(0,0)]]-  , [ Map [(0,1)]-    , Map [(1,0)]-    ]-  , [ Map [(0,2)]-    , Map [(1,1)]-    , Map [(0,0),(1,0)]-    , Map [(2,0)]-    ]-  , [ Map [(1,2)]-    , Map [(0,0),(1,1)]-    , Map [(0,1),(1,0)]-    , Map [(2,1)]-    , Map [(0,0),(2,0)]-    ]-  , [ Map [(0,0),(1,2)]-    , Map [(0,1),(1,1)]-    , Map [(0,2),(1,0)]-    , Map [(2,2)]-    , Map [(0,0),(2,1)]-    , Map [(0,1),(2,0)]-    , Map [(1,0),(2,0)]-    ]-  , [ Map [(0,1),(1,2)]-    , Map [(0,2),(1,1)]-    , Map [(0,0),(2,2)]-    , Map [(0,1),(2,1)]-    , Map [(0,2),(2,0)]-    , Map [(1,0),(2,1)]-    , Map [(1,1),(2,0)]-    , Map [(0,0),(1,0),(2,0)]-    ]-  , [ Map [(0,2),(1,2)]-    , Map [(0,1),(2,2)]-    , Map [(0,2),(2,1)]-    , Map [(1,0),(2,2)]-    , Map [(1,1),(2,1)]-    , Map [(1,2),(2,0)]-    , Map [(0,0),(1,0),(2,1)]-    , Map [(0,0),(1,1),(2,0)]-    , Map [(0,1),(1,0),(2,0)]-    ]-  , [ Map [(0,2),(2,2)]-    , Map [(1,1),(2,2)]-    , Map [(1,2),(2,1)]-    , Map [(0,0),(1,0),(2,2)]-    , Map [(0,0),(1,1),(2,1)]-    , Map [(0,0),(1,2),(2,0)]-    , Map [(0,1),(1,0),(2,1)]-    , Map [(0,1),(1,1),(2,0)]-    , Map [(0,2),(1,0),(2,0)]-    ]-  , [ Map [(1,2),(2,2)]-    , Map [(0,0),(1,1),(2,2)]-    , Map [(0,0),(1,2),(2,1)]-    , Map [(0,1),(1,0),(2,2)]-    , Map [(0,1),(1,1),(2,1)]-    , Map [(0,1),(1,2),(2,0)]-    , Map [(0,2),(1,0),(2,1)]-    , Map [(0,2),(1,1),(2,0)]-    ]-  , [ Map [(0,0),(1,2),(2,2)]-    , Map [(0,1),(1,1),(2,2)]-    , Map [(0,1),(1,2),(2,1)]-    , Map [(0,2),(1,0),(2,2)]-    , Map [(0,2),(1,1),(2,1)]-    , Map [(0,2),(1,2),(2,0)]-    ]-  , [ Map [(0,1),(1,2),(2,2)]-    , Map [(0,2),(1,1),(2,2)]-    , Map [(0,2),(1,2),(2,1)]-    ]-  , ...-  ]
− test/diff/tiers-MapNatNat.out
@@ -1,571 +0,0 @@-map length (tiers :: [[ Map Nat Nat ]])  =  [1,1,2,4,7,12,20,33,53,84,131,202,...]--length (list :: [ Map Nat Nat ])  =  Infinity--allUnique (list :: [ Map Nat Nat ])  =  True--ratioRepetitions (list :: [ Map Nat Nat ])  =  0 % 1--tiers :: [Map Nat Nat]  =-  [ [Map []]-  , [Map [(0,0)]]-  , [ Map [(0,1)]-    , Map [(1,0)]-    ]-  , [ Map [(0,2)]-    , Map [(1,1)]-    , Map [(0,0),(1,0)]-    , Map [(2,0)]-    ]-  , [ Map [(0,3)]-    , Map [(1,2)]-    , Map [(0,0),(1,1)]-    , Map [(0,1),(1,0)]-    , Map [(2,1)]-    , Map [(0,0),(2,0)]-    , Map [(3,0)]-    ]-  , [ Map [(0,4)]-    , Map [(1,3)]-    , Map [(0,0),(1,2)]-    , Map [(0,1),(1,1)]-    , Map [(0,2),(1,0)]-    , Map [(2,2)]-    , Map [(0,0),(2,1)]-    , Map [(0,1),(2,0)]-    , Map [(3,1)]-    , Map [(0,0),(3,0)]-    , Map [(1,0),(2,0)]-    , Map [(4,0)]-    ]-  , [ Map [(0,5)]-    , Map [(1,4)]-    , Map [(0,0),(1,3)]-    , Map [(0,1),(1,2)]-    , Map [(0,2),(1,1)]-    , Map [(0,3),(1,0)]-    , Map [(2,3)]-    , Map [(0,0),(2,2)]-    , Map [(0,1),(2,1)]-    , Map [(0,2),(2,0)]-    , Map [(3,2)]-    , Map [(0,0),(3,1)]-    , Map [(0,1),(3,0)]-    , Map [(1,0),(2,1)]-    , Map [(1,1),(2,0)]-    , Map [(4,1)]-    , Map [(0,0),(1,0),(2,0)]-    , Map [(0,0),(4,0)]-    , Map [(1,0),(3,0)]-    , Map [(5,0)]-    ]-  , [ Map [(0,6)]-    , Map [(1,5)]-    , Map [(0,0),(1,4)]-    , Map [(0,1),(1,3)]-    , Map [(0,2),(1,2)]-    , Map [(0,3),(1,1)]-    , Map [(0,4),(1,0)]-    , Map [(2,4)]-    , Map [(0,0),(2,3)]-    , Map [(0,1),(2,2)]-    , Map [(0,2),(2,1)]-    , Map [(0,3),(2,0)]-    , Map [(3,3)]-    , Map [(0,0),(3,2)]-    , Map [(0,1),(3,1)]-    , Map [(0,2),(3,0)]-    , Map [(1,0),(2,2)]-    , Map [(1,1),(2,1)]-    , Map [(1,2),(2,0)]-    , Map [(4,2)]-    , Map [(0,0),(1,0),(2,1)]-    , Map [(0,0),(1,1),(2,0)]-    , Map [(0,1),(1,0),(2,0)]-    , Map [(0,0),(4,1)]-    , Map [(0,1),(4,0)]-    , Map [(1,0),(3,1)]-    , Map [(1,1),(3,0)]-    , Map [(5,1)]-    , Map [(0,0),(1,0),(3,0)]-    , Map [(0,0),(5,0)]-    , Map [(1,0),(4,0)]-    , Map [(2,0),(3,0)]-    , Map [(6,0)]-    ]-  , [ Map [(0,7)]-    , Map [(1,6)]-    , Map [(0,0),(1,5)]-    , Map [(0,1),(1,4)]-    , Map [(0,2),(1,3)]-    , Map [(0,3),(1,2)]-    , Map [(0,4),(1,1)]-    , Map [(0,5),(1,0)]-    , Map [(2,5)]-    , Map [(0,0),(2,4)]-    , Map [(0,1),(2,3)]-    , Map [(0,2),(2,2)]-    , Map [(0,3),(2,1)]-    , Map [(0,4),(2,0)]-    , Map [(3,4)]-    , Map [(0,0),(3,3)]-    , Map [(0,1),(3,2)]-    , Map [(0,2),(3,1)]-    , Map [(0,3),(3,0)]-    , Map [(1,0),(2,3)]-    , Map [(1,1),(2,2)]-    , Map [(1,2),(2,1)]-    , Map [(1,3),(2,0)]-    , Map [(4,3)]-    , Map [(0,0),(1,0),(2,2)]-    , Map [(0,0),(1,1),(2,1)]-    , Map [(0,0),(1,2),(2,0)]-    , Map [(0,1),(1,0),(2,1)]-    , Map [(0,1),(1,1),(2,0)]-    , Map [(0,2),(1,0),(2,0)]-    , Map [(0,0),(4,2)]-    , Map [(0,1),(4,1)]-    , Map [(0,2),(4,0)]-    , Map [(1,0),(3,2)]-    , Map [(1,1),(3,1)]-    , Map [(1,2),(3,0)]-    , Map [(5,2)]-    , Map [(0,0),(1,0),(3,1)]-    , Map [(0,0),(1,1),(3,0)]-    , Map [(0,1),(1,0),(3,0)]-    , Map [(0,0),(5,1)]-    , Map [(0,1),(5,0)]-    , Map [(1,0),(4,1)]-    , Map [(1,1),(4,0)]-    , Map [(2,0),(3,1)]-    , Map [(2,1),(3,0)]-    , Map [(6,1)]-    , Map [(0,0),(1,0),(4,0)]-    , Map [(0,0),(2,0),(3,0)]-    , Map [(0,0),(6,0)]-    , Map [(1,0),(5,0)]-    , Map [(2,0),(4,0)]-    , Map [(7,0)]-    ]-  , [ Map [(0,8)]-    , Map [(1,7)]-    , Map [(0,0),(1,6)]-    , Map [(0,1),(1,5)]-    , Map [(0,2),(1,4)]-    , Map [(0,3),(1,3)]-    , Map [(0,4),(1,2)]-    , Map [(0,5),(1,1)]-    , Map [(0,6),(1,0)]-    , Map [(2,6)]-    , Map [(0,0),(2,5)]-    , Map [(0,1),(2,4)]-    , Map [(0,2),(2,3)]-    , Map [(0,3),(2,2)]-    , Map [(0,4),(2,1)]-    , Map [(0,5),(2,0)]-    , Map [(3,5)]-    , Map [(0,0),(3,4)]-    , Map [(0,1),(3,3)]-    , Map [(0,2),(3,2)]-    , Map [(0,3),(3,1)]-    , Map [(0,4),(3,0)]-    , Map [(1,0),(2,4)]-    , Map [(1,1),(2,3)]-    , Map [(1,2),(2,2)]-    , Map [(1,3),(2,1)]-    , Map [(1,4),(2,0)]-    , Map [(4,4)]-    , Map [(0,0),(1,0),(2,3)]-    , Map [(0,0),(1,1),(2,2)]-    , Map [(0,0),(1,2),(2,1)]-    , Map [(0,0),(1,3),(2,0)]-    , Map [(0,1),(1,0),(2,2)]-    , Map [(0,1),(1,1),(2,1)]-    , Map [(0,1),(1,2),(2,0)]-    , Map [(0,2),(1,0),(2,1)]-    , Map [(0,2),(1,1),(2,0)]-    , Map [(0,3),(1,0),(2,0)]-    , Map [(0,0),(4,3)]-    , Map [(0,1),(4,2)]-    , Map [(0,2),(4,1)]-    , Map [(0,3),(4,0)]-    , Map [(1,0),(3,3)]-    , Map [(1,1),(3,2)]-    , Map [(1,2),(3,1)]-    , Map [(1,3),(3,0)]-    , Map [(5,3)]-    , Map [(0,0),(1,0),(3,2)]-    , Map [(0,0),(1,1),(3,1)]-    , Map [(0,0),(1,2),(3,0)]-    , Map [(0,1),(1,0),(3,1)]-    , Map [(0,1),(1,1),(3,0)]-    , Map [(0,2),(1,0),(3,0)]-    , Map [(0,0),(5,2)]-    , Map [(0,1),(5,1)]-    , Map [(0,2),(5,0)]-    , Map [(1,0),(4,2)]-    , Map [(1,1),(4,1)]-    , Map [(1,2),(4,0)]-    , Map [(2,0),(3,2)]-    , Map [(2,1),(3,1)]-    , Map [(2,2),(3,0)]-    , Map [(6,2)]-    , Map [(0,0),(1,0),(4,1)]-    , Map [(0,0),(1,1),(4,0)]-    , Map [(0,1),(1,0),(4,0)]-    , Map [(0,0),(2,0),(3,1)]-    , Map [(0,0),(2,1),(3,0)]-    , Map [(0,1),(2,0),(3,0)]-    , Map [(0,0),(6,1)]-    , Map [(0,1),(6,0)]-    , Map [(1,0),(5,1)]-    , Map [(1,1),(5,0)]-    , Map [(2,0),(4,1)]-    , Map [(2,1),(4,0)]-    , Map [(7,1)]-    , Map [(0,0),(1,0),(5,0)]-    , Map [(0,0),(2,0),(4,0)]-    , Map [(0,0),(7,0)]-    , Map [(1,0),(2,0),(3,0)]-    , Map [(1,0),(6,0)]-    , Map [(2,0),(5,0)]-    , Map [(3,0),(4,0)]-    , Map [(8,0)]-    ]-  , [ Map [(0,9)]-    , Map [(1,8)]-    , Map [(0,0),(1,7)]-    , Map [(0,1),(1,6)]-    , Map [(0,2),(1,5)]-    , Map [(0,3),(1,4)]-    , Map [(0,4),(1,3)]-    , Map [(0,5),(1,2)]-    , Map [(0,6),(1,1)]-    , Map [(0,7),(1,0)]-    , Map [(2,7)]-    , Map [(0,0),(2,6)]-    , Map [(0,1),(2,5)]-    , Map [(0,2),(2,4)]-    , Map [(0,3),(2,3)]-    , Map [(0,4),(2,2)]-    , Map [(0,5),(2,1)]-    , Map [(0,6),(2,0)]-    , Map [(3,6)]-    , Map [(0,0),(3,5)]-    , Map [(0,1),(3,4)]-    , Map [(0,2),(3,3)]-    , Map [(0,3),(3,2)]-    , Map [(0,4),(3,1)]-    , Map [(0,5),(3,0)]-    , Map [(1,0),(2,5)]-    , Map [(1,1),(2,4)]-    , Map [(1,2),(2,3)]-    , Map [(1,3),(2,2)]-    , Map [(1,4),(2,1)]-    , Map [(1,5),(2,0)]-    , Map [(4,5)]-    , Map [(0,0),(1,0),(2,4)]-    , Map [(0,0),(1,1),(2,3)]-    , Map [(0,0),(1,2),(2,2)]-    , Map [(0,0),(1,3),(2,1)]-    , Map [(0,0),(1,4),(2,0)]-    , Map [(0,1),(1,0),(2,3)]-    , Map [(0,1),(1,1),(2,2)]-    , Map [(0,1),(1,2),(2,1)]-    , Map [(0,1),(1,3),(2,0)]-    , Map [(0,2),(1,0),(2,2)]-    , Map [(0,2),(1,1),(2,1)]-    , Map [(0,2),(1,2),(2,0)]-    , Map [(0,3),(1,0),(2,1)]-    , Map [(0,3),(1,1),(2,0)]-    , Map [(0,4),(1,0),(2,0)]-    , Map [(0,0),(4,4)]-    , Map [(0,1),(4,3)]-    , Map [(0,2),(4,2)]-    , Map [(0,3),(4,1)]-    , Map [(0,4),(4,0)]-    , Map [(1,0),(3,4)]-    , Map [(1,1),(3,3)]-    , Map [(1,2),(3,2)]-    , Map [(1,3),(3,1)]-    , Map [(1,4),(3,0)]-    , Map [(5,4)]-    , Map [(0,0),(1,0),(3,3)]-    , Map [(0,0),(1,1),(3,2)]-    , Map [(0,0),(1,2),(3,1)]-    , Map [(0,0),(1,3),(3,0)]-    , Map [(0,1),(1,0),(3,2)]-    , Map [(0,1),(1,1),(3,1)]-    , Map [(0,1),(1,2),(3,0)]-    , Map [(0,2),(1,0),(3,1)]-    , Map [(0,2),(1,1),(3,0)]-    , Map [(0,3),(1,0),(3,0)]-    , Map [(0,0),(5,3)]-    , Map [(0,1),(5,2)]-    , Map [(0,2),(5,1)]-    , Map [(0,3),(5,0)]-    , Map [(1,0),(4,3)]-    , Map [(1,1),(4,2)]-    , Map [(1,2),(4,1)]-    , Map [(1,3),(4,0)]-    , Map [(2,0),(3,3)]-    , Map [(2,1),(3,2)]-    , Map [(2,2),(3,1)]-    , Map [(2,3),(3,0)]-    , Map [(6,3)]-    , Map [(0,0),(1,0),(4,2)]-    , Map [(0,0),(1,1),(4,1)]-    , Map [(0,0),(1,2),(4,0)]-    , Map [(0,1),(1,0),(4,1)]-    , Map [(0,1),(1,1),(4,0)]-    , Map [(0,2),(1,0),(4,0)]-    , Map [(0,0),(2,0),(3,2)]-    , Map [(0,0),(2,1),(3,1)]-    , Map [(0,0),(2,2),(3,0)]-    , Map [(0,1),(2,0),(3,1)]-    , Map [(0,1),(2,1),(3,0)]-    , Map [(0,2),(2,0),(3,0)]-    , Map [(0,0),(6,2)]-    , Map [(0,1),(6,1)]-    , Map [(0,2),(6,0)]-    , Map [(1,0),(5,2)]-    , Map [(1,1),(5,1)]-    , Map [(1,2),(5,0)]-    , Map [(2,0),(4,2)]-    , Map [(2,1),(4,1)]-    , Map [(2,2),(4,0)]-    , Map [(7,2)]-    , Map [(0,0),(1,0),(5,1)]-    , Map [(0,0),(1,1),(5,0)]-    , Map [(0,1),(1,0),(5,0)]-    , Map [(0,0),(2,0),(4,1)]-    , Map [(0,0),(2,1),(4,0)]-    , Map [(0,1),(2,0),(4,0)]-    , Map [(0,0),(7,1)]-    , Map [(0,1),(7,0)]-    , Map [(1,0),(2,0),(3,1)]-    , Map [(1,0),(2,1),(3,0)]-    , Map [(1,1),(2,0),(3,0)]-    , Map [(1,0),(6,1)]-    , Map [(1,1),(6,0)]-    , Map [(2,0),(5,1)]-    , Map [(2,1),(5,0)]-    , Map [(3,0),(4,1)]-    , Map [(3,1),(4,0)]-    , Map [(8,1)]-    , Map [(0,0),(1,0),(2,0),(3,0)]-    , Map [(0,0),(1,0),(6,0)]-    , Map [(0,0),(2,0),(5,0)]-    , Map [(0,0),(3,0),(4,0)]-    , Map [(0,0),(8,0)]-    , Map [(1,0),(2,0),(4,0)]-    , Map [(1,0),(7,0)]-    , Map [(2,0),(6,0)]-    , Map [(3,0),(5,0)]-    , Map [(9,0)]-    ]-  , [ Map [(0,10)]-    , Map [(1,9)]-    , Map [(0,0),(1,8)]-    , Map [(0,1),(1,7)]-    , Map [(0,2),(1,6)]-    , Map [(0,3),(1,5)]-    , Map [(0,4),(1,4)]-    , Map [(0,5),(1,3)]-    , Map [(0,6),(1,2)]-    , Map [(0,7),(1,1)]-    , Map [(0,8),(1,0)]-    , Map [(2,8)]-    , Map [(0,0),(2,7)]-    , Map [(0,1),(2,6)]-    , Map [(0,2),(2,5)]-    , Map [(0,3),(2,4)]-    , Map [(0,4),(2,3)]-    , Map [(0,5),(2,2)]-    , Map [(0,6),(2,1)]-    , Map [(0,7),(2,0)]-    , Map [(3,7)]-    , Map [(0,0),(3,6)]-    , Map [(0,1),(3,5)]-    , Map [(0,2),(3,4)]-    , Map [(0,3),(3,3)]-    , Map [(0,4),(3,2)]-    , Map [(0,5),(3,1)]-    , Map [(0,6),(3,0)]-    , Map [(1,0),(2,6)]-    , Map [(1,1),(2,5)]-    , Map [(1,2),(2,4)]-    , Map [(1,3),(2,3)]-    , Map [(1,4),(2,2)]-    , Map [(1,5),(2,1)]-    , Map [(1,6),(2,0)]-    , Map [(4,6)]-    , Map [(0,0),(1,0),(2,5)]-    , Map [(0,0),(1,1),(2,4)]-    , Map [(0,0),(1,2),(2,3)]-    , Map [(0,0),(1,3),(2,2)]-    , Map [(0,0),(1,4),(2,1)]-    , Map [(0,0),(1,5),(2,0)]-    , Map [(0,1),(1,0),(2,4)]-    , Map [(0,1),(1,1),(2,3)]-    , Map [(0,1),(1,2),(2,2)]-    , Map [(0,1),(1,3),(2,1)]-    , Map [(0,1),(1,4),(2,0)]-    , Map [(0,2),(1,0),(2,3)]-    , Map [(0,2),(1,1),(2,2)]-    , Map [(0,2),(1,2),(2,1)]-    , Map [(0,2),(1,3),(2,0)]-    , Map [(0,3),(1,0),(2,2)]-    , Map [(0,3),(1,1),(2,1)]-    , Map [(0,3),(1,2),(2,0)]-    , Map [(0,4),(1,0),(2,1)]-    , Map [(0,4),(1,1),(2,0)]-    , Map [(0,5),(1,0),(2,0)]-    , Map [(0,0),(4,5)]-    , Map [(0,1),(4,4)]-    , Map [(0,2),(4,3)]-    , Map [(0,3),(4,2)]-    , Map [(0,4),(4,1)]-    , Map [(0,5),(4,0)]-    , Map [(1,0),(3,5)]-    , Map [(1,1),(3,4)]-    , Map [(1,2),(3,3)]-    , Map [(1,3),(3,2)]-    , Map [(1,4),(3,1)]-    , Map [(1,5),(3,0)]-    , Map [(5,5)]-    , Map [(0,0),(1,0),(3,4)]-    , Map [(0,0),(1,1),(3,3)]-    , Map [(0,0),(1,2),(3,2)]-    , Map [(0,0),(1,3),(3,1)]-    , Map [(0,0),(1,4),(3,0)]-    , Map [(0,1),(1,0),(3,3)]-    , Map [(0,1),(1,1),(3,2)]-    , Map [(0,1),(1,2),(3,1)]-    , Map [(0,1),(1,3),(3,0)]-    , Map [(0,2),(1,0),(3,2)]-    , Map [(0,2),(1,1),(3,1)]-    , Map [(0,2),(1,2),(3,0)]-    , Map [(0,3),(1,0),(3,1)]-    , Map [(0,3),(1,1),(3,0)]-    , Map [(0,4),(1,0),(3,0)]-    , Map [(0,0),(5,4)]-    , Map [(0,1),(5,3)]-    , Map [(0,2),(5,2)]-    , Map [(0,3),(5,1)]-    , Map [(0,4),(5,0)]-    , Map [(1,0),(4,4)]-    , Map [(1,1),(4,3)]-    , Map [(1,2),(4,2)]-    , Map [(1,3),(4,1)]-    , Map [(1,4),(4,0)]-    , Map [(2,0),(3,4)]-    , Map [(2,1),(3,3)]-    , Map [(2,2),(3,2)]-    , Map [(2,3),(3,1)]-    , Map [(2,4),(3,0)]-    , Map [(6,4)]-    , Map [(0,0),(1,0),(4,3)]-    , Map [(0,0),(1,1),(4,2)]-    , Map [(0,0),(1,2),(4,1)]-    , Map [(0,0),(1,3),(4,0)]-    , Map [(0,1),(1,0),(4,2)]-    , Map [(0,1),(1,1),(4,1)]-    , Map [(0,1),(1,2),(4,0)]-    , Map [(0,2),(1,0),(4,1)]-    , Map [(0,2),(1,1),(4,0)]-    , Map [(0,3),(1,0),(4,0)]-    , Map [(0,0),(2,0),(3,3)]-    , Map [(0,0),(2,1),(3,2)]-    , Map [(0,0),(2,2),(3,1)]-    , Map [(0,0),(2,3),(3,0)]-    , Map [(0,1),(2,0),(3,2)]-    , Map [(0,1),(2,1),(3,1)]-    , Map [(0,1),(2,2),(3,0)]-    , Map [(0,2),(2,0),(3,1)]-    , Map [(0,2),(2,1),(3,0)]-    , Map [(0,3),(2,0),(3,0)]-    , Map [(0,0),(6,3)]-    , Map [(0,1),(6,2)]-    , Map [(0,2),(6,1)]-    , Map [(0,3),(6,0)]-    , Map [(1,0),(5,3)]-    , Map [(1,1),(5,2)]-    , Map [(1,2),(5,1)]-    , Map [(1,3),(5,0)]-    , Map [(2,0),(4,3)]-    , Map [(2,1),(4,2)]-    , Map [(2,2),(4,1)]-    , Map [(2,3),(4,0)]-    , Map [(7,3)]-    , Map [(0,0),(1,0),(5,2)]-    , Map [(0,0),(1,1),(5,1)]-    , Map [(0,0),(1,2),(5,0)]-    , Map [(0,1),(1,0),(5,1)]-    , Map [(0,1),(1,1),(5,0)]-    , Map [(0,2),(1,0),(5,0)]-    , Map [(0,0),(2,0),(4,2)]-    , Map [(0,0),(2,1),(4,1)]-    , Map [(0,0),(2,2),(4,0)]-    , Map [(0,1),(2,0),(4,1)]-    , Map [(0,1),(2,1),(4,0)]-    , Map [(0,2),(2,0),(4,0)]-    , Map [(0,0),(7,2)]-    , Map [(0,1),(7,1)]-    , Map [(0,2),(7,0)]-    , Map [(1,0),(2,0),(3,2)]-    , Map [(1,0),(2,1),(3,1)]-    , Map [(1,0),(2,2),(3,0)]-    , Map [(1,1),(2,0),(3,1)]-    , Map [(1,1),(2,1),(3,0)]-    , Map [(1,2),(2,0),(3,0)]-    , Map [(1,0),(6,2)]-    , Map [(1,1),(6,1)]-    , Map [(1,2),(6,0)]-    , Map [(2,0),(5,2)]-    , Map [(2,1),(5,1)]-    , Map [(2,2),(5,0)]-    , Map [(3,0),(4,2)]-    , Map [(3,1),(4,1)]-    , Map [(3,2),(4,0)]-    , Map [(8,2)]-    , Map [(0,0),(1,0),(2,0),(3,1)]-    , Map [(0,0),(1,0),(2,1),(3,0)]-    , Map [(0,0),(1,1),(2,0),(3,0)]-    , Map [(0,1),(1,0),(2,0),(3,0)]-    , Map [(0,0),(1,0),(6,1)]-    , Map [(0,0),(1,1),(6,0)]-    , Map [(0,1),(1,0),(6,0)]-    , Map [(0,0),(2,0),(5,1)]-    , Map [(0,0),(2,1),(5,0)]-    , Map [(0,1),(2,0),(5,0)]-    , Map [(0,0),(3,0),(4,1)]-    , Map [(0,0),(3,1),(4,0)]-    , Map [(0,1),(3,0),(4,0)]-    , Map [(0,0),(8,1)]-    , Map [(0,1),(8,0)]-    , Map [(1,0),(2,0),(4,1)]-    , Map [(1,0),(2,1),(4,0)]-    , Map [(1,1),(2,0),(4,0)]-    , Map [(1,0),(7,1)]-    , Map [(1,1),(7,0)]-    , Map [(2,0),(6,1)]-    , Map [(2,1),(6,0)]-    , Map [(3,0),(5,1)]-    , Map [(3,1),(5,0)]-    , Map [(9,1)]-    , Map [(0,0),(1,0),(2,0),(4,0)]-    , Map [(0,0),(1,0),(7,0)]-    , Map [(0,0),(2,0),(6,0)]-    , Map [(0,0),(3,0),(5,0)]-    , Map [(0,0),(9,0)]-    , Map [(1,0),(2,0),(5,0)]-    , Map [(1,0),(3,0),(4,0)]-    , Map [(1,0),(8,0)]-    , Map [(2,0),(7,0)]-    , Map [(3,0),(6,0)]-    , Map [(4,0),(5,0)]-    , Map [(10,0)]-    ]-  , ...-  ]
− test/diff/tiers-MapUU.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ Map () () ]])  =  [1,1]--length (list :: [ Map () () ])  =  2--allUnique (list :: [ Map () () ])  =  True--ratioRepetitions (list :: [ Map () () ])  =  0 % 1--tiers :: [Map () ()]  =-  [ [Map []]-  , [Map [((),())]]-  ]
− test/diff/tiers-Nat,Nat,Nat.out
@@ -1,72 +0,0 @@-map length (tiers :: [[ (Nat,Nat,Nat) ]])  =  [1,3,6,10,15,21,...]--length (list :: [ (Nat,Nat,Nat) ])  =  Infinity--allUnique (list :: [ (Nat,Nat,Nat) ])  =  True--ratioRepetitions (list :: [ (Nat,Nat,Nat) ])  =  0 % 1--tiers :: [(Nat,Nat,Nat)]  =-  [ [(0,0,0)]-  , [ (0,0,1)-    , (0,1,0)-    , (1,0,0)-    ]-  , [ (0,0,2)-    , (0,1,1)-    , (0,2,0)-    , (1,0,1)-    , (1,1,0)-    , (2,0,0)-    ]-  , [ (0,0,3)-    , (0,1,2)-    , (0,2,1)-    , (0,3,0)-    , (1,0,2)-    , (1,1,1)-    , (1,2,0)-    , (2,0,1)-    , (2,1,0)-    , (3,0,0)-    ]-  , [ (0,0,4)-    , (0,1,3)-    , (0,2,2)-    , (0,3,1)-    , (0,4,0)-    , (1,0,3)-    , (1,1,2)-    , (1,2,1)-    , (1,3,0)-    , (2,0,2)-    , (2,1,1)-    , (2,2,0)-    , (3,0,1)-    , (3,1,0)-    , (4,0,0)-    ]-  , [ (0,0,5)-    , (0,1,4)-    , (0,2,3)-    , (0,3,2)-    , (0,4,1)-    , (0,5,0)-    , (1,0,4)-    , (1,1,3)-    , (1,2,2)-    , (1,3,1)-    , (1,4,0)-    , (2,0,3)-    , (2,1,2)-    , (2,2,1)-    , (2,3,0)-    , (3,0,2)-    , (3,1,1)-    , (3,2,0)-    , (4,0,1)-    , (4,1,0)-    , (5,0,0)-    ]-  , ...-  ]
− test/diff/tiers-Nat,Nat.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ (Nat,Nat) ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ (Nat,Nat) ])  =  Infinity--allUnique (list :: [ (Nat,Nat) ])  =  True--ratioRepetitions (list :: [ (Nat,Nat) ])  =  0 % 1--tiers :: [(Nat,Nat)]  =-  [ [(0,0)]-  , [ (0,1)-    , (1,0)-    ]-  , [ (0,2)-    , (1,1)-    , (2,0)-    ]-  , [ (0,3)-    , (1,2)-    , (2,1)-    , (3,0)-    ]-  , [ (0,4)-    , (1,3)-    , (2,2)-    , (3,1)-    , (4,0)-    ]-  , [ (0,5)-    , (1,4)-    , (2,3)-    , (3,2)-    , (4,1)-    , (5,0)-    ]-  , [ (0,6)-    , (1,5)-    , (2,4)-    , (3,3)-    , (4,2)-    , (5,1)-    , (6,0)-    ]-  , [ (0,7)-    , (1,6)-    , (2,5)-    , (3,4)-    , (4,3)-    , (5,2)-    , (6,1)-    , (7,0)-    ]-  , [ (0,8)-    , (1,7)-    , (2,6)-    , (3,5)-    , (4,4)-    , (5,3)-    , (6,2)-    , (7,1)-    , (8,0)-    ]-  , [ (0,9)-    , (1,8)-    , (2,7)-    , (3,6)-    , (4,5)-    , (5,4)-    , (6,3)-    , (7,2)-    , (8,1)-    , (9,0)-    ]-  , [ (0,10)-    , (1,9)-    , (2,8)-    , (3,7)-    , (4,6)-    , (5,5)-    , (6,4)-    , (7,3)-    , (8,2)-    , (9,1)-    , (10,0)-    ]-  , [ (0,11)-    , (1,10)-    , (2,9)-    , (3,8)-    , (4,7)-    , (5,6)-    , (6,5)-    , (7,4)-    , (8,3)-    , (9,2)-    , (10,1)-    , (11,0)-    ]-  , ...-  ]
− test/diff/tiers-Nat.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Nat ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Nat ])  =  Infinity--allUnique (list :: [ Nat ])  =  True--ratioRepetitions (list :: [ Nat ])  =  0 % 1--tiers :: [Nat]  =-  [ [0]-  , [1]-  , [2]-  , [3]-  , [4]-  , [5]-  , [6]-  , [7]-  , [8]-  , [9]-  , [10]-  , [11]-  , ...-  ]
− test/diff/tiers-Nat2.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ Nat2 ]])  =  [1,1]--length (list :: [ Nat2 ])  =  2--allUnique (list :: [ Nat2 ])  =  True--ratioRepetitions (list :: [ Nat2 ])  =  0 % 1--tiers :: [Nat2]  =-  [ [0]-  , [1]-  ]
− test/diff/tiers-Nat3.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ Nat3 ]])  =  [1,1,1]--length (list :: [ Nat3 ])  =  3--allUnique (list :: [ Nat3 ])  =  True--ratioRepetitions (list :: [ Nat3 ])  =  0 % 1--tiers :: [Nat3]  =-  [ [0]-  , [1]-  , [2]-  ]
− test/diff/tiers-Nat4.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Nat4 ]])  =  [1,1,1,1]--length (list :: [ Nat4 ])  =  4--allUnique (list :: [ Nat4 ])  =  True--ratioRepetitions (list :: [ Nat4 ])  =  0 % 1--tiers :: [Nat4]  =-  [ [0]-  , [1]-  , [2]-  , [3]-  ]
− test/diff/tiers-Nats.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ [Nat] ]])  =  [1,1,2,4,8,16,...]--length (list :: [ [Nat] ])  =  Infinity--allUnique (list :: [ [Nat] ])  =  True--ratioRepetitions (list :: [ [Nat] ])  =  0 % 1--tiers :: [[Nat]]  =-  [ [[]]-  , [[0]]-  , [ [0,0]-    , [1]-    ]-  , [ [0,0,0]-    , [0,1]-    , [1,0]-    , [2]-    ]-  , [ [0,0,0,0]-    , [0,0,1]-    , [0,1,0]-    , [0,2]-    , [1,0,0]-    , [1,1]-    , [2,0]-    , [3]-    ]-  , [ [0,0,0,0,0]-    , [0,0,0,1]-    , [0,0,1,0]-    , [0,0,2]-    , [0,1,0,0]-    , [0,1,1]-    , [0,2,0]-    , [0,3]-    , [1,0,0,0]-    , [1,0,1]-    , [1,1,0]-    , [1,2]-    , [2,0,0]-    , [2,1]-    , [3,0]-    , [4]-    ]-  , ...-  ]
− test/diff/tiers-NoDupBool.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ NoDup Bool ]])  =  [1,2,2]--length (list :: [ NoDup Bool ])  =  5--allUnique (list :: [ NoDup Bool ])  =  True--ratioRepetitions (list :: [ NoDup Bool ])  =  0 % 1--tiers :: [NoDup Bool]  =-  [ [NoDup []]-  , [ NoDup [False]-    , NoDup [True]-    ]-  , [ NoDup [False,True]-    , NoDup [True,False]-    ]-  ]
− test/diff/tiers-NoDupNat.out
@@ -1,226 +0,0 @@-map length (tiers :: [[ NoDup Nat ]])  =  [1,1,1,3,3,5,11,13,19,27,57,65,...]--length (list :: [ NoDup Nat ])  =  Infinity--allUnique (list :: [ NoDup Nat ])  =  True--ratioRepetitions (list :: [ NoDup Nat ])  =  0 % 1--tiers :: [NoDup Nat]  =-  [ [NoDup []]-  , [NoDup [0]]-  , [NoDup [1]]-  , [ NoDup [0,1]-    , NoDup [1,0]-    , NoDup [2]-    ]-  , [ NoDup [0,2]-    , NoDup [2,0]-    , NoDup [3]-    ]-  , [ NoDup [0,3]-    , NoDup [1,2]-    , NoDup [2,1]-    , NoDup [3,0]-    , NoDup [4]-    ]-  , [ NoDup [0,1,2]-    , NoDup [0,2,1]-    , NoDup [0,4]-    , NoDup [1,0,2]-    , NoDup [1,2,0]-    , NoDup [1,3]-    , NoDup [2,0,1]-    , NoDup [2,1,0]-    , NoDup [3,1]-    , NoDup [4,0]-    , NoDup [5]-    ]-  , [ NoDup [0,1,3]-    , NoDup [0,3,1]-    , NoDup [0,5]-    , NoDup [1,0,3]-    , NoDup [1,3,0]-    , NoDup [1,4]-    , NoDup [2,3]-    , NoDup [3,0,1]-    , NoDup [3,1,0]-    , NoDup [3,2]-    , NoDup [4,1]-    , NoDup [5,0]-    , NoDup [6]-    ]-  , [ NoDup [0,1,4]-    , NoDup [0,2,3]-    , NoDup [0,3,2]-    , NoDup [0,4,1]-    , NoDup [0,6]-    , NoDup [1,0,4]-    , NoDup [1,4,0]-    , NoDup [1,5]-    , NoDup [2,0,3]-    , NoDup [2,3,0]-    , NoDup [2,4]-    , NoDup [3,0,2]-    , NoDup [3,2,0]-    , NoDup [4,0,1]-    , NoDup [4,1,0]-    , NoDup [4,2]-    , NoDup [5,1]-    , NoDup [6,0]-    , NoDup [7]-    ]-  , [ NoDup [0,1,5]-    , NoDup [0,2,4]-    , NoDup [0,4,2]-    , NoDup [0,5,1]-    , NoDup [0,7]-    , NoDup [1,0,5]-    , NoDup [1,2,3]-    , NoDup [1,3,2]-    , NoDup [1,5,0]-    , NoDup [1,6]-    , NoDup [2,0,4]-    , NoDup [2,1,3]-    , NoDup [2,3,1]-    , NoDup [2,4,0]-    , NoDup [2,5]-    , NoDup [3,1,2]-    , NoDup [3,2,1]-    , NoDup [3,4]-    , NoDup [4,0,2]-    , NoDup [4,2,0]-    , NoDup [4,3]-    , NoDup [5,0,1]-    , NoDup [5,1,0]-    , NoDup [5,2]-    , NoDup [6,1]-    , NoDup [7,0]-    , NoDup [8]-    ]-  , [ NoDup [0,1,2,3]-    , NoDup [0,1,3,2]-    , NoDup [0,1,6]-    , NoDup [0,2,1,3]-    , NoDup [0,2,3,1]-    , NoDup [0,2,5]-    , NoDup [0,3,1,2]-    , NoDup [0,3,2,1]-    , NoDup [0,3,4]-    , NoDup [0,4,3]-    , NoDup [0,5,2]-    , NoDup [0,6,1]-    , NoDup [0,8]-    , NoDup [1,0,2,3]-    , NoDup [1,0,3,2]-    , NoDup [1,0,6]-    , NoDup [1,2,0,3]-    , NoDup [1,2,3,0]-    , NoDup [1,2,4]-    , NoDup [1,3,0,2]-    , NoDup [1,3,2,0]-    , NoDup [1,4,2]-    , NoDup [1,6,0]-    , NoDup [1,7]-    , NoDup [2,0,1,3]-    , NoDup [2,0,3,1]-    , NoDup [2,0,5]-    , NoDup [2,1,0,3]-    , NoDup [2,1,3,0]-    , NoDup [2,1,4]-    , NoDup [2,3,0,1]-    , NoDup [2,3,1,0]-    , NoDup [2,4,1]-    , NoDup [2,5,0]-    , NoDup [2,6]-    , NoDup [3,0,1,2]-    , NoDup [3,0,2,1]-    , NoDup [3,0,4]-    , NoDup [3,1,0,2]-    , NoDup [3,1,2,0]-    , NoDup [3,2,0,1]-    , NoDup [3,2,1,0]-    , NoDup [3,4,0]-    , NoDup [3,5]-    , NoDup [4,0,3]-    , NoDup [4,1,2]-    , NoDup [4,2,1]-    , NoDup [4,3,0]-    , NoDup [5,0,2]-    , NoDup [5,2,0]-    , NoDup [5,3]-    , NoDup [6,0,1]-    , NoDup [6,1,0]-    , NoDup [6,2]-    , NoDup [7,1]-    , NoDup [8,0]-    , NoDup [9]-    ]-  , [ NoDup [0,1,2,4]-    , NoDup [0,1,4,2]-    , NoDup [0,1,7]-    , NoDup [0,2,1,4]-    , NoDup [0,2,4,1]-    , NoDup [0,2,6]-    , NoDup [0,3,5]-    , NoDup [0,4,1,2]-    , NoDup [0,4,2,1]-    , NoDup [0,5,3]-    , NoDup [0,6,2]-    , NoDup [0,7,1]-    , NoDup [0,9]-    , NoDup [1,0,2,4]-    , NoDup [1,0,4,2]-    , NoDup [1,0,7]-    , NoDup [1,2,0,4]-    , NoDup [1,2,4,0]-    , NoDup [1,2,5]-    , NoDup [1,3,4]-    , NoDup [1,4,0,2]-    , NoDup [1,4,2,0]-    , NoDup [1,4,3]-    , NoDup [1,5,2]-    , NoDup [1,7,0]-    , NoDup [1,8]-    , NoDup [2,0,1,4]-    , NoDup [2,0,4,1]-    , NoDup [2,0,6]-    , NoDup [2,1,0,4]-    , NoDup [2,1,4,0]-    , NoDup [2,1,5]-    , NoDup [2,4,0,1]-    , NoDup [2,4,1,0]-    , NoDup [2,5,1]-    , NoDup [2,6,0]-    , NoDup [2,7]-    , NoDup [3,0,5]-    , NoDup [3,1,4]-    , NoDup [3,4,1]-    , NoDup [3,5,0]-    , NoDup [3,6]-    , NoDup [4,0,1,2]-    , NoDup [4,0,2,1]-    , NoDup [4,1,0,2]-    , NoDup [4,1,2,0]-    , NoDup [4,1,3]-    , NoDup [4,2,0,1]-    , NoDup [4,2,1,0]-    , NoDup [4,3,1]-    , NoDup [4,5]-    , NoDup [5,0,3]-    , NoDup [5,1,2]-    , NoDup [5,2,1]-    , NoDup [5,3,0]-    , NoDup [5,4]-    , NoDup [6,0,2]-    , NoDup [6,2,0]-    , NoDup [6,3]-    , NoDup [7,0,1]-    , NoDup [7,1,0]-    , NoDup [7,2]-    , NoDup [8,1]-    , NoDup [9,0]-    , NoDup [10]-    ]-  , ...-  ]
− test/diff/tiers-NoDupNat2.out
@@ -1,16 +0,0 @@-map length (tiers :: [[ NoDup Nat2 ]])  =  [1,1,1,2]--length (list :: [ NoDup Nat2 ])  =  5--allUnique (list :: [ NoDup Nat2 ])  =  True--ratioRepetitions (list :: [ NoDup Nat2 ])  =  0 % 1--tiers :: [NoDup Nat2]  =-  [ [NoDup []]-  , [NoDup [0]]-  , [NoDup [1]]-  , [ NoDup [0,1]-    , NoDup [1,0]-    ]-  ]
− test/diff/tiers-NoDupNat3.out
@@ -1,30 +0,0 @@-map length (tiers :: [[ NoDup Nat3 ]])  =  [1,1,1,3,2,2,6]--length (list :: [ NoDup Nat3 ])  =  Infinity--allUnique (list :: [ NoDup Nat3 ])  =  True--ratioRepetitions (list :: [ NoDup Nat3 ])  =  0 % 1--tiers :: [NoDup Nat3]  =-  [ [NoDup []]-  , [NoDup [0]]-  , [NoDup [1]]-  , [ NoDup [0,1]-    , NoDup [1,0]-    , NoDup [2]-    ]-  , [ NoDup [0,2]-    , NoDup [2,0]-    ]-  , [ NoDup [1,2]-    , NoDup [2,1]-    ]-  , [ NoDup [0,1,2]-    , NoDup [0,2,1]-    , NoDup [1,0,2]-    , NoDup [1,2,0]-    , NoDup [2,0,1]-    , NoDup [2,1,0]-    ]-  ]
− test/diff/tiers-NoDupU.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ NoDup () ]])  =  [1,1]--length (list :: [ NoDup () ])  =  2--allUnique (list :: [ NoDup () ])  =  True--ratioRepetitions (list :: [ NoDup () ])  =  0 % 1--tiers :: [NoDup ()]  =-  [ [NoDup []]-  , [NoDup [()]]-  ]
− test/diff/tiers-Rational.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Rational ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Rational ])  =  Infinity--allUnique (list :: [ Rational ])  =  True--ratioRepetitions (list :: [ Rational ])  =  0 % 1--tiers :: [Rational]  =-  [ [0 % 1]-  , [1 % 1]-  , [(-1) % 1]-  , [1 % 2]-  , [(-1) % 2]-  , [2 % 1]-  , [(-2) % 1]-  , [1 % 3]-  , [(-1) % 3]-  , [3 % 2]-  , [(-3) % 2]-  , [2 % 3]-  , ...-  ]
− test/diff/tiers-SetBool.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ Set Bool ]])  =  [1,2,1]--length (list :: [ Set Bool ])  =  4--allUnique (list :: [ Set Bool ])  =  True--ratioRepetitions (list :: [ Set Bool ])  =  0 % 1--tiers :: [Set Bool]  =-  [ [Set []]-  , [ Set [False]-    , Set [True]-    ]-  , [Set [False,True]]-  ]
− test/diff/tiers-SetNat.out
@@ -1,75 +0,0 @@-map length (tiers :: [[ Set Nat ]])  =  [1,1,1,2,2,3,4,5,6,8,10,12,...]--length (list :: [ Set Nat ])  =  Infinity--allUnique (list :: [ Set Nat ])  =  True--ratioRepetitions (list :: [ Set Nat ])  =  0 % 1--tiers :: [Set Nat]  =-  [ [Set []]-  , [Set [0]]-  , [Set [1]]-  , [ Set [0,1]-    , Set [2]-    ]-  , [ Set [0,2]-    , Set [3]-    ]-  , [ Set [0,3]-    , Set [1,2]-    , Set [4]-    ]-  , [ Set [0,1,2]-    , Set [0,4]-    , Set [1,3]-    , Set [5]-    ]-  , [ Set [0,1,3]-    , Set [0,5]-    , Set [1,4]-    , Set [2,3]-    , Set [6]-    ]-  , [ Set [0,1,4]-    , Set [0,2,3]-    , Set [0,6]-    , Set [1,5]-    , Set [2,4]-    , Set [7]-    ]-  , [ Set [0,1,5]-    , Set [0,2,4]-    , Set [0,7]-    , Set [1,2,3]-    , Set [1,6]-    , Set [2,5]-    , Set [3,4]-    , Set [8]-    ]-  , [ Set [0,1,2,3]-    , Set [0,1,6]-    , Set [0,2,5]-    , Set [0,3,4]-    , Set [0,8]-    , Set [1,2,4]-    , Set [1,7]-    , Set [2,6]-    , Set [3,5]-    , Set [9]-    ]-  , [ Set [0,1,2,4]-    , Set [0,1,7]-    , Set [0,2,6]-    , Set [0,3,5]-    , Set [0,9]-    , Set [1,2,5]-    , Set [1,3,4]-    , Set [1,8]-    , Set [2,7]-    , Set [3,6]-    , Set [4,5]-    , Set [10]-    ]-  , ...-  ]
− test/diff/tiers-SetNat2.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Set Nat2 ]])  =  [1,1,1,1]--length (list :: [ Set Nat2 ])  =  4--allUnique (list :: [ Set Nat2 ])  =  True--ratioRepetitions (list :: [ Set Nat2 ])  =  0 % 1--tiers :: [Set Nat2]  =-  [ [Set []]-  , [Set [0]]-  , [Set [1]]-  , [Set [0,1]]-  ]
− test/diff/tiers-SetNat3.out
@@ -1,19 +0,0 @@-map length (tiers :: [[ Set Nat3 ]])  =  [1,1,1,2,1,1,1]--length (list :: [ Set Nat3 ])  =  8--allUnique (list :: [ Set Nat3 ])  =  True--ratioRepetitions (list :: [ Set Nat3 ])  =  0 % 1--tiers :: [Set Nat3]  =-  [ [Set []]-  , [Set [0]]-  , [Set [1]]-  , [ Set [0,1]-    , Set [2]-    ]-  , [Set [0,2]]-  , [Set [1,2]]-  , [Set [0,1,2]]-  ]
− test/diff/tiers-SetU.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ Set () ]])  =  [1,1]--length (list :: [ Set () ])  =  2--allUnique (list :: [ Set () ])  =  True--ratioRepetitions (list :: [ Set () ])  =  0 % 1--tiers :: [Set ()]  =-  [ [Set []]-  , [Set [()]]-  ]
− test/diff/tiers-String.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ String ]])  =  [1,1,2,4,8,16,...]--length (list :: [ String ])  =  Infinity--allUnique (list :: [ String ])  =  True--ratioRepetitions (list :: [ String ])  =  0 % 1--tiers :: [String]  =-  [ [""]-  , ["a"]-  , [ "aa"-    , " "-    ]-  , [ "aaa"-    , "a "-    , " a"-    , "b"-    ]-  , [ "aaaa"-    , "aa "-    , "a a"-    , "ab"-    , " aa"-    , "  "-    , "ba"-    , "A"-    ]-  , [ "aaaaa"-    , "aaa "-    , "aa a"-    , "aab"-    , "a aa"-    , "a  "-    , "aba"-    , "aA"-    , " aaa"-    , " a "-    , "  a"-    , " b"-    , "baa"-    , "b "-    , "Aa"-    , "c"-    ]-  , ...-  ]
− test/diff/tiers-U,Us.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ [((),())] ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ [((),())] ])  =  Infinity--allUnique (list :: [ [((),())] ])  =  True--ratioRepetitions (list :: [ [((),())] ])  =  0 % 1--tiers :: [[((),())]]  =-  [ [[]]-  , [[((),())]]-  , [[((),()),((),())]]-  , [[((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]-  , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]-  , ...-  ]
− test/diff/tiers-Us,Us.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ ([()],[()]) ]])  =  [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ ([()],[()]) ])  =  Infinity--allUnique (list :: [ ([()],[()]) ])  =  True--ratioRepetitions (list :: [ ([()],[()]) ])  =  0 % 1--tiers :: [([()],[()])]  =-  [ [([],[])]-  , [ ([],[()])-    , ([()],[])-    ]-  , [ ([],[(),()])-    , ([()],[()])-    , ([(),()],[])-    ]-  , [ ([],[(),(),()])-    , ([()],[(),()])-    , ([(),()],[()])-    , ([(),(),()],[])-    ]-  , [ ([],[(),(),(),()])-    , ([()],[(),(),()])-    , ([(),()],[(),()])-    , ([(),(),()],[()])-    , ([(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),()])-    , ([()],[(),(),(),()])-    , ([(),()],[(),(),()])-    , ([(),(),()],[(),()])-    , ([(),(),(),()],[()])-    , ([(),(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),(),()])-    , ([()],[(),(),(),(),()])-    , ([(),()],[(),(),(),()])-    , ([(),(),()],[(),(),()])-    , ([(),(),(),()],[(),()])-    , ([(),(),(),(),()],[()])-    , ([(),(),(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),(),(),()])-    , ([()],[(),(),(),(),(),()])-    , ([(),()],[(),(),(),(),()])-    , ([(),(),()],[(),(),(),()])-    , ([(),(),(),()],[(),(),()])-    , ([(),(),(),(),()],[(),()])-    , ([(),(),(),(),(),()],[()])-    , ([(),(),(),(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),(),(),(),()])-    , ([()],[(),(),(),(),(),(),()])-    , ([(),()],[(),(),(),(),(),()])-    , ([(),(),()],[(),(),(),(),()])-    , ([(),(),(),()],[(),(),(),()])-    , ([(),(),(),(),()],[(),(),()])-    , ([(),(),(),(),(),()],[(),()])-    , ([(),(),(),(),(),(),()],[()])-    , ([(),(),(),(),(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),(),(),(),(),()])-    , ([()],[(),(),(),(),(),(),(),()])-    , ([(),()],[(),(),(),(),(),(),()])-    , ([(),(),()],[(),(),(),(),(),()])-    , ([(),(),(),()],[(),(),(),(),()])-    , ([(),(),(),(),()],[(),(),(),()])-    , ([(),(),(),(),(),()],[(),(),()])-    , ([(),(),(),(),(),(),()],[(),()])-    , ([(),(),(),(),(),(),(),()],[()])-    , ([(),(),(),(),(),(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),(),(),(),(),(),()])-    , ([()],[(),(),(),(),(),(),(),(),()])-    , ([(),()],[(),(),(),(),(),(),(),()])-    , ([(),(),()],[(),(),(),(),(),(),()])-    , ([(),(),(),()],[(),(),(),(),(),()])-    , ([(),(),(),(),()],[(),(),(),(),()])-    , ([(),(),(),(),(),()],[(),(),(),()])-    , ([(),(),(),(),(),(),()],[(),(),()])-    , ([(),(),(),(),(),(),(),()],[(),()])-    , ([(),(),(),(),(),(),(),(),()],[()])-    , ([(),(),(),(),(),(),(),(),(),()],[])-    ]-  , [ ([],[(),(),(),(),(),(),(),(),(),(),()])-    , ([()],[(),(),(),(),(),(),(),(),(),()])-    , ([(),()],[(),(),(),(),(),(),(),(),()])-    , ([(),(),()],[(),(),(),(),(),(),(),()])-    , ([(),(),(),()],[(),(),(),(),(),(),()])-    , ([(),(),(),(),()],[(),(),(),(),(),()])-    , ([(),(),(),(),(),()],[(),(),(),(),()])-    , ([(),(),(),(),(),(),()],[(),(),(),()])-    , ([(),(),(),(),(),(),(),()],[(),(),()])-    , ([(),(),(),(),(),(),(),(),()],[(),()])-    , ([(),(),(),(),(),(),(),(),(),()],[()])-    , ([(),(),(),(),(),(),(),(),(),(),()],[])-    ]-  , ...-  ]
− test/diff/tiers-Us.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ [()] ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ [()] ])  =  Infinity--allUnique (list :: [ [()] ])  =  True--ratioRepetitions (list :: [ [()] ])  =  0 % 1--tiers :: [[()]]  =-  [ [[]]-  , [[()]]-  , [[(),()]]-  , [[(),(),()]]-  , [[(),(),(),()]]-  , [[(),(),(),(),()]]-  , [[(),(),(),(),(),()]]-  , [[(),(),(),(),(),(),()]]-  , [[(),(),(),(),(),(),(),()]]-  , [[(),(),(),(),(),(),(),(),()]]-  , [[(),(),(),(),(),(),(),(),(),()]]-  , [[(),(),(),(),(),(),(),(),(),(),()]]-  , ...-  ]
− test/diff/tiers-Word2.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Word2 ]])  =  [1,1,1,1]--length (list :: [ Word2 ])  =  4--allUnique (list :: [ Word2 ])  =  True--ratioRepetitions (list :: [ Word2 ])  =  0 % 1--tiers :: [Word2]  =-  [ [0]-  , [1]-  , [2]-  , [3]-  ]
− test/diff/tiers-Word3.out
@@ -1,18 +0,0 @@-map length (tiers :: [[ Word3 ]])  =  [1,1,1,1,1,1,1,1]--length (list :: [ Word3 ])  =  8--allUnique (list :: [ Word3 ])  =  True--ratioRepetitions (list :: [ Word3 ])  =  0 % 1--tiers :: [Word3]  =-  [ [0]-  , [1]-  , [2]-  , [3]-  , [4]-  , [5]-  , [6]-  , [7]-  ]
− test/diff/tiers-Word4.out
@@ -1,26 +0,0 @@-map length (tiers :: [[ Word4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]--length (list :: [ Word4 ])  =  Infinity--allUnique (list :: [ Word4 ])  =  True--ratioRepetitions (list :: [ Word4 ])  =  0 % 1--tiers :: [Word4]  =-  [ [0]-  , [1]-  , [2]-  , [3]-  , [4]-  , [5]-  , [6]-  , [7]-  , [8]-  , [9]-  , [10]-  , [11]-  , [12]-  , [13]-  , [14]-  , [15]-  ]
− test/diff/tiers-Word8.out
@@ -1,266 +0,0 @@-map length (tiers :: [[ Word8 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]--length (list :: [ Word8 ])  =  Infinity--allUnique (list :: [ Word8 ])  =  True--ratioRepetitions (list :: [ Word8 ])  =  0 % 1--tiers :: [Word8]  =-  [ [0]-  , [1]-  , [2]-  , [3]-  , [4]-  , [5]-  , [6]-  , [7]-  , [8]-  , [9]-  , [10]-  , [11]-  , [12]-  , [13]-  , [14]-  , [15]-  , [16]-  , [17]-  , [18]-  , [19]-  , [20]-  , [21]-  , [22]-  , [23]-  , [24]-  , [25]-  , [26]-  , [27]-  , [28]-  , [29]-  , [30]-  , [31]-  , [32]-  , [33]-  , [34]-  , [35]-  , [36]-  , [37]-  , [38]-  , [39]-  , [40]-  , [41]-  , [42]-  , [43]-  , [44]-  , [45]-  , [46]-  , [47]-  , [48]-  , [49]-  , [50]-  , [51]-  , [52]-  , [53]-  , [54]-  , [55]-  , [56]-  , [57]-  , [58]-  , [59]-  , [60]-  , [61]-  , [62]-  , [63]-  , [64]-  , [65]-  , [66]-  , [67]-  , [68]-  , [69]-  , [70]-  , [71]-  , [72]-  , [73]-  , [74]-  , [75]-  , [76]-  , [77]-  , [78]-  , [79]-  , [80]-  , [81]-  , [82]-  , [83]-  , [84]-  , [85]-  , [86]-  , [87]-  , [88]-  , [89]-  , [90]-  , [91]-  , [92]-  , [93]-  , [94]-  , [95]-  , [96]-  , [97]-  , [98]-  , [99]-  , [100]-  , [101]-  , [102]-  , [103]-  , [104]-  , [105]-  , [106]-  , [107]-  , [108]-  , [109]-  , [110]-  , [111]-  , [112]-  , [113]-  , [114]-  , [115]-  , [116]-  , [117]-  , [118]-  , [119]-  , [120]-  , [121]-  , [122]-  , [123]-  , [124]-  , [125]-  , [126]-  , [127]-  , [128]-  , [129]-  , [130]-  , [131]-  , [132]-  , [133]-  , [134]-  , [135]-  , [136]-  , [137]-  , [138]-  , [139]-  , [140]-  , [141]-  , [142]-  , [143]-  , [144]-  , [145]-  , [146]-  , [147]-  , [148]-  , [149]-  , [150]-  , [151]-  , [152]-  , [153]-  , [154]-  , [155]-  , [156]-  , [157]-  , [158]-  , [159]-  , [160]-  , [161]-  , [162]-  , [163]-  , [164]-  , [165]-  , [166]-  , [167]-  , [168]-  , [169]-  , [170]-  , [171]-  , [172]-  , [173]-  , [174]-  , [175]-  , [176]-  , [177]-  , [178]-  , [179]-  , [180]-  , [181]-  , [182]-  , [183]-  , [184]-  , [185]-  , [186]-  , [187]-  , [188]-  , [189]-  , [190]-  , [191]-  , [192]-  , [193]-  , [194]-  , [195]-  , [196]-  , [197]-  , [198]-  , [199]-  , [200]-  , [201]-  , [202]-  , [203]-  , [204]-  , [205]-  , [206]-  , [207]-  , [208]-  , [209]-  , [210]-  , [211]-  , [212]-  , [213]-  , [214]-  , [215]-  , [216]-  , [217]-  , [218]-  , [219]-  , [220]-  , [221]-  , [222]-  , [223]-  , [224]-  , [225]-  , [226]-  , [227]-  , [228]-  , [229]-  , [230]-  , [231]-  , [232]-  , [233]-  , [234]-  , [235]-  , [236]-  , [237]-  , [238]-  , [239]-  , [240]-  , [241]-  , [242]-  , [243]-  , [244]-  , [245]-  , [246]-  , [247]-  , [248]-  , [249]-  , [250]-  , [251]-  , [252]-  , [253]-  , [254]-  , [255]-  ]
− test/diff/tiers-XInt4.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ X Int4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ X Int4 ])  =  Infinity--allUnique (list :: [ X Int4 ])  =  True--ratioRepetitions (list :: [ X Int4 ])  =  0 % 1--tiers :: [X Int4]  =-  [ [0]-  , [1]-  , [-1]-  , [7]-  , [-8]-  , [2]-  , [-2]-  , [6]-  , [-7]-  , [3]-  , [-3]-  , [5]-  , ...-  ]
− test/diff/tiers-XNat7.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ X Nat7 ]])  =  [1,1,1,1,1,1,1]--length (list :: [ X Nat7 ])  =  7--allUnique (list :: [ X Nat7 ])  =  True--ratioRepetitions (list :: [ X Nat7 ])  =  0 % 1--tiers :: [X Nat7]  =-  [ [0]-  , [1]-  , [2]-  , [6]-  , [3]-  , [4]-  , [5]-  ]
− test/diff/tiers-XWord4.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ X Word4 ]])  =  [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ X Word4 ])  =  Infinity--allUnique (list :: [ X Word4 ])  =  True--ratioRepetitions (list :: [ X Word4 ])  =  0 % 1--tiers :: [X Word4]  =-  [ [0]-  , [1]-  , [2]-  , [15]-  , [3]-  , [4]-  , [14]-  , [5]-  , [6]-  , [13]-  , [7]-  , [8]-  , ...-  ]
− test/diff/tiers-XsInt4.out
@@ -1,1045 +0,0 @@-map length (tiers :: [[ Xs Int4 ]])  =  [0,1,1,2,4,8,16,32,64,128,256,512,...]--length (list :: [ Xs Int4 ])  =  Infinity--allUnique (list :: [ Xs Int4 ])  =  True--ratioRepetitions (list :: [ Xs Int4 ])  =  0 % 1--tiers :: [Xs Int4]  =-  [ []-  , [Xs []]-  , [Xs [0]]-  , [ Xs [0,0]-    , Xs [1]-    ]-  , [ Xs [0,0,0]-    , Xs [0,1]-    , Xs [1,0]-    , Xs [-1]-    ]-  , [ Xs [0,0,0,0]-    , Xs [0,0,1]-    , Xs [0,1,0]-    , Xs [0,-1]-    , Xs [1,0,0]-    , Xs [1,1]-    , Xs [-1,0]-    , Xs [7]-    ]-  , [ Xs [0,0,0,0,0]-    , Xs [0,0,0,1]-    , Xs [0,0,1,0]-    , Xs [0,0,-1]-    , Xs [0,1,0,0]-    , Xs [0,1,1]-    , Xs [0,-1,0]-    , Xs [0,7]-    , Xs [1,0,0,0]-    , Xs [1,0,1]-    , Xs [1,1,0]-    , Xs [1,-1]-    , Xs [-1,0,0]-    , Xs [-1,1]-    , Xs [7,0]-    , Xs [-8]-    ]-  , [ Xs [0,0,0,0,0,0]-    , Xs [0,0,0,0,1]-    , Xs [0,0,0,1,0]-    , Xs [0,0,0,-1]-    , Xs [0,0,1,0,0]-    , Xs [0,0,1,1]-    , Xs [0,0,-1,0]-    , Xs [0,0,7]-    , Xs [0,1,0,0,0]-    , Xs [0,1,0,1]-    , Xs [0,1,1,0]-    , Xs [0,1,-1]-    , Xs [0,-1,0,0]-    , Xs [0,-1,1]-    , Xs [0,7,0]-    , Xs [0,-8]-    , Xs [1,0,0,0,0]-    , Xs [1,0,0,1]-    , Xs [1,0,1,0]-    , Xs [1,0,-1]-    , Xs [1,1,0,0]-    , Xs [1,1,1]-    , Xs [1,-1,0]-    , Xs [1,7]-    , Xs [-1,0,0,0]-    , Xs [-1,0,1]-    , Xs [-1,1,0]-    , Xs [-1,-1]-    , Xs [7,0,0]-    , Xs [7,1]-    , Xs [-8,0]-    , Xs [2]-    ]-  , [ Xs [0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,1]-    , Xs [0,0,0,0,1,0]-    , Xs [0,0,0,0,-1]-    , Xs [0,0,0,1,0,0]-    , Xs [0,0,0,1,1]-    , Xs [0,0,0,-1,0]-    , Xs [0,0,0,7]-    , Xs [0,0,1,0,0,0]-    , Xs [0,0,1,0,1]-    , Xs [0,0,1,1,0]-    , Xs [0,0,1,-1]-    , Xs [0,0,-1,0,0]-    , Xs [0,0,-1,1]-    , Xs [0,0,7,0]-    , Xs [0,0,-8]-    , Xs [0,1,0,0,0,0]-    , Xs [0,1,0,0,1]-    , Xs [0,1,0,1,0]-    , Xs [0,1,0,-1]-    , Xs [0,1,1,0,0]-    , Xs [0,1,1,1]-    , Xs [0,1,-1,0]-    , Xs [0,1,7]-    , Xs [0,-1,0,0,0]-    , Xs [0,-1,0,1]-    , Xs [0,-1,1,0]-    , Xs [0,-1,-1]-    , Xs [0,7,0,0]-    , Xs [0,7,1]-    , Xs [0,-8,0]-    , Xs [0,2]-    , Xs [1,0,0,0,0,0]-    , Xs [1,0,0,0,1]-    , Xs [1,0,0,1,0]-    , Xs [1,0,0,-1]-    , Xs [1,0,1,0,0]-    , Xs [1,0,1,1]-    , Xs [1,0,-1,0]-    , Xs [1,0,7]-    , Xs [1,1,0,0,0]-    , Xs [1,1,0,1]-    , Xs [1,1,1,0]-    , Xs [1,1,-1]-    , Xs [1,-1,0,0]-    , Xs [1,-1,1]-    , Xs [1,7,0]-    , Xs [1,-8]-    , Xs [-1,0,0,0,0]-    , Xs [-1,0,0,1]-    , Xs [-1,0,1,0]-    , Xs [-1,0,-1]-    , Xs [-1,1,0,0]-    , Xs [-1,1,1]-    , Xs [-1,-1,0]-    , Xs [-1,7]-    , Xs [7,0,0,0]-    , Xs [7,0,1]-    , Xs [7,1,0]-    , Xs [7,-1]-    , Xs [-8,0,0]-    , Xs [-8,1]-    , Xs [2,0]-    , Xs [-2]-    ]-  , [ Xs [0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,-1]-    , Xs [0,0,0,0,1,0,0]-    , Xs [0,0,0,0,1,1]-    , Xs [0,0,0,0,-1,0]-    , Xs [0,0,0,0,7]-    , Xs [0,0,0,1,0,0,0]-    , Xs [0,0,0,1,0,1]-    , Xs [0,0,0,1,1,0]-    , Xs [0,0,0,1,-1]-    , Xs [0,0,0,-1,0,0]-    , Xs [0,0,0,-1,1]-    , Xs [0,0,0,7,0]-    , Xs [0,0,0,-8]-    , Xs [0,0,1,0,0,0,0]-    , Xs [0,0,1,0,0,1]-    , Xs [0,0,1,0,1,0]-    , Xs [0,0,1,0,-1]-    , Xs [0,0,1,1,0,0]-    , Xs [0,0,1,1,1]-    , Xs [0,0,1,-1,0]-    , Xs [0,0,1,7]-    , Xs [0,0,-1,0,0,0]-    , Xs [0,0,-1,0,1]-    , Xs [0,0,-1,1,0]-    , Xs [0,0,-1,-1]-    , Xs [0,0,7,0,0]-    , Xs [0,0,7,1]-    , Xs [0,0,-8,0]-    , Xs [0,0,2]-    , Xs [0,1,0,0,0,0,0]-    , Xs [0,1,0,0,0,1]-    , Xs [0,1,0,0,1,0]-    , Xs [0,1,0,0,-1]-    , Xs [0,1,0,1,0,0]-    , Xs [0,1,0,1,1]-    , Xs [0,1,0,-1,0]-    , Xs [0,1,0,7]-    , Xs [0,1,1,0,0,0]-    , Xs [0,1,1,0,1]-    , Xs [0,1,1,1,0]-    , Xs [0,1,1,-1]-    , Xs [0,1,-1,0,0]-    , Xs [0,1,-1,1]-    , Xs [0,1,7,0]-    , Xs [0,1,-8]-    , Xs [0,-1,0,0,0,0]-    , Xs [0,-1,0,0,1]-    , Xs [0,-1,0,1,0]-    , Xs [0,-1,0,-1]-    , Xs [0,-1,1,0,0]-    , Xs [0,-1,1,1]-    , Xs [0,-1,-1,0]-    , Xs [0,-1,7]-    , Xs [0,7,0,0,0]-    , Xs [0,7,0,1]-    , Xs [0,7,1,0]-    , Xs [0,7,-1]-    , Xs [0,-8,0,0]-    , Xs [0,-8,1]-    , Xs [0,2,0]-    , Xs [0,-2]-    , Xs [1,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,1]-    , Xs [1,0,0,0,1,0]-    , Xs [1,0,0,0,-1]-    , Xs [1,0,0,1,0,0]-    , Xs [1,0,0,1,1]-    , Xs [1,0,0,-1,0]-    , Xs [1,0,0,7]-    , Xs [1,0,1,0,0,0]-    , Xs [1,0,1,0,1]-    , Xs [1,0,1,1,0]-    , Xs [1,0,1,-1]-    , Xs [1,0,-1,0,0]-    , Xs [1,0,-1,1]-    , Xs [1,0,7,0]-    , Xs [1,0,-8]-    , Xs [1,1,0,0,0,0]-    , Xs [1,1,0,0,1]-    , Xs [1,1,0,1,0]-    , Xs [1,1,0,-1]-    , Xs [1,1,1,0,0]-    , Xs [1,1,1,1]-    , Xs [1,1,-1,0]-    , Xs [1,1,7]-    , Xs [1,-1,0,0,0]-    , Xs [1,-1,0,1]-    , Xs [1,-1,1,0]-    , Xs [1,-1,-1]-    , Xs [1,7,0,0]-    , Xs [1,7,1]-    , Xs [1,-8,0]-    , Xs [1,2]-    , Xs [-1,0,0,0,0,0]-    , Xs [-1,0,0,0,1]-    , Xs [-1,0,0,1,0]-    , Xs [-1,0,0,-1]-    , Xs [-1,0,1,0,0]-    , Xs [-1,0,1,1]-    , Xs [-1,0,-1,0]-    , Xs [-1,0,7]-    , Xs [-1,1,0,0,0]-    , Xs [-1,1,0,1]-    , Xs [-1,1,1,0]-    , Xs [-1,1,-1]-    , Xs [-1,-1,0,0]-    , Xs [-1,-1,1]-    , Xs [-1,7,0]-    , Xs [-1,-8]-    , Xs [7,0,0,0,0]-    , Xs [7,0,0,1]-    , Xs [7,0,1,0]-    , Xs [7,0,-1]-    , Xs [7,1,0,0]-    , Xs [7,1,1]-    , Xs [7,-1,0]-    , Xs [7,7]-    , Xs [-8,0,0,0]-    , Xs [-8,0,1]-    , Xs [-8,1,0]-    , Xs [-8,-1]-    , Xs [2,0,0]-    , Xs [2,1]-    , Xs [-2,0]-    , Xs [6]-    ]-  , [ Xs [0,0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,0,-1]-    , Xs [0,0,0,0,0,1,0,0]-    , Xs [0,0,0,0,0,1,1]-    , Xs [0,0,0,0,0,-1,0]-    , Xs [0,0,0,0,0,7]-    , Xs [0,0,0,0,1,0,0,0]-    , Xs [0,0,0,0,1,0,1]-    , Xs [0,0,0,0,1,1,0]-    , Xs [0,0,0,0,1,-1]-    , Xs [0,0,0,0,-1,0,0]-    , Xs [0,0,0,0,-1,1]-    , Xs [0,0,0,0,7,0]-    , Xs [0,0,0,0,-8]-    , Xs [0,0,0,1,0,0,0,0]-    , Xs [0,0,0,1,0,0,1]-    , Xs [0,0,0,1,0,1,0]-    , Xs [0,0,0,1,0,-1]-    , Xs [0,0,0,1,1,0,0]-    , Xs [0,0,0,1,1,1]-    , Xs [0,0,0,1,-1,0]-    , Xs [0,0,0,1,7]-    , Xs [0,0,0,-1,0,0,0]-    , Xs [0,0,0,-1,0,1]-    , Xs [0,0,0,-1,1,0]-    , Xs [0,0,0,-1,-1]-    , Xs [0,0,0,7,0,0]-    , Xs [0,0,0,7,1]-    , Xs [0,0,0,-8,0]-    , Xs [0,0,0,2]-    , Xs [0,0,1,0,0,0,0,0]-    , Xs [0,0,1,0,0,0,1]-    , Xs [0,0,1,0,0,1,0]-    , Xs [0,0,1,0,0,-1]-    , Xs [0,0,1,0,1,0,0]-    , Xs [0,0,1,0,1,1]-    , Xs [0,0,1,0,-1,0]-    , Xs [0,0,1,0,7]-    , Xs [0,0,1,1,0,0,0]-    , Xs [0,0,1,1,0,1]-    , Xs [0,0,1,1,1,0]-    , Xs [0,0,1,1,-1]-    , Xs [0,0,1,-1,0,0]-    , Xs [0,0,1,-1,1]-    , Xs [0,0,1,7,0]-    , Xs [0,0,1,-8]-    , Xs [0,0,-1,0,0,0,0]-    , Xs [0,0,-1,0,0,1]-    , Xs [0,0,-1,0,1,0]-    , Xs [0,0,-1,0,-1]-    , Xs [0,0,-1,1,0,0]-    , Xs [0,0,-1,1,1]-    , Xs [0,0,-1,-1,0]-    , Xs [0,0,-1,7]-    , Xs [0,0,7,0,0,0]-    , Xs [0,0,7,0,1]-    , Xs [0,0,7,1,0]-    , Xs [0,0,7,-1]-    , Xs [0,0,-8,0,0]-    , Xs [0,0,-8,1]-    , Xs [0,0,2,0]-    , Xs [0,0,-2]-    , Xs [0,1,0,0,0,0,0,0]-    , Xs [0,1,0,0,0,0,1]-    , Xs [0,1,0,0,0,1,0]-    , Xs [0,1,0,0,0,-1]-    , Xs [0,1,0,0,1,0,0]-    , Xs [0,1,0,0,1,1]-    , Xs [0,1,0,0,-1,0]-    , Xs [0,1,0,0,7]-    , Xs [0,1,0,1,0,0,0]-    , Xs [0,1,0,1,0,1]-    , Xs [0,1,0,1,1,0]-    , Xs [0,1,0,1,-1]-    , Xs [0,1,0,-1,0,0]-    , Xs [0,1,0,-1,1]-    , Xs [0,1,0,7,0]-    , Xs [0,1,0,-8]-    , Xs [0,1,1,0,0,0,0]-    , Xs [0,1,1,0,0,1]-    , Xs [0,1,1,0,1,0]-    , Xs [0,1,1,0,-1]-    , Xs [0,1,1,1,0,0]-    , Xs [0,1,1,1,1]-    , Xs [0,1,1,-1,0]-    , Xs [0,1,1,7]-    , Xs [0,1,-1,0,0,0]-    , Xs [0,1,-1,0,1]-    , Xs [0,1,-1,1,0]-    , Xs [0,1,-1,-1]-    , Xs [0,1,7,0,0]-    , Xs [0,1,7,1]-    , Xs [0,1,-8,0]-    , Xs [0,1,2]-    , Xs [0,-1,0,0,0,0,0]-    , Xs [0,-1,0,0,0,1]-    , Xs [0,-1,0,0,1,0]-    , Xs [0,-1,0,0,-1]-    , Xs [0,-1,0,1,0,0]-    , Xs [0,-1,0,1,1]-    , Xs [0,-1,0,-1,0]-    , Xs [0,-1,0,7]-    , Xs [0,-1,1,0,0,0]-    , Xs [0,-1,1,0,1]-    , Xs [0,-1,1,1,0]-    , Xs [0,-1,1,-1]-    , Xs [0,-1,-1,0,0]-    , Xs [0,-1,-1,1]-    , Xs [0,-1,7,0]-    , Xs [0,-1,-8]-    , Xs [0,7,0,0,0,0]-    , Xs [0,7,0,0,1]-    , Xs [0,7,0,1,0]-    , Xs [0,7,0,-1]-    , Xs [0,7,1,0,0]-    , Xs [0,7,1,1]-    , Xs [0,7,-1,0]-    , Xs [0,7,7]-    , Xs [0,-8,0,0,0]-    , Xs [0,-8,0,1]-    , Xs [0,-8,1,0]-    , Xs [0,-8,-1]-    , Xs [0,2,0,0]-    , Xs [0,2,1]-    , Xs [0,-2,0]-    , Xs [0,6]-    , Xs [1,0,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,0,1]-    , Xs [1,0,0,0,0,1,0]-    , Xs [1,0,0,0,0,-1]-    , Xs [1,0,0,0,1,0,0]-    , Xs [1,0,0,0,1,1]-    , Xs [1,0,0,0,-1,0]-    , Xs [1,0,0,0,7]-    , Xs [1,0,0,1,0,0,0]-    , Xs [1,0,0,1,0,1]-    , Xs [1,0,0,1,1,0]-    , Xs [1,0,0,1,-1]-    , Xs [1,0,0,-1,0,0]-    , Xs [1,0,0,-1,1]-    , Xs [1,0,0,7,0]-    , Xs [1,0,0,-8]-    , Xs [1,0,1,0,0,0,0]-    , Xs [1,0,1,0,0,1]-    , Xs [1,0,1,0,1,0]-    , Xs [1,0,1,0,-1]-    , Xs [1,0,1,1,0,0]-    , Xs [1,0,1,1,1]-    , Xs [1,0,1,-1,0]-    , Xs [1,0,1,7]-    , Xs [1,0,-1,0,0,0]-    , Xs [1,0,-1,0,1]-    , Xs [1,0,-1,1,0]-    , Xs [1,0,-1,-1]-    , Xs [1,0,7,0,0]-    , Xs [1,0,7,1]-    , Xs [1,0,-8,0]-    , Xs [1,0,2]-    , Xs [1,1,0,0,0,0,0]-    , Xs [1,1,0,0,0,1]-    , Xs [1,1,0,0,1,0]-    , Xs [1,1,0,0,-1]-    , Xs [1,1,0,1,0,0]-    , Xs [1,1,0,1,1]-    , Xs [1,1,0,-1,0]-    , Xs [1,1,0,7]-    , Xs [1,1,1,0,0,0]-    , Xs [1,1,1,0,1]-    , Xs [1,1,1,1,0]-    , Xs [1,1,1,-1]-    , Xs [1,1,-1,0,0]-    , Xs [1,1,-1,1]-    , Xs [1,1,7,0]-    , Xs [1,1,-8]-    , Xs [1,-1,0,0,0,0]-    , Xs [1,-1,0,0,1]-    , Xs [1,-1,0,1,0]-    , Xs [1,-1,0,-1]-    , Xs [1,-1,1,0,0]-    , Xs [1,-1,1,1]-    , Xs [1,-1,-1,0]-    , Xs [1,-1,7]-    , Xs [1,7,0,0,0]-    , Xs [1,7,0,1]-    , Xs [1,7,1,0]-    , Xs [1,7,-1]-    , Xs [1,-8,0,0]-    , Xs [1,-8,1]-    , Xs [1,2,0]-    , Xs [1,-2]-    , Xs [-1,0,0,0,0,0,0]-    , Xs [-1,0,0,0,0,1]-    , Xs [-1,0,0,0,1,0]-    , Xs [-1,0,0,0,-1]-    , Xs [-1,0,0,1,0,0]-    , Xs [-1,0,0,1,1]-    , Xs [-1,0,0,-1,0]-    , Xs [-1,0,0,7]-    , Xs [-1,0,1,0,0,0]-    , Xs [-1,0,1,0,1]-    , Xs [-1,0,1,1,0]-    , Xs [-1,0,1,-1]-    , Xs [-1,0,-1,0,0]-    , Xs [-1,0,-1,1]-    , Xs [-1,0,7,0]-    , Xs [-1,0,-8]-    , Xs [-1,1,0,0,0,0]-    , Xs [-1,1,0,0,1]-    , Xs [-1,1,0,1,0]-    , Xs [-1,1,0,-1]-    , Xs [-1,1,1,0,0]-    , Xs [-1,1,1,1]-    , Xs [-1,1,-1,0]-    , Xs [-1,1,7]-    , Xs [-1,-1,0,0,0]-    , Xs [-1,-1,0,1]-    , Xs [-1,-1,1,0]-    , Xs [-1,-1,-1]-    , Xs [-1,7,0,0]-    , Xs [-1,7,1]-    , Xs [-1,-8,0]-    , Xs [-1,2]-    , Xs [7,0,0,0,0,0]-    , Xs [7,0,0,0,1]-    , Xs [7,0,0,1,0]-    , Xs [7,0,0,-1]-    , Xs [7,0,1,0,0]-    , Xs [7,0,1,1]-    , Xs [7,0,-1,0]-    , Xs [7,0,7]-    , Xs [7,1,0,0,0]-    , Xs [7,1,0,1]-    , Xs [7,1,1,0]-    , Xs [7,1,-1]-    , Xs [7,-1,0,0]-    , Xs [7,-1,1]-    , Xs [7,7,0]-    , Xs [7,-8]-    , Xs [-8,0,0,0,0]-    , Xs [-8,0,0,1]-    , Xs [-8,0,1,0]-    , Xs [-8,0,-1]-    , Xs [-8,1,0,0]-    , Xs [-8,1,1]-    , Xs [-8,-1,0]-    , Xs [-8,7]-    , Xs [2,0,0,0]-    , Xs [2,0,1]-    , Xs [2,1,0]-    , Xs [2,-1]-    , Xs [-2,0,0]-    , Xs [-2,1]-    , Xs [6,0]-    , Xs [-7]-    ]-  , [ Xs [0,0,0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,0,0,-1]-    , Xs [0,0,0,0,0,0,1,0,0]-    , Xs [0,0,0,0,0,0,1,1]-    , Xs [0,0,0,0,0,0,-1,0]-    , Xs [0,0,0,0,0,0,7]-    , Xs [0,0,0,0,0,1,0,0,0]-    , Xs [0,0,0,0,0,1,0,1]-    , Xs [0,0,0,0,0,1,1,0]-    , Xs [0,0,0,0,0,1,-1]-    , Xs [0,0,0,0,0,-1,0,0]-    , Xs [0,0,0,0,0,-1,1]-    , Xs [0,0,0,0,0,7,0]-    , Xs [0,0,0,0,0,-8]-    , Xs [0,0,0,0,1,0,0,0,0]-    , Xs [0,0,0,0,1,0,0,1]-    , Xs [0,0,0,0,1,0,1,0]-    , Xs [0,0,0,0,1,0,-1]-    , Xs [0,0,0,0,1,1,0,0]-    , Xs [0,0,0,0,1,1,1]-    , Xs [0,0,0,0,1,-1,0]-    , Xs [0,0,0,0,1,7]-    , Xs [0,0,0,0,-1,0,0,0]-    , Xs [0,0,0,0,-1,0,1]-    , Xs [0,0,0,0,-1,1,0]-    , Xs [0,0,0,0,-1,-1]-    , Xs [0,0,0,0,7,0,0]-    , Xs [0,0,0,0,7,1]-    , Xs [0,0,0,0,-8,0]-    , Xs [0,0,0,0,2]-    , Xs [0,0,0,1,0,0,0,0,0]-    , Xs [0,0,0,1,0,0,0,1]-    , Xs [0,0,0,1,0,0,1,0]-    , Xs [0,0,0,1,0,0,-1]-    , Xs [0,0,0,1,0,1,0,0]-    , Xs [0,0,0,1,0,1,1]-    , Xs [0,0,0,1,0,-1,0]-    , Xs [0,0,0,1,0,7]-    , Xs [0,0,0,1,1,0,0,0]-    , Xs [0,0,0,1,1,0,1]-    , Xs [0,0,0,1,1,1,0]-    , Xs [0,0,0,1,1,-1]-    , Xs [0,0,0,1,-1,0,0]-    , Xs [0,0,0,1,-1,1]-    , Xs [0,0,0,1,7,0]-    , Xs [0,0,0,1,-8]-    , Xs [0,0,0,-1,0,0,0,0]-    , Xs [0,0,0,-1,0,0,1]-    , Xs [0,0,0,-1,0,1,0]-    , Xs [0,0,0,-1,0,-1]-    , Xs [0,0,0,-1,1,0,0]-    , Xs [0,0,0,-1,1,1]-    , Xs [0,0,0,-1,-1,0]-    , Xs [0,0,0,-1,7]-    , Xs [0,0,0,7,0,0,0]-    , Xs [0,0,0,7,0,1]-    , Xs [0,0,0,7,1,0]-    , Xs [0,0,0,7,-1]-    , Xs [0,0,0,-8,0,0]-    , Xs [0,0,0,-8,1]-    , Xs [0,0,0,2,0]-    , Xs [0,0,0,-2]-    , Xs [0,0,1,0,0,0,0,0,0]-    , Xs [0,0,1,0,0,0,0,1]-    , Xs [0,0,1,0,0,0,1,0]-    , Xs [0,0,1,0,0,0,-1]-    , Xs [0,0,1,0,0,1,0,0]-    , Xs [0,0,1,0,0,1,1]-    , Xs [0,0,1,0,0,-1,0]-    , Xs [0,0,1,0,0,7]-    , Xs [0,0,1,0,1,0,0,0]-    , Xs [0,0,1,0,1,0,1]-    , Xs [0,0,1,0,1,1,0]-    , Xs [0,0,1,0,1,-1]-    , Xs [0,0,1,0,-1,0,0]-    , Xs [0,0,1,0,-1,1]-    , Xs [0,0,1,0,7,0]-    , Xs [0,0,1,0,-8]-    , Xs [0,0,1,1,0,0,0,0]-    , Xs [0,0,1,1,0,0,1]-    , Xs [0,0,1,1,0,1,0]-    , Xs [0,0,1,1,0,-1]-    , Xs [0,0,1,1,1,0,0]-    , Xs [0,0,1,1,1,1]-    , Xs [0,0,1,1,-1,0]-    , Xs [0,0,1,1,7]-    , Xs [0,0,1,-1,0,0,0]-    , Xs [0,0,1,-1,0,1]-    , Xs [0,0,1,-1,1,0]-    , Xs [0,0,1,-1,-1]-    , Xs [0,0,1,7,0,0]-    , Xs [0,0,1,7,1]-    , Xs [0,0,1,-8,0]-    , Xs [0,0,1,2]-    , Xs [0,0,-1,0,0,0,0,0]-    , Xs [0,0,-1,0,0,0,1]-    , Xs [0,0,-1,0,0,1,0]-    , Xs [0,0,-1,0,0,-1]-    , Xs [0,0,-1,0,1,0,0]-    , Xs [0,0,-1,0,1,1]-    , Xs [0,0,-1,0,-1,0]-    , Xs [0,0,-1,0,7]-    , Xs [0,0,-1,1,0,0,0]-    , Xs [0,0,-1,1,0,1]-    , Xs [0,0,-1,1,1,0]-    , Xs [0,0,-1,1,-1]-    , Xs [0,0,-1,-1,0,0]-    , Xs [0,0,-1,-1,1]-    , Xs [0,0,-1,7,0]-    , Xs [0,0,-1,-8]-    , Xs [0,0,7,0,0,0,0]-    , Xs [0,0,7,0,0,1]-    , Xs [0,0,7,0,1,0]-    , Xs [0,0,7,0,-1]-    , Xs [0,0,7,1,0,0]-    , Xs [0,0,7,1,1]-    , Xs [0,0,7,-1,0]-    , Xs [0,0,7,7]-    , Xs [0,0,-8,0,0,0]-    , Xs [0,0,-8,0,1]-    , Xs [0,0,-8,1,0]-    , Xs [0,0,-8,-1]-    , Xs [0,0,2,0,0]-    , Xs [0,0,2,1]-    , Xs [0,0,-2,0]-    , Xs [0,0,6]-    , Xs [0,1,0,0,0,0,0,0,0]-    , Xs [0,1,0,0,0,0,0,1]-    , Xs [0,1,0,0,0,0,1,0]-    , Xs [0,1,0,0,0,0,-1]-    , Xs [0,1,0,0,0,1,0,0]-    , Xs [0,1,0,0,0,1,1]-    , Xs [0,1,0,0,0,-1,0]-    , Xs [0,1,0,0,0,7]-    , Xs [0,1,0,0,1,0,0,0]-    , Xs [0,1,0,0,1,0,1]-    , Xs [0,1,0,0,1,1,0]-    , Xs [0,1,0,0,1,-1]-    , Xs [0,1,0,0,-1,0,0]-    , Xs [0,1,0,0,-1,1]-    , Xs [0,1,0,0,7,0]-    , Xs [0,1,0,0,-8]-    , Xs [0,1,0,1,0,0,0,0]-    , Xs [0,1,0,1,0,0,1]-    , Xs [0,1,0,1,0,1,0]-    , Xs [0,1,0,1,0,-1]-    , Xs [0,1,0,1,1,0,0]-    , Xs [0,1,0,1,1,1]-    , Xs [0,1,0,1,-1,0]-    , Xs [0,1,0,1,7]-    , Xs [0,1,0,-1,0,0,0]-    , Xs [0,1,0,-1,0,1]-    , Xs [0,1,0,-1,1,0]-    , Xs [0,1,0,-1,-1]-    , Xs [0,1,0,7,0,0]-    , Xs [0,1,0,7,1]-    , Xs [0,1,0,-8,0]-    , Xs [0,1,0,2]-    , Xs [0,1,1,0,0,0,0,0]-    , Xs [0,1,1,0,0,0,1]-    , Xs [0,1,1,0,0,1,0]-    , Xs [0,1,1,0,0,-1]-    , Xs [0,1,1,0,1,0,0]-    , Xs [0,1,1,0,1,1]-    , Xs [0,1,1,0,-1,0]-    , Xs [0,1,1,0,7]-    , Xs [0,1,1,1,0,0,0]-    , Xs [0,1,1,1,0,1]-    , Xs [0,1,1,1,1,0]-    , Xs [0,1,1,1,-1]-    , Xs [0,1,1,-1,0,0]-    , Xs [0,1,1,-1,1]-    , Xs [0,1,1,7,0]-    , Xs [0,1,1,-8]-    , Xs [0,1,-1,0,0,0,0]-    , Xs [0,1,-1,0,0,1]-    , Xs [0,1,-1,0,1,0]-    , Xs [0,1,-1,0,-1]-    , Xs [0,1,-1,1,0,0]-    , Xs [0,1,-1,1,1]-    , Xs [0,1,-1,-1,0]-    , Xs [0,1,-1,7]-    , Xs [0,1,7,0,0,0]-    , Xs [0,1,7,0,1]-    , Xs [0,1,7,1,0]-    , Xs [0,1,7,-1]-    , Xs [0,1,-8,0,0]-    , Xs [0,1,-8,1]-    , Xs [0,1,2,0]-    , Xs [0,1,-2]-    , Xs [0,-1,0,0,0,0,0,0]-    , Xs [0,-1,0,0,0,0,1]-    , Xs [0,-1,0,0,0,1,0]-    , Xs [0,-1,0,0,0,-1]-    , Xs [0,-1,0,0,1,0,0]-    , Xs [0,-1,0,0,1,1]-    , Xs [0,-1,0,0,-1,0]-    , Xs [0,-1,0,0,7]-    , Xs [0,-1,0,1,0,0,0]-    , Xs [0,-1,0,1,0,1]-    , Xs [0,-1,0,1,1,0]-    , Xs [0,-1,0,1,-1]-    , Xs [0,-1,0,-1,0,0]-    , Xs [0,-1,0,-1,1]-    , Xs [0,-1,0,7,0]-    , Xs [0,-1,0,-8]-    , Xs [0,-1,1,0,0,0,0]-    , Xs [0,-1,1,0,0,1]-    , Xs [0,-1,1,0,1,0]-    , Xs [0,-1,1,0,-1]-    , Xs [0,-1,1,1,0,0]-    , Xs [0,-1,1,1,1]-    , Xs [0,-1,1,-1,0]-    , Xs [0,-1,1,7]-    , Xs [0,-1,-1,0,0,0]-    , Xs [0,-1,-1,0,1]-    , Xs [0,-1,-1,1,0]-    , Xs [0,-1,-1,-1]-    , Xs [0,-1,7,0,0]-    , Xs [0,-1,7,1]-    , Xs [0,-1,-8,0]-    , Xs [0,-1,2]-    , Xs [0,7,0,0,0,0,0]-    , Xs [0,7,0,0,0,1]-    , Xs [0,7,0,0,1,0]-    , Xs [0,7,0,0,-1]-    , Xs [0,7,0,1,0,0]-    , Xs [0,7,0,1,1]-    , Xs [0,7,0,-1,0]-    , Xs [0,7,0,7]-    , Xs [0,7,1,0,0,0]-    , Xs [0,7,1,0,1]-    , Xs [0,7,1,1,0]-    , Xs [0,7,1,-1]-    , Xs [0,7,-1,0,0]-    , Xs [0,7,-1,1]-    , Xs [0,7,7,0]-    , Xs [0,7,-8]-    , Xs [0,-8,0,0,0,0]-    , Xs [0,-8,0,0,1]-    , Xs [0,-8,0,1,0]-    , Xs [0,-8,0,-1]-    , Xs [0,-8,1,0,0]-    , Xs [0,-8,1,1]-    , Xs [0,-8,-1,0]-    , Xs [0,-8,7]-    , Xs [0,2,0,0,0]-    , Xs [0,2,0,1]-    , Xs [0,2,1,0]-    , Xs [0,2,-1]-    , Xs [0,-2,0,0]-    , Xs [0,-2,1]-    , Xs [0,6,0]-    , Xs [0,-7]-    , Xs [1,0,0,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,0,0,1]-    , Xs [1,0,0,0,0,0,1,0]-    , Xs [1,0,0,0,0,0,-1]-    , Xs [1,0,0,0,0,1,0,0]-    , Xs [1,0,0,0,0,1,1]-    , Xs [1,0,0,0,0,-1,0]-    , Xs [1,0,0,0,0,7]-    , Xs [1,0,0,0,1,0,0,0]-    , Xs [1,0,0,0,1,0,1]-    , Xs [1,0,0,0,1,1,0]-    , Xs [1,0,0,0,1,-1]-    , Xs [1,0,0,0,-1,0,0]-    , Xs [1,0,0,0,-1,1]-    , Xs [1,0,0,0,7,0]-    , Xs [1,0,0,0,-8]-    , Xs [1,0,0,1,0,0,0,0]-    , Xs [1,0,0,1,0,0,1]-    , Xs [1,0,0,1,0,1,0]-    , Xs [1,0,0,1,0,-1]-    , Xs [1,0,0,1,1,0,0]-    , Xs [1,0,0,1,1,1]-    , Xs [1,0,0,1,-1,0]-    , Xs [1,0,0,1,7]-    , Xs [1,0,0,-1,0,0,0]-    , Xs [1,0,0,-1,0,1]-    , Xs [1,0,0,-1,1,0]-    , Xs [1,0,0,-1,-1]-    , Xs [1,0,0,7,0,0]-    , Xs [1,0,0,7,1]-    , Xs [1,0,0,-8,0]-    , Xs [1,0,0,2]-    , Xs [1,0,1,0,0,0,0,0]-    , Xs [1,0,1,0,0,0,1]-    , Xs [1,0,1,0,0,1,0]-    , Xs [1,0,1,0,0,-1]-    , Xs [1,0,1,0,1,0,0]-    , Xs [1,0,1,0,1,1]-    , Xs [1,0,1,0,-1,0]-    , Xs [1,0,1,0,7]-    , Xs [1,0,1,1,0,0,0]-    , Xs [1,0,1,1,0,1]-    , Xs [1,0,1,1,1,0]-    , Xs [1,0,1,1,-1]-    , Xs [1,0,1,-1,0,0]-    , Xs [1,0,1,-1,1]-    , Xs [1,0,1,7,0]-    , Xs [1,0,1,-8]-    , Xs [1,0,-1,0,0,0,0]-    , Xs [1,0,-1,0,0,1]-    , Xs [1,0,-1,0,1,0]-    , Xs [1,0,-1,0,-1]-    , Xs [1,0,-1,1,0,0]-    , Xs [1,0,-1,1,1]-    , Xs [1,0,-1,-1,0]-    , Xs [1,0,-1,7]-    , Xs [1,0,7,0,0,0]-    , Xs [1,0,7,0,1]-    , Xs [1,0,7,1,0]-    , Xs [1,0,7,-1]-    , Xs [1,0,-8,0,0]-    , Xs [1,0,-8,1]-    , Xs [1,0,2,0]-    , Xs [1,0,-2]-    , Xs [1,1,0,0,0,0,0,0]-    , Xs [1,1,0,0,0,0,1]-    , Xs [1,1,0,0,0,1,0]-    , Xs [1,1,0,0,0,-1]-    , Xs [1,1,0,0,1,0,0]-    , Xs [1,1,0,0,1,1]-    , Xs [1,1,0,0,-1,0]-    , Xs [1,1,0,0,7]-    , Xs [1,1,0,1,0,0,0]-    , Xs [1,1,0,1,0,1]-    , Xs [1,1,0,1,1,0]-    , Xs [1,1,0,1,-1]-    , Xs [1,1,0,-1,0,0]-    , Xs [1,1,0,-1,1]-    , Xs [1,1,0,7,0]-    , Xs [1,1,0,-8]-    , Xs [1,1,1,0,0,0,0]-    , Xs [1,1,1,0,0,1]-    , Xs [1,1,1,0,1,0]-    , Xs [1,1,1,0,-1]-    , Xs [1,1,1,1,0,0]-    , Xs [1,1,1,1,1]-    , Xs [1,1,1,-1,0]-    , Xs [1,1,1,7]-    , Xs [1,1,-1,0,0,0]-    , Xs [1,1,-1,0,1]-    , Xs [1,1,-1,1,0]-    , Xs [1,1,-1,-1]-    , Xs [1,1,7,0,0]-    , Xs [1,1,7,1]-    , Xs [1,1,-8,0]-    , Xs [1,1,2]-    , Xs [1,-1,0,0,0,0,0]-    , Xs [1,-1,0,0,0,1]-    , Xs [1,-1,0,0,1,0]-    , Xs [1,-1,0,0,-1]-    , Xs [1,-1,0,1,0,0]-    , Xs [1,-1,0,1,1]-    , Xs [1,-1,0,-1,0]-    , Xs [1,-1,0,7]-    , Xs [1,-1,1,0,0,0]-    , Xs [1,-1,1,0,1]-    , Xs [1,-1,1,1,0]-    , Xs [1,-1,1,-1]-    , Xs [1,-1,-1,0,0]-    , Xs [1,-1,-1,1]-    , Xs [1,-1,7,0]-    , Xs [1,-1,-8]-    , Xs [1,7,0,0,0,0]-    , Xs [1,7,0,0,1]-    , Xs [1,7,0,1,0]-    , Xs [1,7,0,-1]-    , Xs [1,7,1,0,0]-    , Xs [1,7,1,1]-    , Xs [1,7,-1,0]-    , Xs [1,7,7]-    , Xs [1,-8,0,0,0]-    , Xs [1,-8,0,1]-    , Xs [1,-8,1,0]-    , Xs [1,-8,-1]-    , Xs [1,2,0,0]-    , Xs [1,2,1]-    , Xs [1,-2,0]-    , Xs [1,6]-    , Xs [-1,0,0,0,0,0,0,0]-    , Xs [-1,0,0,0,0,0,1]-    , Xs [-1,0,0,0,0,1,0]-    , Xs [-1,0,0,0,0,-1]-    , Xs [-1,0,0,0,1,0,0]-    , Xs [-1,0,0,0,1,1]-    , Xs [-1,0,0,0,-1,0]-    , Xs [-1,0,0,0,7]-    , Xs [-1,0,0,1,0,0,0]-    , Xs [-1,0,0,1,0,1]-    , Xs [-1,0,0,1,1,0]-    , Xs [-1,0,0,1,-1]-    , Xs [-1,0,0,-1,0,0]-    , Xs [-1,0,0,-1,1]-    , Xs [-1,0,0,7,0]-    , Xs [-1,0,0,-8]-    , Xs [-1,0,1,0,0,0,0]-    , Xs [-1,0,1,0,0,1]-    , Xs [-1,0,1,0,1,0]-    , Xs [-1,0,1,0,-1]-    , Xs [-1,0,1,1,0,0]-    , Xs [-1,0,1,1,1]-    , Xs [-1,0,1,-1,0]-    , Xs [-1,0,1,7]-    , Xs [-1,0,-1,0,0,0]-    , Xs [-1,0,-1,0,1]-    , Xs [-1,0,-1,1,0]-    , Xs [-1,0,-1,-1]-    , Xs [-1,0,7,0,0]-    , Xs [-1,0,7,1]-    , Xs [-1,0,-8,0]-    , Xs [-1,0,2]-    , Xs [-1,1,0,0,0,0,0]-    , Xs [-1,1,0,0,0,1]-    , Xs [-1,1,0,0,1,0]-    , Xs [-1,1,0,0,-1]-    , Xs [-1,1,0,1,0,0]-    , Xs [-1,1,0,1,1]-    , Xs [-1,1,0,-1,0]-    , Xs [-1,1,0,7]-    , Xs [-1,1,1,0,0,0]-    , Xs [-1,1,1,0,1]-    , Xs [-1,1,1,1,0]-    , Xs [-1,1,1,-1]-    , Xs [-1,1,-1,0,0]-    , Xs [-1,1,-1,1]-    , Xs [-1,1,7,0]-    , Xs [-1,1,-8]-    , Xs [-1,-1,0,0,0,0]-    , Xs [-1,-1,0,0,1]-    , Xs [-1,-1,0,1,0]-    , Xs [-1,-1,0,-1]-    , Xs [-1,-1,1,0,0]-    , Xs [-1,-1,1,1]-    , Xs [-1,-1,-1,0]-    , Xs [-1,-1,7]-    , Xs [-1,7,0,0,0]-    , Xs [-1,7,0,1]-    , Xs [-1,7,1,0]-    , Xs [-1,7,-1]-    , Xs [-1,-8,0,0]-    , Xs [-1,-8,1]-    , Xs [-1,2,0]-    , Xs [-1,-2]-    , Xs [7,0,0,0,0,0,0]-    , Xs [7,0,0,0,0,1]-    , Xs [7,0,0,0,1,0]-    , Xs [7,0,0,0,-1]-    , Xs [7,0,0,1,0,0]-    , Xs [7,0,0,1,1]-    , Xs [7,0,0,-1,0]-    , Xs [7,0,0,7]-    , Xs [7,0,1,0,0,0]-    , Xs [7,0,1,0,1]-    , Xs [7,0,1,1,0]-    , Xs [7,0,1,-1]-    , Xs [7,0,-1,0,0]-    , Xs [7,0,-1,1]-    , Xs [7,0,7,0]-    , Xs [7,0,-8]-    , Xs [7,1,0,0,0,0]-    , Xs [7,1,0,0,1]-    , Xs [7,1,0,1,0]-    , Xs [7,1,0,-1]-    , Xs [7,1,1,0,0]-    , Xs [7,1,1,1]-    , Xs [7,1,-1,0]-    , Xs [7,1,7]-    , Xs [7,-1,0,0,0]-    , Xs [7,-1,0,1]-    , Xs [7,-1,1,0]-    , Xs [7,-1,-1]-    , Xs [7,7,0,0]-    , Xs [7,7,1]-    , Xs [7,-8,0]-    , Xs [7,2]-    , Xs [-8,0,0,0,0,0]-    , Xs [-8,0,0,0,1]-    , Xs [-8,0,0,1,0]-    , Xs [-8,0,0,-1]-    , Xs [-8,0,1,0,0]-    , Xs [-8,0,1,1]-    , Xs [-8,0,-1,0]-    , Xs [-8,0,7]-    , Xs [-8,1,0,0,0]-    , Xs [-8,1,0,1]-    , Xs [-8,1,1,0]-    , Xs [-8,1,-1]-    , Xs [-8,-1,0,0]-    , Xs [-8,-1,1]-    , Xs [-8,7,0]-    , Xs [-8,-8]-    , Xs [2,0,0,0,0]-    , Xs [2,0,0,1]-    , Xs [2,0,1,0]-    , Xs [2,0,-1]-    , Xs [2,1,0,0]-    , Xs [2,1,1]-    , Xs [2,-1,0]-    , Xs [2,7]-    , Xs [-2,0,0,0]-    , Xs [-2,0,1]-    , Xs [-2,1,0]-    , Xs [-2,-1]-    , Xs [6,0,0]-    , Xs [6,1]-    , Xs [-7,0]-    , Xs [3]-    ]-  , ...-  ]
− test/diff/tiers-XsNat7.out
@@ -1,1033 +0,0 @@-map length (tiers :: [[ Xs Nat7 ]])  =  [0,1,1,2,4,8,16,32,64,127,253,504,...]--length (list :: [ Xs Nat7 ])  =  Infinity--allUnique (list :: [ Xs Nat7 ])  =  True--ratioRepetitions (list :: [ Xs Nat7 ])  =  0 % 1--tiers :: [Xs Nat7]  =-  [ []-  , [Xs []]-  , [Xs [0]]-  , [ Xs [0,0]-    , Xs [1]-    ]-  , [ Xs [0,0,0]-    , Xs [0,1]-    , Xs [1,0]-    , Xs [2]-    ]-  , [ Xs [0,0,0,0]-    , Xs [0,0,1]-    , Xs [0,1,0]-    , Xs [0,2]-    , Xs [1,0,0]-    , Xs [1,1]-    , Xs [2,0]-    , Xs [6]-    ]-  , [ Xs [0,0,0,0,0]-    , Xs [0,0,0,1]-    , Xs [0,0,1,0]-    , Xs [0,0,2]-    , Xs [0,1,0,0]-    , Xs [0,1,1]-    , Xs [0,2,0]-    , Xs [0,6]-    , Xs [1,0,0,0]-    , Xs [1,0,1]-    , Xs [1,1,0]-    , Xs [1,2]-    , Xs [2,0,0]-    , Xs [2,1]-    , Xs [6,0]-    , Xs [3]-    ]-  , [ Xs [0,0,0,0,0,0]-    , Xs [0,0,0,0,1]-    , Xs [0,0,0,1,0]-    , Xs [0,0,0,2]-    , Xs [0,0,1,0,0]-    , Xs [0,0,1,1]-    , Xs [0,0,2,0]-    , Xs [0,0,6]-    , Xs [0,1,0,0,0]-    , Xs [0,1,0,1]-    , Xs [0,1,1,0]-    , Xs [0,1,2]-    , Xs [0,2,0,0]-    , Xs [0,2,1]-    , Xs [0,6,0]-    , Xs [0,3]-    , Xs [1,0,0,0,0]-    , Xs [1,0,0,1]-    , Xs [1,0,1,0]-    , Xs [1,0,2]-    , Xs [1,1,0,0]-    , Xs [1,1,1]-    , Xs [1,2,0]-    , Xs [1,6]-    , Xs [2,0,0,0]-    , Xs [2,0,1]-    , Xs [2,1,0]-    , Xs [2,2]-    , Xs [6,0,0]-    , Xs [6,1]-    , Xs [3,0]-    , Xs [4]-    ]-  , [ Xs [0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,1]-    , Xs [0,0,0,0,1,0]-    , Xs [0,0,0,0,2]-    , Xs [0,0,0,1,0,0]-    , Xs [0,0,0,1,1]-    , Xs [0,0,0,2,0]-    , Xs [0,0,0,6]-    , Xs [0,0,1,0,0,0]-    , Xs [0,0,1,0,1]-    , Xs [0,0,1,1,0]-    , Xs [0,0,1,2]-    , Xs [0,0,2,0,0]-    , Xs [0,0,2,1]-    , Xs [0,0,6,0]-    , Xs [0,0,3]-    , Xs [0,1,0,0,0,0]-    , Xs [0,1,0,0,1]-    , Xs [0,1,0,1,0]-    , Xs [0,1,0,2]-    , Xs [0,1,1,0,0]-    , Xs [0,1,1,1]-    , Xs [0,1,2,0]-    , Xs [0,1,6]-    , Xs [0,2,0,0,0]-    , Xs [0,2,0,1]-    , Xs [0,2,1,0]-    , Xs [0,2,2]-    , Xs [0,6,0,0]-    , Xs [0,6,1]-    , Xs [0,3,0]-    , Xs [0,4]-    , Xs [1,0,0,0,0,0]-    , Xs [1,0,0,0,1]-    , Xs [1,0,0,1,0]-    , Xs [1,0,0,2]-    , Xs [1,0,1,0,0]-    , Xs [1,0,1,1]-    , Xs [1,0,2,0]-    , Xs [1,0,6]-    , Xs [1,1,0,0,0]-    , Xs [1,1,0,1]-    , Xs [1,1,1,0]-    , Xs [1,1,2]-    , Xs [1,2,0,0]-    , Xs [1,2,1]-    , Xs [1,6,0]-    , Xs [1,3]-    , Xs [2,0,0,0,0]-    , Xs [2,0,0,1]-    , Xs [2,0,1,0]-    , Xs [2,0,2]-    , Xs [2,1,0,0]-    , Xs [2,1,1]-    , Xs [2,2,0]-    , Xs [2,6]-    , Xs [6,0,0,0]-    , Xs [6,0,1]-    , Xs [6,1,0]-    , Xs [6,2]-    , Xs [3,0,0]-    , Xs [3,1]-    , Xs [4,0]-    , Xs [5]-    ]-  , [ Xs [0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,2]-    , Xs [0,0,0,0,1,0,0]-    , Xs [0,0,0,0,1,1]-    , Xs [0,0,0,0,2,0]-    , Xs [0,0,0,0,6]-    , Xs [0,0,0,1,0,0,0]-    , Xs [0,0,0,1,0,1]-    , Xs [0,0,0,1,1,0]-    , Xs [0,0,0,1,2]-    , Xs [0,0,0,2,0,0]-    , Xs [0,0,0,2,1]-    , Xs [0,0,0,6,0]-    , Xs [0,0,0,3]-    , Xs [0,0,1,0,0,0,0]-    , Xs [0,0,1,0,0,1]-    , Xs [0,0,1,0,1,0]-    , Xs [0,0,1,0,2]-    , Xs [0,0,1,1,0,0]-    , Xs [0,0,1,1,1]-    , Xs [0,0,1,2,0]-    , Xs [0,0,1,6]-    , Xs [0,0,2,0,0,0]-    , Xs [0,0,2,0,1]-    , Xs [0,0,2,1,0]-    , Xs [0,0,2,2]-    , Xs [0,0,6,0,0]-    , Xs [0,0,6,1]-    , Xs [0,0,3,0]-    , Xs [0,0,4]-    , Xs [0,1,0,0,0,0,0]-    , Xs [0,1,0,0,0,1]-    , Xs [0,1,0,0,1,0]-    , Xs [0,1,0,0,2]-    , Xs [0,1,0,1,0,0]-    , Xs [0,1,0,1,1]-    , Xs [0,1,0,2,0]-    , Xs [0,1,0,6]-    , Xs [0,1,1,0,0,0]-    , Xs [0,1,1,0,1]-    , Xs [0,1,1,1,0]-    , Xs [0,1,1,2]-    , Xs [0,1,2,0,0]-    , Xs [0,1,2,1]-    , Xs [0,1,6,0]-    , Xs [0,1,3]-    , Xs [0,2,0,0,0,0]-    , Xs [0,2,0,0,1]-    , Xs [0,2,0,1,0]-    , Xs [0,2,0,2]-    , Xs [0,2,1,0,0]-    , Xs [0,2,1,1]-    , Xs [0,2,2,0]-    , Xs [0,2,6]-    , Xs [0,6,0,0,0]-    , Xs [0,6,0,1]-    , Xs [0,6,1,0]-    , Xs [0,6,2]-    , Xs [0,3,0,0]-    , Xs [0,3,1]-    , Xs [0,4,0]-    , Xs [0,5]-    , Xs [1,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,1]-    , Xs [1,0,0,0,1,0]-    , Xs [1,0,0,0,2]-    , Xs [1,0,0,1,0,0]-    , Xs [1,0,0,1,1]-    , Xs [1,0,0,2,0]-    , Xs [1,0,0,6]-    , Xs [1,0,1,0,0,0]-    , Xs [1,0,1,0,1]-    , Xs [1,0,1,1,0]-    , Xs [1,0,1,2]-    , Xs [1,0,2,0,0]-    , Xs [1,0,2,1]-    , Xs [1,0,6,0]-    , Xs [1,0,3]-    , Xs [1,1,0,0,0,0]-    , Xs [1,1,0,0,1]-    , Xs [1,1,0,1,0]-    , Xs [1,1,0,2]-    , Xs [1,1,1,0,0]-    , Xs [1,1,1,1]-    , Xs [1,1,2,0]-    , Xs [1,1,6]-    , Xs [1,2,0,0,0]-    , Xs [1,2,0,1]-    , Xs [1,2,1,0]-    , Xs [1,2,2]-    , Xs [1,6,0,0]-    , Xs [1,6,1]-    , Xs [1,3,0]-    , Xs [1,4]-    , Xs [2,0,0,0,0,0]-    , Xs [2,0,0,0,1]-    , Xs [2,0,0,1,0]-    , Xs [2,0,0,2]-    , Xs [2,0,1,0,0]-    , Xs [2,0,1,1]-    , Xs [2,0,2,0]-    , Xs [2,0,6]-    , Xs [2,1,0,0,0]-    , Xs [2,1,0,1]-    , Xs [2,1,1,0]-    , Xs [2,1,2]-    , Xs [2,2,0,0]-    , Xs [2,2,1]-    , Xs [2,6,0]-    , Xs [2,3]-    , Xs [6,0,0,0,0]-    , Xs [6,0,0,1]-    , Xs [6,0,1,0]-    , Xs [6,0,2]-    , Xs [6,1,0,0]-    , Xs [6,1,1]-    , Xs [6,2,0]-    , Xs [6,6]-    , Xs [3,0,0,0]-    , Xs [3,0,1]-    , Xs [3,1,0]-    , Xs [3,2]-    , Xs [4,0,0]-    , Xs [4,1]-    , Xs [5,0]-    ]-  , [ Xs [0,0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,0,2]-    , Xs [0,0,0,0,0,1,0,0]-    , Xs [0,0,0,0,0,1,1]-    , Xs [0,0,0,0,0,2,0]-    , Xs [0,0,0,0,0,6]-    , Xs [0,0,0,0,1,0,0,0]-    , Xs [0,0,0,0,1,0,1]-    , Xs [0,0,0,0,1,1,0]-    , Xs [0,0,0,0,1,2]-    , Xs [0,0,0,0,2,0,0]-    , Xs [0,0,0,0,2,1]-    , Xs [0,0,0,0,6,0]-    , Xs [0,0,0,0,3]-    , Xs [0,0,0,1,0,0,0,0]-    , Xs [0,0,0,1,0,0,1]-    , Xs [0,0,0,1,0,1,0]-    , Xs [0,0,0,1,0,2]-    , Xs [0,0,0,1,1,0,0]-    , Xs [0,0,0,1,1,1]-    , Xs [0,0,0,1,2,0]-    , Xs [0,0,0,1,6]-    , Xs [0,0,0,2,0,0,0]-    , Xs [0,0,0,2,0,1]-    , Xs [0,0,0,2,1,0]-    , Xs [0,0,0,2,2]-    , Xs [0,0,0,6,0,0]-    , Xs [0,0,0,6,1]-    , Xs [0,0,0,3,0]-    , Xs [0,0,0,4]-    , Xs [0,0,1,0,0,0,0,0]-    , Xs [0,0,1,0,0,0,1]-    , Xs [0,0,1,0,0,1,0]-    , Xs [0,0,1,0,0,2]-    , Xs [0,0,1,0,1,0,0]-    , Xs [0,0,1,0,1,1]-    , Xs [0,0,1,0,2,0]-    , Xs [0,0,1,0,6]-    , Xs [0,0,1,1,0,0,0]-    , Xs [0,0,1,1,0,1]-    , Xs [0,0,1,1,1,0]-    , Xs [0,0,1,1,2]-    , Xs [0,0,1,2,0,0]-    , Xs [0,0,1,2,1]-    , Xs [0,0,1,6,0]-    , Xs [0,0,1,3]-    , Xs [0,0,2,0,0,0,0]-    , Xs [0,0,2,0,0,1]-    , Xs [0,0,2,0,1,0]-    , Xs [0,0,2,0,2]-    , Xs [0,0,2,1,0,0]-    , Xs [0,0,2,1,1]-    , Xs [0,0,2,2,0]-    , Xs [0,0,2,6]-    , Xs [0,0,6,0,0,0]-    , Xs [0,0,6,0,1]-    , Xs [0,0,6,1,0]-    , Xs [0,0,6,2]-    , Xs [0,0,3,0,0]-    , Xs [0,0,3,1]-    , Xs [0,0,4,0]-    , Xs [0,0,5]-    , Xs [0,1,0,0,0,0,0,0]-    , Xs [0,1,0,0,0,0,1]-    , Xs [0,1,0,0,0,1,0]-    , Xs [0,1,0,0,0,2]-    , Xs [0,1,0,0,1,0,0]-    , Xs [0,1,0,0,1,1]-    , Xs [0,1,0,0,2,0]-    , Xs [0,1,0,0,6]-    , Xs [0,1,0,1,0,0,0]-    , Xs [0,1,0,1,0,1]-    , Xs [0,1,0,1,1,0]-    , Xs [0,1,0,1,2]-    , Xs [0,1,0,2,0,0]-    , Xs [0,1,0,2,1]-    , Xs [0,1,0,6,0]-    , Xs [0,1,0,3]-    , Xs [0,1,1,0,0,0,0]-    , Xs [0,1,1,0,0,1]-    , Xs [0,1,1,0,1,0]-    , Xs [0,1,1,0,2]-    , Xs [0,1,1,1,0,0]-    , Xs [0,1,1,1,1]-    , Xs [0,1,1,2,0]-    , Xs [0,1,1,6]-    , Xs [0,1,2,0,0,0]-    , Xs [0,1,2,0,1]-    , Xs [0,1,2,1,0]-    , Xs [0,1,2,2]-    , Xs [0,1,6,0,0]-    , Xs [0,1,6,1]-    , Xs [0,1,3,0]-    , Xs [0,1,4]-    , Xs [0,2,0,0,0,0,0]-    , Xs [0,2,0,0,0,1]-    , Xs [0,2,0,0,1,0]-    , Xs [0,2,0,0,2]-    , Xs [0,2,0,1,0,0]-    , Xs [0,2,0,1,1]-    , Xs [0,2,0,2,0]-    , Xs [0,2,0,6]-    , Xs [0,2,1,0,0,0]-    , Xs [0,2,1,0,1]-    , Xs [0,2,1,1,0]-    , Xs [0,2,1,2]-    , Xs [0,2,2,0,0]-    , Xs [0,2,2,1]-    , Xs [0,2,6,0]-    , Xs [0,2,3]-    , Xs [0,6,0,0,0,0]-    , Xs [0,6,0,0,1]-    , Xs [0,6,0,1,0]-    , Xs [0,6,0,2]-    , Xs [0,6,1,0,0]-    , Xs [0,6,1,1]-    , Xs [0,6,2,0]-    , Xs [0,6,6]-    , Xs [0,3,0,0,0]-    , Xs [0,3,0,1]-    , Xs [0,3,1,0]-    , Xs [0,3,2]-    , Xs [0,4,0,0]-    , Xs [0,4,1]-    , Xs [0,5,0]-    , Xs [1,0,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,0,1]-    , Xs [1,0,0,0,0,1,0]-    , Xs [1,0,0,0,0,2]-    , Xs [1,0,0,0,1,0,0]-    , Xs [1,0,0,0,1,1]-    , Xs [1,0,0,0,2,0]-    , Xs [1,0,0,0,6]-    , Xs [1,0,0,1,0,0,0]-    , Xs [1,0,0,1,0,1]-    , Xs [1,0,0,1,1,0]-    , Xs [1,0,0,1,2]-    , Xs [1,0,0,2,0,0]-    , Xs [1,0,0,2,1]-    , Xs [1,0,0,6,0]-    , Xs [1,0,0,3]-    , Xs [1,0,1,0,0,0,0]-    , Xs [1,0,1,0,0,1]-    , Xs [1,0,1,0,1,0]-    , Xs [1,0,1,0,2]-    , Xs [1,0,1,1,0,0]-    , Xs [1,0,1,1,1]-    , Xs [1,0,1,2,0]-    , Xs [1,0,1,6]-    , Xs [1,0,2,0,0,0]-    , Xs [1,0,2,0,1]-    , Xs [1,0,2,1,0]-    , Xs [1,0,2,2]-    , Xs [1,0,6,0,0]-    , Xs [1,0,6,1]-    , Xs [1,0,3,0]-    , Xs [1,0,4]-    , Xs [1,1,0,0,0,0,0]-    , Xs [1,1,0,0,0,1]-    , Xs [1,1,0,0,1,0]-    , Xs [1,1,0,0,2]-    , Xs [1,1,0,1,0,0]-    , Xs [1,1,0,1,1]-    , Xs [1,1,0,2,0]-    , Xs [1,1,0,6]-    , Xs [1,1,1,0,0,0]-    , Xs [1,1,1,0,1]-    , Xs [1,1,1,1,0]-    , Xs [1,1,1,2]-    , Xs [1,1,2,0,0]-    , Xs [1,1,2,1]-    , Xs [1,1,6,0]-    , Xs [1,1,3]-    , Xs [1,2,0,0,0,0]-    , Xs [1,2,0,0,1]-    , Xs [1,2,0,1,0]-    , Xs [1,2,0,2]-    , Xs [1,2,1,0,0]-    , Xs [1,2,1,1]-    , Xs [1,2,2,0]-    , Xs [1,2,6]-    , Xs [1,6,0,0,0]-    , Xs [1,6,0,1]-    , Xs [1,6,1,0]-    , Xs [1,6,2]-    , Xs [1,3,0,0]-    , Xs [1,3,1]-    , Xs [1,4,0]-    , Xs [1,5]-    , Xs [2,0,0,0,0,0,0]-    , Xs [2,0,0,0,0,1]-    , Xs [2,0,0,0,1,0]-    , Xs [2,0,0,0,2]-    , Xs [2,0,0,1,0,0]-    , Xs [2,0,0,1,1]-    , Xs [2,0,0,2,0]-    , Xs [2,0,0,6]-    , Xs [2,0,1,0,0,0]-    , Xs [2,0,1,0,1]-    , Xs [2,0,1,1,0]-    , Xs [2,0,1,2]-    , Xs [2,0,2,0,0]-    , Xs [2,0,2,1]-    , Xs [2,0,6,0]-    , Xs [2,0,3]-    , Xs [2,1,0,0,0,0]-    , Xs [2,1,0,0,1]-    , Xs [2,1,0,1,0]-    , Xs [2,1,0,2]-    , Xs [2,1,1,0,0]-    , Xs [2,1,1,1]-    , Xs [2,1,2,0]-    , Xs [2,1,6]-    , Xs [2,2,0,0,0]-    , Xs [2,2,0,1]-    , Xs [2,2,1,0]-    , Xs [2,2,2]-    , Xs [2,6,0,0]-    , Xs [2,6,1]-    , Xs [2,3,0]-    , Xs [2,4]-    , Xs [6,0,0,0,0,0]-    , Xs [6,0,0,0,1]-    , Xs [6,0,0,1,0]-    , Xs [6,0,0,2]-    , Xs [6,0,1,0,0]-    , Xs [6,0,1,1]-    , Xs [6,0,2,0]-    , Xs [6,0,6]-    , Xs [6,1,0,0,0]-    , Xs [6,1,0,1]-    , Xs [6,1,1,0]-    , Xs [6,1,2]-    , Xs [6,2,0,0]-    , Xs [6,2,1]-    , Xs [6,6,0]-    , Xs [6,3]-    , Xs [3,0,0,0,0]-    , Xs [3,0,0,1]-    , Xs [3,0,1,0]-    , Xs [3,0,2]-    , Xs [3,1,0,0]-    , Xs [3,1,1]-    , Xs [3,2,0]-    , Xs [3,6]-    , Xs [4,0,0,0]-    , Xs [4,0,1]-    , Xs [4,1,0]-    , Xs [4,2]-    , Xs [5,0,0]-    , Xs [5,1]-    ]-  , [ Xs [0,0,0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,0,0,2]-    , Xs [0,0,0,0,0,0,1,0,0]-    , Xs [0,0,0,0,0,0,1,1]-    , Xs [0,0,0,0,0,0,2,0]-    , Xs [0,0,0,0,0,0,6]-    , Xs [0,0,0,0,0,1,0,0,0]-    , Xs [0,0,0,0,0,1,0,1]-    , Xs [0,0,0,0,0,1,1,0]-    , Xs [0,0,0,0,0,1,2]-    , Xs [0,0,0,0,0,2,0,0]-    , Xs [0,0,0,0,0,2,1]-    , Xs [0,0,0,0,0,6,0]-    , Xs [0,0,0,0,0,3]-    , Xs [0,0,0,0,1,0,0,0,0]-    , Xs [0,0,0,0,1,0,0,1]-    , Xs [0,0,0,0,1,0,1,0]-    , Xs [0,0,0,0,1,0,2]-    , Xs [0,0,0,0,1,1,0,0]-    , Xs [0,0,0,0,1,1,1]-    , Xs [0,0,0,0,1,2,0]-    , Xs [0,0,0,0,1,6]-    , Xs [0,0,0,0,2,0,0,0]-    , Xs [0,0,0,0,2,0,1]-    , Xs [0,0,0,0,2,1,0]-    , Xs [0,0,0,0,2,2]-    , Xs [0,0,0,0,6,0,0]-    , Xs [0,0,0,0,6,1]-    , Xs [0,0,0,0,3,0]-    , Xs [0,0,0,0,4]-    , Xs [0,0,0,1,0,0,0,0,0]-    , Xs [0,0,0,1,0,0,0,1]-    , Xs [0,0,0,1,0,0,1,0]-    , Xs [0,0,0,1,0,0,2]-    , Xs [0,0,0,1,0,1,0,0]-    , Xs [0,0,0,1,0,1,1]-    , Xs [0,0,0,1,0,2,0]-    , Xs [0,0,0,1,0,6]-    , Xs [0,0,0,1,1,0,0,0]-    , Xs [0,0,0,1,1,0,1]-    , Xs [0,0,0,1,1,1,0]-    , Xs [0,0,0,1,1,2]-    , Xs [0,0,0,1,2,0,0]-    , Xs [0,0,0,1,2,1]-    , Xs [0,0,0,1,6,0]-    , Xs [0,0,0,1,3]-    , Xs [0,0,0,2,0,0,0,0]-    , Xs [0,0,0,2,0,0,1]-    , Xs [0,0,0,2,0,1,0]-    , Xs [0,0,0,2,0,2]-    , Xs [0,0,0,2,1,0,0]-    , Xs [0,0,0,2,1,1]-    , Xs [0,0,0,2,2,0]-    , Xs [0,0,0,2,6]-    , Xs [0,0,0,6,0,0,0]-    , Xs [0,0,0,6,0,1]-    , Xs [0,0,0,6,1,0]-    , Xs [0,0,0,6,2]-    , Xs [0,0,0,3,0,0]-    , Xs [0,0,0,3,1]-    , Xs [0,0,0,4,0]-    , Xs [0,0,0,5]-    , Xs [0,0,1,0,0,0,0,0,0]-    , Xs [0,0,1,0,0,0,0,1]-    , Xs [0,0,1,0,0,0,1,0]-    , Xs [0,0,1,0,0,0,2]-    , Xs [0,0,1,0,0,1,0,0]-    , Xs [0,0,1,0,0,1,1]-    , Xs [0,0,1,0,0,2,0]-    , Xs [0,0,1,0,0,6]-    , Xs [0,0,1,0,1,0,0,0]-    , Xs [0,0,1,0,1,0,1]-    , Xs [0,0,1,0,1,1,0]-    , Xs [0,0,1,0,1,2]-    , Xs [0,0,1,0,2,0,0]-    , Xs [0,0,1,0,2,1]-    , Xs [0,0,1,0,6,0]-    , Xs [0,0,1,0,3]-    , Xs [0,0,1,1,0,0,0,0]-    , Xs [0,0,1,1,0,0,1]-    , Xs [0,0,1,1,0,1,0]-    , Xs [0,0,1,1,0,2]-    , Xs [0,0,1,1,1,0,0]-    , Xs [0,0,1,1,1,1]-    , Xs [0,0,1,1,2,0]-    , Xs [0,0,1,1,6]-    , Xs [0,0,1,2,0,0,0]-    , Xs [0,0,1,2,0,1]-    , Xs [0,0,1,2,1,0]-    , Xs [0,0,1,2,2]-    , Xs [0,0,1,6,0,0]-    , Xs [0,0,1,6,1]-    , Xs [0,0,1,3,0]-    , Xs [0,0,1,4]-    , Xs [0,0,2,0,0,0,0,0]-    , Xs [0,0,2,0,0,0,1]-    , Xs [0,0,2,0,0,1,0]-    , Xs [0,0,2,0,0,2]-    , Xs [0,0,2,0,1,0,0]-    , Xs [0,0,2,0,1,1]-    , Xs [0,0,2,0,2,0]-    , Xs [0,0,2,0,6]-    , Xs [0,0,2,1,0,0,0]-    , Xs [0,0,2,1,0,1]-    , Xs [0,0,2,1,1,0]-    , Xs [0,0,2,1,2]-    , Xs [0,0,2,2,0,0]-    , Xs [0,0,2,2,1]-    , Xs [0,0,2,6,0]-    , Xs [0,0,2,3]-    , Xs [0,0,6,0,0,0,0]-    , Xs [0,0,6,0,0,1]-    , Xs [0,0,6,0,1,0]-    , Xs [0,0,6,0,2]-    , Xs [0,0,6,1,0,0]-    , Xs [0,0,6,1,1]-    , Xs [0,0,6,2,0]-    , Xs [0,0,6,6]-    , Xs [0,0,3,0,0,0]-    , Xs [0,0,3,0,1]-    , Xs [0,0,3,1,0]-    , Xs [0,0,3,2]-    , Xs [0,0,4,0,0]-    , Xs [0,0,4,1]-    , Xs [0,0,5,0]-    , Xs [0,1,0,0,0,0,0,0,0]-    , Xs [0,1,0,0,0,0,0,1]-    , Xs [0,1,0,0,0,0,1,0]-    , Xs [0,1,0,0,0,0,2]-    , Xs [0,1,0,0,0,1,0,0]-    , Xs [0,1,0,0,0,1,1]-    , Xs [0,1,0,0,0,2,0]-    , Xs [0,1,0,0,0,6]-    , Xs [0,1,0,0,1,0,0,0]-    , Xs [0,1,0,0,1,0,1]-    , Xs [0,1,0,0,1,1,0]-    , Xs [0,1,0,0,1,2]-    , Xs [0,1,0,0,2,0,0]-    , Xs [0,1,0,0,2,1]-    , Xs [0,1,0,0,6,0]-    , Xs [0,1,0,0,3]-    , Xs [0,1,0,1,0,0,0,0]-    , Xs [0,1,0,1,0,0,1]-    , Xs [0,1,0,1,0,1,0]-    , Xs [0,1,0,1,0,2]-    , Xs [0,1,0,1,1,0,0]-    , Xs [0,1,0,1,1,1]-    , Xs [0,1,0,1,2,0]-    , Xs [0,1,0,1,6]-    , Xs [0,1,0,2,0,0,0]-    , Xs [0,1,0,2,0,1]-    , Xs [0,1,0,2,1,0]-    , Xs [0,1,0,2,2]-    , Xs [0,1,0,6,0,0]-    , Xs [0,1,0,6,1]-    , Xs [0,1,0,3,0]-    , Xs [0,1,0,4]-    , Xs [0,1,1,0,0,0,0,0]-    , Xs [0,1,1,0,0,0,1]-    , Xs [0,1,1,0,0,1,0]-    , Xs [0,1,1,0,0,2]-    , Xs [0,1,1,0,1,0,0]-    , Xs [0,1,1,0,1,1]-    , Xs [0,1,1,0,2,0]-    , Xs [0,1,1,0,6]-    , Xs [0,1,1,1,0,0,0]-    , Xs [0,1,1,1,0,1]-    , Xs [0,1,1,1,1,0]-    , Xs [0,1,1,1,2]-    , Xs [0,1,1,2,0,0]-    , Xs [0,1,1,2,1]-    , Xs [0,1,1,6,0]-    , Xs [0,1,1,3]-    , Xs [0,1,2,0,0,0,0]-    , Xs [0,1,2,0,0,1]-    , Xs [0,1,2,0,1,0]-    , Xs [0,1,2,0,2]-    , Xs [0,1,2,1,0,0]-    , Xs [0,1,2,1,1]-    , Xs [0,1,2,2,0]-    , Xs [0,1,2,6]-    , Xs [0,1,6,0,0,0]-    , Xs [0,1,6,0,1]-    , Xs [0,1,6,1,0]-    , Xs [0,1,6,2]-    , Xs [0,1,3,0,0]-    , Xs [0,1,3,1]-    , Xs [0,1,4,0]-    , Xs [0,1,5]-    , Xs [0,2,0,0,0,0,0,0]-    , Xs [0,2,0,0,0,0,1]-    , Xs [0,2,0,0,0,1,0]-    , Xs [0,2,0,0,0,2]-    , Xs [0,2,0,0,1,0,0]-    , Xs [0,2,0,0,1,1]-    , Xs [0,2,0,0,2,0]-    , Xs [0,2,0,0,6]-    , Xs [0,2,0,1,0,0,0]-    , Xs [0,2,0,1,0,1]-    , Xs [0,2,0,1,1,0]-    , Xs [0,2,0,1,2]-    , Xs [0,2,0,2,0,0]-    , Xs [0,2,0,2,1]-    , Xs [0,2,0,6,0]-    , Xs [0,2,0,3]-    , Xs [0,2,1,0,0,0,0]-    , Xs [0,2,1,0,0,1]-    , Xs [0,2,1,0,1,0]-    , Xs [0,2,1,0,2]-    , Xs [0,2,1,1,0,0]-    , Xs [0,2,1,1,1]-    , Xs [0,2,1,2,0]-    , Xs [0,2,1,6]-    , Xs [0,2,2,0,0,0]-    , Xs [0,2,2,0,1]-    , Xs [0,2,2,1,0]-    , Xs [0,2,2,2]-    , Xs [0,2,6,0,0]-    , Xs [0,2,6,1]-    , Xs [0,2,3,0]-    , Xs [0,2,4]-    , Xs [0,6,0,0,0,0,0]-    , Xs [0,6,0,0,0,1]-    , Xs [0,6,0,0,1,0]-    , Xs [0,6,0,0,2]-    , Xs [0,6,0,1,0,0]-    , Xs [0,6,0,1,1]-    , Xs [0,6,0,2,0]-    , Xs [0,6,0,6]-    , Xs [0,6,1,0,0,0]-    , Xs [0,6,1,0,1]-    , Xs [0,6,1,1,0]-    , Xs [0,6,1,2]-    , Xs [0,6,2,0,0]-    , Xs [0,6,2,1]-    , Xs [0,6,6,0]-    , Xs [0,6,3]-    , Xs [0,3,0,0,0,0]-    , Xs [0,3,0,0,1]-    , Xs [0,3,0,1,0]-    , Xs [0,3,0,2]-    , Xs [0,3,1,0,0]-    , Xs [0,3,1,1]-    , Xs [0,3,2,0]-    , Xs [0,3,6]-    , Xs [0,4,0,0,0]-    , Xs [0,4,0,1]-    , Xs [0,4,1,0]-    , Xs [0,4,2]-    , Xs [0,5,0,0]-    , Xs [0,5,1]-    , Xs [1,0,0,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,0,0,1]-    , Xs [1,0,0,0,0,0,1,0]-    , Xs [1,0,0,0,0,0,2]-    , Xs [1,0,0,0,0,1,0,0]-    , Xs [1,0,0,0,0,1,1]-    , Xs [1,0,0,0,0,2,0]-    , Xs [1,0,0,0,0,6]-    , Xs [1,0,0,0,1,0,0,0]-    , Xs [1,0,0,0,1,0,1]-    , Xs [1,0,0,0,1,1,0]-    , Xs [1,0,0,0,1,2]-    , Xs [1,0,0,0,2,0,0]-    , Xs [1,0,0,0,2,1]-    , Xs [1,0,0,0,6,0]-    , Xs [1,0,0,0,3]-    , Xs [1,0,0,1,0,0,0,0]-    , Xs [1,0,0,1,0,0,1]-    , Xs [1,0,0,1,0,1,0]-    , Xs [1,0,0,1,0,2]-    , Xs [1,0,0,1,1,0,0]-    , Xs [1,0,0,1,1,1]-    , Xs [1,0,0,1,2,0]-    , Xs [1,0,0,1,6]-    , Xs [1,0,0,2,0,0,0]-    , Xs [1,0,0,2,0,1]-    , Xs [1,0,0,2,1,0]-    , Xs [1,0,0,2,2]-    , Xs [1,0,0,6,0,0]-    , Xs [1,0,0,6,1]-    , Xs [1,0,0,3,0]-    , Xs [1,0,0,4]-    , Xs [1,0,1,0,0,0,0,0]-    , Xs [1,0,1,0,0,0,1]-    , Xs [1,0,1,0,0,1,0]-    , Xs [1,0,1,0,0,2]-    , Xs [1,0,1,0,1,0,0]-    , Xs [1,0,1,0,1,1]-    , Xs [1,0,1,0,2,0]-    , Xs [1,0,1,0,6]-    , Xs [1,0,1,1,0,0,0]-    , Xs [1,0,1,1,0,1]-    , Xs [1,0,1,1,1,0]-    , Xs [1,0,1,1,2]-    , Xs [1,0,1,2,0,0]-    , Xs [1,0,1,2,1]-    , Xs [1,0,1,6,0]-    , Xs [1,0,1,3]-    , Xs [1,0,2,0,0,0,0]-    , Xs [1,0,2,0,0,1]-    , Xs [1,0,2,0,1,0]-    , Xs [1,0,2,0,2]-    , Xs [1,0,2,1,0,0]-    , Xs [1,0,2,1,1]-    , Xs [1,0,2,2,0]-    , Xs [1,0,2,6]-    , Xs [1,0,6,0,0,0]-    , Xs [1,0,6,0,1]-    , Xs [1,0,6,1,0]-    , Xs [1,0,6,2]-    , Xs [1,0,3,0,0]-    , Xs [1,0,3,1]-    , Xs [1,0,4,0]-    , Xs [1,0,5]-    , Xs [1,1,0,0,0,0,0,0]-    , Xs [1,1,0,0,0,0,1]-    , Xs [1,1,0,0,0,1,0]-    , Xs [1,1,0,0,0,2]-    , Xs [1,1,0,0,1,0,0]-    , Xs [1,1,0,0,1,1]-    , Xs [1,1,0,0,2,0]-    , Xs [1,1,0,0,6]-    , Xs [1,1,0,1,0,0,0]-    , Xs [1,1,0,1,0,1]-    , Xs [1,1,0,1,1,0]-    , Xs [1,1,0,1,2]-    , Xs [1,1,0,2,0,0]-    , Xs [1,1,0,2,1]-    , Xs [1,1,0,6,0]-    , Xs [1,1,0,3]-    , Xs [1,1,1,0,0,0,0]-    , Xs [1,1,1,0,0,1]-    , Xs [1,1,1,0,1,0]-    , Xs [1,1,1,0,2]-    , Xs [1,1,1,1,0,0]-    , Xs [1,1,1,1,1]-    , Xs [1,1,1,2,0]-    , Xs [1,1,1,6]-    , Xs [1,1,2,0,0,0]-    , Xs [1,1,2,0,1]-    , Xs [1,1,2,1,0]-    , Xs [1,1,2,2]-    , Xs [1,1,6,0,0]-    , Xs [1,1,6,1]-    , Xs [1,1,3,0]-    , Xs [1,1,4]-    , Xs [1,2,0,0,0,0,0]-    , Xs [1,2,0,0,0,1]-    , Xs [1,2,0,0,1,0]-    , Xs [1,2,0,0,2]-    , Xs [1,2,0,1,0,0]-    , Xs [1,2,0,1,1]-    , Xs [1,2,0,2,0]-    , Xs [1,2,0,6]-    , Xs [1,2,1,0,0,0]-    , Xs [1,2,1,0,1]-    , Xs [1,2,1,1,0]-    , Xs [1,2,1,2]-    , Xs [1,2,2,0,0]-    , Xs [1,2,2,1]-    , Xs [1,2,6,0]-    , Xs [1,2,3]-    , Xs [1,6,0,0,0,0]-    , Xs [1,6,0,0,1]-    , Xs [1,6,0,1,0]-    , Xs [1,6,0,2]-    , Xs [1,6,1,0,0]-    , Xs [1,6,1,1]-    , Xs [1,6,2,0]-    , Xs [1,6,6]-    , Xs [1,3,0,0,0]-    , Xs [1,3,0,1]-    , Xs [1,3,1,0]-    , Xs [1,3,2]-    , Xs [1,4,0,0]-    , Xs [1,4,1]-    , Xs [1,5,0]-    , Xs [2,0,0,0,0,0,0,0]-    , Xs [2,0,0,0,0,0,1]-    , Xs [2,0,0,0,0,1,0]-    , Xs [2,0,0,0,0,2]-    , Xs [2,0,0,0,1,0,0]-    , Xs [2,0,0,0,1,1]-    , Xs [2,0,0,0,2,0]-    , Xs [2,0,0,0,6]-    , Xs [2,0,0,1,0,0,0]-    , Xs [2,0,0,1,0,1]-    , Xs [2,0,0,1,1,0]-    , Xs [2,0,0,1,2]-    , Xs [2,0,0,2,0,0]-    , Xs [2,0,0,2,1]-    , Xs [2,0,0,6,0]-    , Xs [2,0,0,3]-    , Xs [2,0,1,0,0,0,0]-    , Xs [2,0,1,0,0,1]-    , Xs [2,0,1,0,1,0]-    , Xs [2,0,1,0,2]-    , Xs [2,0,1,1,0,0]-    , Xs [2,0,1,1,1]-    , Xs [2,0,1,2,0]-    , Xs [2,0,1,6]-    , Xs [2,0,2,0,0,0]-    , Xs [2,0,2,0,1]-    , Xs [2,0,2,1,0]-    , Xs [2,0,2,2]-    , Xs [2,0,6,0,0]-    , Xs [2,0,6,1]-    , Xs [2,0,3,0]-    , Xs [2,0,4]-    , Xs [2,1,0,0,0,0,0]-    , Xs [2,1,0,0,0,1]-    , Xs [2,1,0,0,1,0]-    , Xs [2,1,0,0,2]-    , Xs [2,1,0,1,0,0]-    , Xs [2,1,0,1,1]-    , Xs [2,1,0,2,0]-    , Xs [2,1,0,6]-    , Xs [2,1,1,0,0,0]-    , Xs [2,1,1,0,1]-    , Xs [2,1,1,1,0]-    , Xs [2,1,1,2]-    , Xs [2,1,2,0,0]-    , Xs [2,1,2,1]-    , Xs [2,1,6,0]-    , Xs [2,1,3]-    , Xs [2,2,0,0,0,0]-    , Xs [2,2,0,0,1]-    , Xs [2,2,0,1,0]-    , Xs [2,2,0,2]-    , Xs [2,2,1,0,0]-    , Xs [2,2,1,1]-    , Xs [2,2,2,0]-    , Xs [2,2,6]-    , Xs [2,6,0,0,0]-    , Xs [2,6,0,1]-    , Xs [2,6,1,0]-    , Xs [2,6,2]-    , Xs [2,3,0,0]-    , Xs [2,3,1]-    , Xs [2,4,0]-    , Xs [2,5]-    , Xs [6,0,0,0,0,0,0]-    , Xs [6,0,0,0,0,1]-    , Xs [6,0,0,0,1,0]-    , Xs [6,0,0,0,2]-    , Xs [6,0,0,1,0,0]-    , Xs [6,0,0,1,1]-    , Xs [6,0,0,2,0]-    , Xs [6,0,0,6]-    , Xs [6,0,1,0,0,0]-    , Xs [6,0,1,0,1]-    , Xs [6,0,1,1,0]-    , Xs [6,0,1,2]-    , Xs [6,0,2,0,0]-    , Xs [6,0,2,1]-    , Xs [6,0,6,0]-    , Xs [6,0,3]-    , Xs [6,1,0,0,0,0]-    , Xs [6,1,0,0,1]-    , Xs [6,1,0,1,0]-    , Xs [6,1,0,2]-    , Xs [6,1,1,0,0]-    , Xs [6,1,1,1]-    , Xs [6,1,2,0]-    , Xs [6,1,6]-    , Xs [6,2,0,0,0]-    , Xs [6,2,0,1]-    , Xs [6,2,1,0]-    , Xs [6,2,2]-    , Xs [6,6,0,0]-    , Xs [6,6,1]-    , Xs [6,3,0]-    , Xs [6,4]-    , Xs [3,0,0,0,0,0]-    , Xs [3,0,0,0,1]-    , Xs [3,0,0,1,0]-    , Xs [3,0,0,2]-    , Xs [3,0,1,0,0]-    , Xs [3,0,1,1]-    , Xs [3,0,2,0]-    , Xs [3,0,6]-    , Xs [3,1,0,0,0]-    , Xs [3,1,0,1]-    , Xs [3,1,1,0]-    , Xs [3,1,2]-    , Xs [3,2,0,0]-    , Xs [3,2,1]-    , Xs [3,6,0]-    , Xs [3,3]-    , Xs [4,0,0,0,0]-    , Xs [4,0,0,1]-    , Xs [4,0,1,0]-    , Xs [4,0,2]-    , Xs [4,1,0,0]-    , Xs [4,1,1]-    , Xs [4,2,0]-    , Xs [4,6]-    , Xs [5,0,0,0]-    , Xs [5,0,1]-    , Xs [5,1,0]-    , Xs [5,2]-    ]-  , ...-  ]
− test/diff/tiers-XsWord4.out
@@ -1,1045 +0,0 @@-map length (tiers :: [[ Xs Word4 ]])  =  [0,1,1,2,4,8,16,32,64,128,256,512,...]--length (list :: [ Xs Word4 ])  =  Infinity--allUnique (list :: [ Xs Word4 ])  =  True--ratioRepetitions (list :: [ Xs Word4 ])  =  0 % 1--tiers :: [Xs Word4]  =-  [ []-  , [Xs []]-  , [Xs [0]]-  , [ Xs [0,0]-    , Xs [1]-    ]-  , [ Xs [0,0,0]-    , Xs [0,1]-    , Xs [1,0]-    , Xs [2]-    ]-  , [ Xs [0,0,0,0]-    , Xs [0,0,1]-    , Xs [0,1,0]-    , Xs [0,2]-    , Xs [1,0,0]-    , Xs [1,1]-    , Xs [2,0]-    , Xs [15]-    ]-  , [ Xs [0,0,0,0,0]-    , Xs [0,0,0,1]-    , Xs [0,0,1,0]-    , Xs [0,0,2]-    , Xs [0,1,0,0]-    , Xs [0,1,1]-    , Xs [0,2,0]-    , Xs [0,15]-    , Xs [1,0,0,0]-    , Xs [1,0,1]-    , Xs [1,1,0]-    , Xs [1,2]-    , Xs [2,0,0]-    , Xs [2,1]-    , Xs [15,0]-    , Xs [3]-    ]-  , [ Xs [0,0,0,0,0,0]-    , Xs [0,0,0,0,1]-    , Xs [0,0,0,1,0]-    , Xs [0,0,0,2]-    , Xs [0,0,1,0,0]-    , Xs [0,0,1,1]-    , Xs [0,0,2,0]-    , Xs [0,0,15]-    , Xs [0,1,0,0,0]-    , Xs [0,1,0,1]-    , Xs [0,1,1,0]-    , Xs [0,1,2]-    , Xs [0,2,0,0]-    , Xs [0,2,1]-    , Xs [0,15,0]-    , Xs [0,3]-    , Xs [1,0,0,0,0]-    , Xs [1,0,0,1]-    , Xs [1,0,1,0]-    , Xs [1,0,2]-    , Xs [1,1,0,0]-    , Xs [1,1,1]-    , Xs [1,2,0]-    , Xs [1,15]-    , Xs [2,0,0,0]-    , Xs [2,0,1]-    , Xs [2,1,0]-    , Xs [2,2]-    , Xs [15,0,0]-    , Xs [15,1]-    , Xs [3,0]-    , Xs [4]-    ]-  , [ Xs [0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,1]-    , Xs [0,0,0,0,1,0]-    , Xs [0,0,0,0,2]-    , Xs [0,0,0,1,0,0]-    , Xs [0,0,0,1,1]-    , Xs [0,0,0,2,0]-    , Xs [0,0,0,15]-    , Xs [0,0,1,0,0,0]-    , Xs [0,0,1,0,1]-    , Xs [0,0,1,1,0]-    , Xs [0,0,1,2]-    , Xs [0,0,2,0,0]-    , Xs [0,0,2,1]-    , Xs [0,0,15,0]-    , Xs [0,0,3]-    , Xs [0,1,0,0,0,0]-    , Xs [0,1,0,0,1]-    , Xs [0,1,0,1,0]-    , Xs [0,1,0,2]-    , Xs [0,1,1,0,0]-    , Xs [0,1,1,1]-    , Xs [0,1,2,0]-    , Xs [0,1,15]-    , Xs [0,2,0,0,0]-    , Xs [0,2,0,1]-    , Xs [0,2,1,0]-    , Xs [0,2,2]-    , Xs [0,15,0,0]-    , Xs [0,15,1]-    , Xs [0,3,0]-    , Xs [0,4]-    , Xs [1,0,0,0,0,0]-    , Xs [1,0,0,0,1]-    , Xs [1,0,0,1,0]-    , Xs [1,0,0,2]-    , Xs [1,0,1,0,0]-    , Xs [1,0,1,1]-    , Xs [1,0,2,0]-    , Xs [1,0,15]-    , Xs [1,1,0,0,0]-    , Xs [1,1,0,1]-    , Xs [1,1,1,0]-    , Xs [1,1,2]-    , Xs [1,2,0,0]-    , Xs [1,2,1]-    , Xs [1,15,0]-    , Xs [1,3]-    , Xs [2,0,0,0,0]-    , Xs [2,0,0,1]-    , Xs [2,0,1,0]-    , Xs [2,0,2]-    , Xs [2,1,0,0]-    , Xs [2,1,1]-    , Xs [2,2,0]-    , Xs [2,15]-    , Xs [15,0,0,0]-    , Xs [15,0,1]-    , Xs [15,1,0]-    , Xs [15,2]-    , Xs [3,0,0]-    , Xs [3,1]-    , Xs [4,0]-    , Xs [14]-    ]-  , [ Xs [0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,2]-    , Xs [0,0,0,0,1,0,0]-    , Xs [0,0,0,0,1,1]-    , Xs [0,0,0,0,2,0]-    , Xs [0,0,0,0,15]-    , Xs [0,0,0,1,0,0,0]-    , Xs [0,0,0,1,0,1]-    , Xs [0,0,0,1,1,0]-    , Xs [0,0,0,1,2]-    , Xs [0,0,0,2,0,0]-    , Xs [0,0,0,2,1]-    , Xs [0,0,0,15,0]-    , Xs [0,0,0,3]-    , Xs [0,0,1,0,0,0,0]-    , Xs [0,0,1,0,0,1]-    , Xs [0,0,1,0,1,0]-    , Xs [0,0,1,0,2]-    , Xs [0,0,1,1,0,0]-    , Xs [0,0,1,1,1]-    , Xs [0,0,1,2,0]-    , Xs [0,0,1,15]-    , Xs [0,0,2,0,0,0]-    , Xs [0,0,2,0,1]-    , Xs [0,0,2,1,0]-    , Xs [0,0,2,2]-    , Xs [0,0,15,0,0]-    , Xs [0,0,15,1]-    , Xs [0,0,3,0]-    , Xs [0,0,4]-    , Xs [0,1,0,0,0,0,0]-    , Xs [0,1,0,0,0,1]-    , Xs [0,1,0,0,1,0]-    , Xs [0,1,0,0,2]-    , Xs [0,1,0,1,0,0]-    , Xs [0,1,0,1,1]-    , Xs [0,1,0,2,0]-    , Xs [0,1,0,15]-    , Xs [0,1,1,0,0,0]-    , Xs [0,1,1,0,1]-    , Xs [0,1,1,1,0]-    , Xs [0,1,1,2]-    , Xs [0,1,2,0,0]-    , Xs [0,1,2,1]-    , Xs [0,1,15,0]-    , Xs [0,1,3]-    , Xs [0,2,0,0,0,0]-    , Xs [0,2,0,0,1]-    , Xs [0,2,0,1,0]-    , Xs [0,2,0,2]-    , Xs [0,2,1,0,0]-    , Xs [0,2,1,1]-    , Xs [0,2,2,0]-    , Xs [0,2,15]-    , Xs [0,15,0,0,0]-    , Xs [0,15,0,1]-    , Xs [0,15,1,0]-    , Xs [0,15,2]-    , Xs [0,3,0,0]-    , Xs [0,3,1]-    , Xs [0,4,0]-    , Xs [0,14]-    , Xs [1,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,1]-    , Xs [1,0,0,0,1,0]-    , Xs [1,0,0,0,2]-    , Xs [1,0,0,1,0,0]-    , Xs [1,0,0,1,1]-    , Xs [1,0,0,2,0]-    , Xs [1,0,0,15]-    , Xs [1,0,1,0,0,0]-    , Xs [1,0,1,0,1]-    , Xs [1,0,1,1,0]-    , Xs [1,0,1,2]-    , Xs [1,0,2,0,0]-    , Xs [1,0,2,1]-    , Xs [1,0,15,0]-    , Xs [1,0,3]-    , Xs [1,1,0,0,0,0]-    , Xs [1,1,0,0,1]-    , Xs [1,1,0,1,0]-    , Xs [1,1,0,2]-    , Xs [1,1,1,0,0]-    , Xs [1,1,1,1]-    , Xs [1,1,2,0]-    , Xs [1,1,15]-    , Xs [1,2,0,0,0]-    , Xs [1,2,0,1]-    , Xs [1,2,1,0]-    , Xs [1,2,2]-    , Xs [1,15,0,0]-    , Xs [1,15,1]-    , Xs [1,3,0]-    , Xs [1,4]-    , Xs [2,0,0,0,0,0]-    , Xs [2,0,0,0,1]-    , Xs [2,0,0,1,0]-    , Xs [2,0,0,2]-    , Xs [2,0,1,0,0]-    , Xs [2,0,1,1]-    , Xs [2,0,2,0]-    , Xs [2,0,15]-    , Xs [2,1,0,0,0]-    , Xs [2,1,0,1]-    , Xs [2,1,1,0]-    , Xs [2,1,2]-    , Xs [2,2,0,0]-    , Xs [2,2,1]-    , Xs [2,15,0]-    , Xs [2,3]-    , Xs [15,0,0,0,0]-    , Xs [15,0,0,1]-    , Xs [15,0,1,0]-    , Xs [15,0,2]-    , Xs [15,1,0,0]-    , Xs [15,1,1]-    , Xs [15,2,0]-    , Xs [15,15]-    , Xs [3,0,0,0]-    , Xs [3,0,1]-    , Xs [3,1,0]-    , Xs [3,2]-    , Xs [4,0,0]-    , Xs [4,1]-    , Xs [14,0]-    , Xs [5]-    ]-  , [ Xs [0,0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,0,2]-    , Xs [0,0,0,0,0,1,0,0]-    , Xs [0,0,0,0,0,1,1]-    , Xs [0,0,0,0,0,2,0]-    , Xs [0,0,0,0,0,15]-    , Xs [0,0,0,0,1,0,0,0]-    , Xs [0,0,0,0,1,0,1]-    , Xs [0,0,0,0,1,1,0]-    , Xs [0,0,0,0,1,2]-    , Xs [0,0,0,0,2,0,0]-    , Xs [0,0,0,0,2,1]-    , Xs [0,0,0,0,15,0]-    , Xs [0,0,0,0,3]-    , Xs [0,0,0,1,0,0,0,0]-    , Xs [0,0,0,1,0,0,1]-    , Xs [0,0,0,1,0,1,0]-    , Xs [0,0,0,1,0,2]-    , Xs [0,0,0,1,1,0,0]-    , Xs [0,0,0,1,1,1]-    , Xs [0,0,0,1,2,0]-    , Xs [0,0,0,1,15]-    , Xs [0,0,0,2,0,0,0]-    , Xs [0,0,0,2,0,1]-    , Xs [0,0,0,2,1,0]-    , Xs [0,0,0,2,2]-    , Xs [0,0,0,15,0,0]-    , Xs [0,0,0,15,1]-    , Xs [0,0,0,3,0]-    , Xs [0,0,0,4]-    , Xs [0,0,1,0,0,0,0,0]-    , Xs [0,0,1,0,0,0,1]-    , Xs [0,0,1,0,0,1,0]-    , Xs [0,0,1,0,0,2]-    , Xs [0,0,1,0,1,0,0]-    , Xs [0,0,1,0,1,1]-    , Xs [0,0,1,0,2,0]-    , Xs [0,0,1,0,15]-    , Xs [0,0,1,1,0,0,0]-    , Xs [0,0,1,1,0,1]-    , Xs [0,0,1,1,1,0]-    , Xs [0,0,1,1,2]-    , Xs [0,0,1,2,0,0]-    , Xs [0,0,1,2,1]-    , Xs [0,0,1,15,0]-    , Xs [0,0,1,3]-    , Xs [0,0,2,0,0,0,0]-    , Xs [0,0,2,0,0,1]-    , Xs [0,0,2,0,1,0]-    , Xs [0,0,2,0,2]-    , Xs [0,0,2,1,0,0]-    , Xs [0,0,2,1,1]-    , Xs [0,0,2,2,0]-    , Xs [0,0,2,15]-    , Xs [0,0,15,0,0,0]-    , Xs [0,0,15,0,1]-    , Xs [0,0,15,1,0]-    , Xs [0,0,15,2]-    , Xs [0,0,3,0,0]-    , Xs [0,0,3,1]-    , Xs [0,0,4,0]-    , Xs [0,0,14]-    , Xs [0,1,0,0,0,0,0,0]-    , Xs [0,1,0,0,0,0,1]-    , Xs [0,1,0,0,0,1,0]-    , Xs [0,1,0,0,0,2]-    , Xs [0,1,0,0,1,0,0]-    , Xs [0,1,0,0,1,1]-    , Xs [0,1,0,0,2,0]-    , Xs [0,1,0,0,15]-    , Xs [0,1,0,1,0,0,0]-    , Xs [0,1,0,1,0,1]-    , Xs [0,1,0,1,1,0]-    , Xs [0,1,0,1,2]-    , Xs [0,1,0,2,0,0]-    , Xs [0,1,0,2,1]-    , Xs [0,1,0,15,0]-    , Xs [0,1,0,3]-    , Xs [0,1,1,0,0,0,0]-    , Xs [0,1,1,0,0,1]-    , Xs [0,1,1,0,1,0]-    , Xs [0,1,1,0,2]-    , Xs [0,1,1,1,0,0]-    , Xs [0,1,1,1,1]-    , Xs [0,1,1,2,0]-    , Xs [0,1,1,15]-    , Xs [0,1,2,0,0,0]-    , Xs [0,1,2,0,1]-    , Xs [0,1,2,1,0]-    , Xs [0,1,2,2]-    , Xs [0,1,15,0,0]-    , Xs [0,1,15,1]-    , Xs [0,1,3,0]-    , Xs [0,1,4]-    , Xs [0,2,0,0,0,0,0]-    , Xs [0,2,0,0,0,1]-    , Xs [0,2,0,0,1,0]-    , Xs [0,2,0,0,2]-    , Xs [0,2,0,1,0,0]-    , Xs [0,2,0,1,1]-    , Xs [0,2,0,2,0]-    , Xs [0,2,0,15]-    , Xs [0,2,1,0,0,0]-    , Xs [0,2,1,0,1]-    , Xs [0,2,1,1,0]-    , Xs [0,2,1,2]-    , Xs [0,2,2,0,0]-    , Xs [0,2,2,1]-    , Xs [0,2,15,0]-    , Xs [0,2,3]-    , Xs [0,15,0,0,0,0]-    , Xs [0,15,0,0,1]-    , Xs [0,15,0,1,0]-    , Xs [0,15,0,2]-    , Xs [0,15,1,0,0]-    , Xs [0,15,1,1]-    , Xs [0,15,2,0]-    , Xs [0,15,15]-    , Xs [0,3,0,0,0]-    , Xs [0,3,0,1]-    , Xs [0,3,1,0]-    , Xs [0,3,2]-    , Xs [0,4,0,0]-    , Xs [0,4,1]-    , Xs [0,14,0]-    , Xs [0,5]-    , Xs [1,0,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,0,1]-    , Xs [1,0,0,0,0,1,0]-    , Xs [1,0,0,0,0,2]-    , Xs [1,0,0,0,1,0,0]-    , Xs [1,0,0,0,1,1]-    , Xs [1,0,0,0,2,0]-    , Xs [1,0,0,0,15]-    , Xs [1,0,0,1,0,0,0]-    , Xs [1,0,0,1,0,1]-    , Xs [1,0,0,1,1,0]-    , Xs [1,0,0,1,2]-    , Xs [1,0,0,2,0,0]-    , Xs [1,0,0,2,1]-    , Xs [1,0,0,15,0]-    , Xs [1,0,0,3]-    , Xs [1,0,1,0,0,0,0]-    , Xs [1,0,1,0,0,1]-    , Xs [1,0,1,0,1,0]-    , Xs [1,0,1,0,2]-    , Xs [1,0,1,1,0,0]-    , Xs [1,0,1,1,1]-    , Xs [1,0,1,2,0]-    , Xs [1,0,1,15]-    , Xs [1,0,2,0,0,0]-    , Xs [1,0,2,0,1]-    , Xs [1,0,2,1,0]-    , Xs [1,0,2,2]-    , Xs [1,0,15,0,0]-    , Xs [1,0,15,1]-    , Xs [1,0,3,0]-    , Xs [1,0,4]-    , Xs [1,1,0,0,0,0,0]-    , Xs [1,1,0,0,0,1]-    , Xs [1,1,0,0,1,0]-    , Xs [1,1,0,0,2]-    , Xs [1,1,0,1,0,0]-    , Xs [1,1,0,1,1]-    , Xs [1,1,0,2,0]-    , Xs [1,1,0,15]-    , Xs [1,1,1,0,0,0]-    , Xs [1,1,1,0,1]-    , Xs [1,1,1,1,0]-    , Xs [1,1,1,2]-    , Xs [1,1,2,0,0]-    , Xs [1,1,2,1]-    , Xs [1,1,15,0]-    , Xs [1,1,3]-    , Xs [1,2,0,0,0,0]-    , Xs [1,2,0,0,1]-    , Xs [1,2,0,1,0]-    , Xs [1,2,0,2]-    , Xs [1,2,1,0,0]-    , Xs [1,2,1,1]-    , Xs [1,2,2,0]-    , Xs [1,2,15]-    , Xs [1,15,0,0,0]-    , Xs [1,15,0,1]-    , Xs [1,15,1,0]-    , Xs [1,15,2]-    , Xs [1,3,0,0]-    , Xs [1,3,1]-    , Xs [1,4,0]-    , Xs [1,14]-    , Xs [2,0,0,0,0,0,0]-    , Xs [2,0,0,0,0,1]-    , Xs [2,0,0,0,1,0]-    , Xs [2,0,0,0,2]-    , Xs [2,0,0,1,0,0]-    , Xs [2,0,0,1,1]-    , Xs [2,0,0,2,0]-    , Xs [2,0,0,15]-    , Xs [2,0,1,0,0,0]-    , Xs [2,0,1,0,1]-    , Xs [2,0,1,1,0]-    , Xs [2,0,1,2]-    , Xs [2,0,2,0,0]-    , Xs [2,0,2,1]-    , Xs [2,0,15,0]-    , Xs [2,0,3]-    , Xs [2,1,0,0,0,0]-    , Xs [2,1,0,0,1]-    , Xs [2,1,0,1,0]-    , Xs [2,1,0,2]-    , Xs [2,1,1,0,0]-    , Xs [2,1,1,1]-    , Xs [2,1,2,0]-    , Xs [2,1,15]-    , Xs [2,2,0,0,0]-    , Xs [2,2,0,1]-    , Xs [2,2,1,0]-    , Xs [2,2,2]-    , Xs [2,15,0,0]-    , Xs [2,15,1]-    , Xs [2,3,0]-    , Xs [2,4]-    , Xs [15,0,0,0,0,0]-    , Xs [15,0,0,0,1]-    , Xs [15,0,0,1,0]-    , Xs [15,0,0,2]-    , Xs [15,0,1,0,0]-    , Xs [15,0,1,1]-    , Xs [15,0,2,0]-    , Xs [15,0,15]-    , Xs [15,1,0,0,0]-    , Xs [15,1,0,1]-    , Xs [15,1,1,0]-    , Xs [15,1,2]-    , Xs [15,2,0,0]-    , Xs [15,2,1]-    , Xs [15,15,0]-    , Xs [15,3]-    , Xs [3,0,0,0,0]-    , Xs [3,0,0,1]-    , Xs [3,0,1,0]-    , Xs [3,0,2]-    , Xs [3,1,0,0]-    , Xs [3,1,1]-    , Xs [3,2,0]-    , Xs [3,15]-    , Xs [4,0,0,0]-    , Xs [4,0,1]-    , Xs [4,1,0]-    , Xs [4,2]-    , Xs [14,0,0]-    , Xs [14,1]-    , Xs [5,0]-    , Xs [6]-    ]-  , [ Xs [0,0,0,0,0,0,0,0,0,0]-    , Xs [0,0,0,0,0,0,0,0,1]-    , Xs [0,0,0,0,0,0,0,1,0]-    , Xs [0,0,0,0,0,0,0,2]-    , Xs [0,0,0,0,0,0,1,0,0]-    , Xs [0,0,0,0,0,0,1,1]-    , Xs [0,0,0,0,0,0,2,0]-    , Xs [0,0,0,0,0,0,15]-    , Xs [0,0,0,0,0,1,0,0,0]-    , Xs [0,0,0,0,0,1,0,1]-    , Xs [0,0,0,0,0,1,1,0]-    , Xs [0,0,0,0,0,1,2]-    , Xs [0,0,0,0,0,2,0,0]-    , Xs [0,0,0,0,0,2,1]-    , Xs [0,0,0,0,0,15,0]-    , Xs [0,0,0,0,0,3]-    , Xs [0,0,0,0,1,0,0,0,0]-    , Xs [0,0,0,0,1,0,0,1]-    , Xs [0,0,0,0,1,0,1,0]-    , Xs [0,0,0,0,1,0,2]-    , Xs [0,0,0,0,1,1,0,0]-    , Xs [0,0,0,0,1,1,1]-    , Xs [0,0,0,0,1,2,0]-    , Xs [0,0,0,0,1,15]-    , Xs [0,0,0,0,2,0,0,0]-    , Xs [0,0,0,0,2,0,1]-    , Xs [0,0,0,0,2,1,0]-    , Xs [0,0,0,0,2,2]-    , Xs [0,0,0,0,15,0,0]-    , Xs [0,0,0,0,15,1]-    , Xs [0,0,0,0,3,0]-    , Xs [0,0,0,0,4]-    , Xs [0,0,0,1,0,0,0,0,0]-    , Xs [0,0,0,1,0,0,0,1]-    , Xs [0,0,0,1,0,0,1,0]-    , Xs [0,0,0,1,0,0,2]-    , Xs [0,0,0,1,0,1,0,0]-    , Xs [0,0,0,1,0,1,1]-    , Xs [0,0,0,1,0,2,0]-    , Xs [0,0,0,1,0,15]-    , Xs [0,0,0,1,1,0,0,0]-    , Xs [0,0,0,1,1,0,1]-    , Xs [0,0,0,1,1,1,0]-    , Xs [0,0,0,1,1,2]-    , Xs [0,0,0,1,2,0,0]-    , Xs [0,0,0,1,2,1]-    , Xs [0,0,0,1,15,0]-    , Xs [0,0,0,1,3]-    , Xs [0,0,0,2,0,0,0,0]-    , Xs [0,0,0,2,0,0,1]-    , Xs [0,0,0,2,0,1,0]-    , Xs [0,0,0,2,0,2]-    , Xs [0,0,0,2,1,0,0]-    , Xs [0,0,0,2,1,1]-    , Xs [0,0,0,2,2,0]-    , Xs [0,0,0,2,15]-    , Xs [0,0,0,15,0,0,0]-    , Xs [0,0,0,15,0,1]-    , Xs [0,0,0,15,1,0]-    , Xs [0,0,0,15,2]-    , Xs [0,0,0,3,0,0]-    , Xs [0,0,0,3,1]-    , Xs [0,0,0,4,0]-    , Xs [0,0,0,14]-    , Xs [0,0,1,0,0,0,0,0,0]-    , Xs [0,0,1,0,0,0,0,1]-    , Xs [0,0,1,0,0,0,1,0]-    , Xs [0,0,1,0,0,0,2]-    , Xs [0,0,1,0,0,1,0,0]-    , Xs [0,0,1,0,0,1,1]-    , Xs [0,0,1,0,0,2,0]-    , Xs [0,0,1,0,0,15]-    , Xs [0,0,1,0,1,0,0,0]-    , Xs [0,0,1,0,1,0,1]-    , Xs [0,0,1,0,1,1,0]-    , Xs [0,0,1,0,1,2]-    , Xs [0,0,1,0,2,0,0]-    , Xs [0,0,1,0,2,1]-    , Xs [0,0,1,0,15,0]-    , Xs [0,0,1,0,3]-    , Xs [0,0,1,1,0,0,0,0]-    , Xs [0,0,1,1,0,0,1]-    , Xs [0,0,1,1,0,1,0]-    , Xs [0,0,1,1,0,2]-    , Xs [0,0,1,1,1,0,0]-    , Xs [0,0,1,1,1,1]-    , Xs [0,0,1,1,2,0]-    , Xs [0,0,1,1,15]-    , Xs [0,0,1,2,0,0,0]-    , Xs [0,0,1,2,0,1]-    , Xs [0,0,1,2,1,0]-    , Xs [0,0,1,2,2]-    , Xs [0,0,1,15,0,0]-    , Xs [0,0,1,15,1]-    , Xs [0,0,1,3,0]-    , Xs [0,0,1,4]-    , Xs [0,0,2,0,0,0,0,0]-    , Xs [0,0,2,0,0,0,1]-    , Xs [0,0,2,0,0,1,0]-    , Xs [0,0,2,0,0,2]-    , Xs [0,0,2,0,1,0,0]-    , Xs [0,0,2,0,1,1]-    , Xs [0,0,2,0,2,0]-    , Xs [0,0,2,0,15]-    , Xs [0,0,2,1,0,0,0]-    , Xs [0,0,2,1,0,1]-    , Xs [0,0,2,1,1,0]-    , Xs [0,0,2,1,2]-    , Xs [0,0,2,2,0,0]-    , Xs [0,0,2,2,1]-    , Xs [0,0,2,15,0]-    , Xs [0,0,2,3]-    , Xs [0,0,15,0,0,0,0]-    , Xs [0,0,15,0,0,1]-    , Xs [0,0,15,0,1,0]-    , Xs [0,0,15,0,2]-    , Xs [0,0,15,1,0,0]-    , Xs [0,0,15,1,1]-    , Xs [0,0,15,2,0]-    , Xs [0,0,15,15]-    , Xs [0,0,3,0,0,0]-    , Xs [0,0,3,0,1]-    , Xs [0,0,3,1,0]-    , Xs [0,0,3,2]-    , Xs [0,0,4,0,0]-    , Xs [0,0,4,1]-    , Xs [0,0,14,0]-    , Xs [0,0,5]-    , Xs [0,1,0,0,0,0,0,0,0]-    , Xs [0,1,0,0,0,0,0,1]-    , Xs [0,1,0,0,0,0,1,0]-    , Xs [0,1,0,0,0,0,2]-    , Xs [0,1,0,0,0,1,0,0]-    , Xs [0,1,0,0,0,1,1]-    , Xs [0,1,0,0,0,2,0]-    , Xs [0,1,0,0,0,15]-    , Xs [0,1,0,0,1,0,0,0]-    , Xs [0,1,0,0,1,0,1]-    , Xs [0,1,0,0,1,1,0]-    , Xs [0,1,0,0,1,2]-    , Xs [0,1,0,0,2,0,0]-    , Xs [0,1,0,0,2,1]-    , Xs [0,1,0,0,15,0]-    , Xs [0,1,0,0,3]-    , Xs [0,1,0,1,0,0,0,0]-    , Xs [0,1,0,1,0,0,1]-    , Xs [0,1,0,1,0,1,0]-    , Xs [0,1,0,1,0,2]-    , Xs [0,1,0,1,1,0,0]-    , Xs [0,1,0,1,1,1]-    , Xs [0,1,0,1,2,0]-    , Xs [0,1,0,1,15]-    , Xs [0,1,0,2,0,0,0]-    , Xs [0,1,0,2,0,1]-    , Xs [0,1,0,2,1,0]-    , Xs [0,1,0,2,2]-    , Xs [0,1,0,15,0,0]-    , Xs [0,1,0,15,1]-    , Xs [0,1,0,3,0]-    , Xs [0,1,0,4]-    , Xs [0,1,1,0,0,0,0,0]-    , Xs [0,1,1,0,0,0,1]-    , Xs [0,1,1,0,0,1,0]-    , Xs [0,1,1,0,0,2]-    , Xs [0,1,1,0,1,0,0]-    , Xs [0,1,1,0,1,1]-    , Xs [0,1,1,0,2,0]-    , Xs [0,1,1,0,15]-    , Xs [0,1,1,1,0,0,0]-    , Xs [0,1,1,1,0,1]-    , Xs [0,1,1,1,1,0]-    , Xs [0,1,1,1,2]-    , Xs [0,1,1,2,0,0]-    , Xs [0,1,1,2,1]-    , Xs [0,1,1,15,0]-    , Xs [0,1,1,3]-    , Xs [0,1,2,0,0,0,0]-    , Xs [0,1,2,0,0,1]-    , Xs [0,1,2,0,1,0]-    , Xs [0,1,2,0,2]-    , Xs [0,1,2,1,0,0]-    , Xs [0,1,2,1,1]-    , Xs [0,1,2,2,0]-    , Xs [0,1,2,15]-    , Xs [0,1,15,0,0,0]-    , Xs [0,1,15,0,1]-    , Xs [0,1,15,1,0]-    , Xs [0,1,15,2]-    , Xs [0,1,3,0,0]-    , Xs [0,1,3,1]-    , Xs [0,1,4,0]-    , Xs [0,1,14]-    , Xs [0,2,0,0,0,0,0,0]-    , Xs [0,2,0,0,0,0,1]-    , Xs [0,2,0,0,0,1,0]-    , Xs [0,2,0,0,0,2]-    , Xs [0,2,0,0,1,0,0]-    , Xs [0,2,0,0,1,1]-    , Xs [0,2,0,0,2,0]-    , Xs [0,2,0,0,15]-    , Xs [0,2,0,1,0,0,0]-    , Xs [0,2,0,1,0,1]-    , Xs [0,2,0,1,1,0]-    , Xs [0,2,0,1,2]-    , Xs [0,2,0,2,0,0]-    , Xs [0,2,0,2,1]-    , Xs [0,2,0,15,0]-    , Xs [0,2,0,3]-    , Xs [0,2,1,0,0,0,0]-    , Xs [0,2,1,0,0,1]-    , Xs [0,2,1,0,1,0]-    , Xs [0,2,1,0,2]-    , Xs [0,2,1,1,0,0]-    , Xs [0,2,1,1,1]-    , Xs [0,2,1,2,0]-    , Xs [0,2,1,15]-    , Xs [0,2,2,0,0,0]-    , Xs [0,2,2,0,1]-    , Xs [0,2,2,1,0]-    , Xs [0,2,2,2]-    , Xs [0,2,15,0,0]-    , Xs [0,2,15,1]-    , Xs [0,2,3,0]-    , Xs [0,2,4]-    , Xs [0,15,0,0,0,0,0]-    , Xs [0,15,0,0,0,1]-    , Xs [0,15,0,0,1,0]-    , Xs [0,15,0,0,2]-    , Xs [0,15,0,1,0,0]-    , Xs [0,15,0,1,1]-    , Xs [0,15,0,2,0]-    , Xs [0,15,0,15]-    , Xs [0,15,1,0,0,0]-    , Xs [0,15,1,0,1]-    , Xs [0,15,1,1,0]-    , Xs [0,15,1,2]-    , Xs [0,15,2,0,0]-    , Xs [0,15,2,1]-    , Xs [0,15,15,0]-    , Xs [0,15,3]-    , Xs [0,3,0,0,0,0]-    , Xs [0,3,0,0,1]-    , Xs [0,3,0,1,0]-    , Xs [0,3,0,2]-    , Xs [0,3,1,0,0]-    , Xs [0,3,1,1]-    , Xs [0,3,2,0]-    , Xs [0,3,15]-    , Xs [0,4,0,0,0]-    , Xs [0,4,0,1]-    , Xs [0,4,1,0]-    , Xs [0,4,2]-    , Xs [0,14,0,0]-    , Xs [0,14,1]-    , Xs [0,5,0]-    , Xs [0,6]-    , Xs [1,0,0,0,0,0,0,0,0]-    , Xs [1,0,0,0,0,0,0,1]-    , Xs [1,0,0,0,0,0,1,0]-    , Xs [1,0,0,0,0,0,2]-    , Xs [1,0,0,0,0,1,0,0]-    , Xs [1,0,0,0,0,1,1]-    , Xs [1,0,0,0,0,2,0]-    , Xs [1,0,0,0,0,15]-    , Xs [1,0,0,0,1,0,0,0]-    , Xs [1,0,0,0,1,0,1]-    , Xs [1,0,0,0,1,1,0]-    , Xs [1,0,0,0,1,2]-    , Xs [1,0,0,0,2,0,0]-    , Xs [1,0,0,0,2,1]-    , Xs [1,0,0,0,15,0]-    , Xs [1,0,0,0,3]-    , Xs [1,0,0,1,0,0,0,0]-    , Xs [1,0,0,1,0,0,1]-    , Xs [1,0,0,1,0,1,0]-    , Xs [1,0,0,1,0,2]-    , Xs [1,0,0,1,1,0,0]-    , Xs [1,0,0,1,1,1]-    , Xs [1,0,0,1,2,0]-    , Xs [1,0,0,1,15]-    , Xs [1,0,0,2,0,0,0]-    , Xs [1,0,0,2,0,1]-    , Xs [1,0,0,2,1,0]-    , Xs [1,0,0,2,2]-    , Xs [1,0,0,15,0,0]-    , Xs [1,0,0,15,1]-    , Xs [1,0,0,3,0]-    , Xs [1,0,0,4]-    , Xs [1,0,1,0,0,0,0,0]-    , Xs [1,0,1,0,0,0,1]-    , Xs [1,0,1,0,0,1,0]-    , Xs [1,0,1,0,0,2]-    , Xs [1,0,1,0,1,0,0]-    , Xs [1,0,1,0,1,1]-    , Xs [1,0,1,0,2,0]-    , Xs [1,0,1,0,15]-    , Xs [1,0,1,1,0,0,0]-    , Xs [1,0,1,1,0,1]-    , Xs [1,0,1,1,1,0]-    , Xs [1,0,1,1,2]-    , Xs [1,0,1,2,0,0]-    , Xs [1,0,1,2,1]-    , Xs [1,0,1,15,0]-    , Xs [1,0,1,3]-    , Xs [1,0,2,0,0,0,0]-    , Xs [1,0,2,0,0,1]-    , Xs [1,0,2,0,1,0]-    , Xs [1,0,2,0,2]-    , Xs [1,0,2,1,0,0]-    , Xs [1,0,2,1,1]-    , Xs [1,0,2,2,0]-    , Xs [1,0,2,15]-    , Xs [1,0,15,0,0,0]-    , Xs [1,0,15,0,1]-    , Xs [1,0,15,1,0]-    , Xs [1,0,15,2]-    , Xs [1,0,3,0,0]-    , Xs [1,0,3,1]-    , Xs [1,0,4,0]-    , Xs [1,0,14]-    , Xs [1,1,0,0,0,0,0,0]-    , Xs [1,1,0,0,0,0,1]-    , Xs [1,1,0,0,0,1,0]-    , Xs [1,1,0,0,0,2]-    , Xs [1,1,0,0,1,0,0]-    , Xs [1,1,0,0,1,1]-    , Xs [1,1,0,0,2,0]-    , Xs [1,1,0,0,15]-    , Xs [1,1,0,1,0,0,0]-    , Xs [1,1,0,1,0,1]-    , Xs [1,1,0,1,1,0]-    , Xs [1,1,0,1,2]-    , Xs [1,1,0,2,0,0]-    , Xs [1,1,0,2,1]-    , Xs [1,1,0,15,0]-    , Xs [1,1,0,3]-    , Xs [1,1,1,0,0,0,0]-    , Xs [1,1,1,0,0,1]-    , Xs [1,1,1,0,1,0]-    , Xs [1,1,1,0,2]-    , Xs [1,1,1,1,0,0]-    , Xs [1,1,1,1,1]-    , Xs [1,1,1,2,0]-    , Xs [1,1,1,15]-    , Xs [1,1,2,0,0,0]-    , Xs [1,1,2,0,1]-    , Xs [1,1,2,1,0]-    , Xs [1,1,2,2]-    , Xs [1,1,15,0,0]-    , Xs [1,1,15,1]-    , Xs [1,1,3,0]-    , Xs [1,1,4]-    , Xs [1,2,0,0,0,0,0]-    , Xs [1,2,0,0,0,1]-    , Xs [1,2,0,0,1,0]-    , Xs [1,2,0,0,2]-    , Xs [1,2,0,1,0,0]-    , Xs [1,2,0,1,1]-    , Xs [1,2,0,2,0]-    , Xs [1,2,0,15]-    , Xs [1,2,1,0,0,0]-    , Xs [1,2,1,0,1]-    , Xs [1,2,1,1,0]-    , Xs [1,2,1,2]-    , Xs [1,2,2,0,0]-    , Xs [1,2,2,1]-    , Xs [1,2,15,0]-    , Xs [1,2,3]-    , Xs [1,15,0,0,0,0]-    , Xs [1,15,0,0,1]-    , Xs [1,15,0,1,0]-    , Xs [1,15,0,2]-    , Xs [1,15,1,0,0]-    , Xs [1,15,1,1]-    , Xs [1,15,2,0]-    , Xs [1,15,15]-    , Xs [1,3,0,0,0]-    , Xs [1,3,0,1]-    , Xs [1,3,1,0]-    , Xs [1,3,2]-    , Xs [1,4,0,0]-    , Xs [1,4,1]-    , Xs [1,14,0]-    , Xs [1,5]-    , Xs [2,0,0,0,0,0,0,0]-    , Xs [2,0,0,0,0,0,1]-    , Xs [2,0,0,0,0,1,0]-    , Xs [2,0,0,0,0,2]-    , Xs [2,0,0,0,1,0,0]-    , Xs [2,0,0,0,1,1]-    , Xs [2,0,0,0,2,0]-    , Xs [2,0,0,0,15]-    , Xs [2,0,0,1,0,0,0]-    , Xs [2,0,0,1,0,1]-    , Xs [2,0,0,1,1,0]-    , Xs [2,0,0,1,2]-    , Xs [2,0,0,2,0,0]-    , Xs [2,0,0,2,1]-    , Xs [2,0,0,15,0]-    , Xs [2,0,0,3]-    , Xs [2,0,1,0,0,0,0]-    , Xs [2,0,1,0,0,1]-    , Xs [2,0,1,0,1,0]-    , Xs [2,0,1,0,2]-    , Xs [2,0,1,1,0,0]-    , Xs [2,0,1,1,1]-    , Xs [2,0,1,2,0]-    , Xs [2,0,1,15]-    , Xs [2,0,2,0,0,0]-    , Xs [2,0,2,0,1]-    , Xs [2,0,2,1,0]-    , Xs [2,0,2,2]-    , Xs [2,0,15,0,0]-    , Xs [2,0,15,1]-    , Xs [2,0,3,0]-    , Xs [2,0,4]-    , Xs [2,1,0,0,0,0,0]-    , Xs [2,1,0,0,0,1]-    , Xs [2,1,0,0,1,0]-    , Xs [2,1,0,0,2]-    , Xs [2,1,0,1,0,0]-    , Xs [2,1,0,1,1]-    , Xs [2,1,0,2,0]-    , Xs [2,1,0,15]-    , Xs [2,1,1,0,0,0]-    , Xs [2,1,1,0,1]-    , Xs [2,1,1,1,0]-    , Xs [2,1,1,2]-    , Xs [2,1,2,0,0]-    , Xs [2,1,2,1]-    , Xs [2,1,15,0]-    , Xs [2,1,3]-    , Xs [2,2,0,0,0,0]-    , Xs [2,2,0,0,1]-    , Xs [2,2,0,1,0]-    , Xs [2,2,0,2]-    , Xs [2,2,1,0,0]-    , Xs [2,2,1,1]-    , Xs [2,2,2,0]-    , Xs [2,2,15]-    , Xs [2,15,0,0,0]-    , Xs [2,15,0,1]-    , Xs [2,15,1,0]-    , Xs [2,15,2]-    , Xs [2,3,0,0]-    , Xs [2,3,1]-    , Xs [2,4,0]-    , Xs [2,14]-    , Xs [15,0,0,0,0,0,0]-    , Xs [15,0,0,0,0,1]-    , Xs [15,0,0,0,1,0]-    , Xs [15,0,0,0,2]-    , Xs [15,0,0,1,0,0]-    , Xs [15,0,0,1,1]-    , Xs [15,0,0,2,0]-    , Xs [15,0,0,15]-    , Xs [15,0,1,0,0,0]-    , Xs [15,0,1,0,1]-    , Xs [15,0,1,1,0]-    , Xs [15,0,1,2]-    , Xs [15,0,2,0,0]-    , Xs [15,0,2,1]-    , Xs [15,0,15,0]-    , Xs [15,0,3]-    , Xs [15,1,0,0,0,0]-    , Xs [15,1,0,0,1]-    , Xs [15,1,0,1,0]-    , Xs [15,1,0,2]-    , Xs [15,1,1,0,0]-    , Xs [15,1,1,1]-    , Xs [15,1,2,0]-    , Xs [15,1,15]-    , Xs [15,2,0,0,0]-    , Xs [15,2,0,1]-    , Xs [15,2,1,0]-    , Xs [15,2,2]-    , Xs [15,15,0,0]-    , Xs [15,15,1]-    , Xs [15,3,0]-    , Xs [15,4]-    , Xs [3,0,0,0,0,0]-    , Xs [3,0,0,0,1]-    , Xs [3,0,0,1,0]-    , Xs [3,0,0,2]-    , Xs [3,0,1,0,0]-    , Xs [3,0,1,1]-    , Xs [3,0,2,0]-    , Xs [3,0,15]-    , Xs [3,1,0,0,0]-    , Xs [3,1,0,1]-    , Xs [3,1,1,0]-    , Xs [3,1,2]-    , Xs [3,2,0,0]-    , Xs [3,2,1]-    , Xs [3,15,0]-    , Xs [3,3]-    , Xs [4,0,0,0,0]-    , Xs [4,0,0,1]-    , Xs [4,0,1,0]-    , Xs [4,0,2]-    , Xs [4,1,0,0]-    , Xs [4,1,1]-    , Xs [4,2,0]-    , Xs [4,15]-    , Xs [14,0,0,0]-    , Xs [14,0,1]-    , Xs [14,1,0]-    , Xs [14,2]-    , Xs [5,0,0]-    , Xs [5,1]-    , Xs [6,0]-    , Xs [13]-    ]-  , ...-  ]
− test/diff/tiers-default-Bool-Bool-Bool-Bool.out
@@ -1,1059 +0,0 @@-map length (tiers :: [[ Bool->Bool->Bool->Bool ]])  =  [256]--length (list :: [ Bool->Bool->Bool->Bool ])  =  Infinity--allUnique (list :: [ Bool->Bool->Bool->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Bool->Bool->Bool ])  =  0 % 1--tiers :: [Bool->Bool->Bool->Bool]  =-  [ [ \_ _ _ -> False-    , \x y z -> case (x,y,z) of-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,True,False) -> True-                _ -> False-    , \x y _ -> case (x,y) of-                (True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,True) -> True-                _ -> False-    , \x _ z -> case (x,z) of-                (True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,_) -> False-                (_,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x _ z -> case (x,z) of-                (True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,_,False) -> True-                (True,True,_) -> True-                _ -> False-    , \x y _ -> case (x,y) of-                (True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,_) -> True-                (True,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,_) -> True-                (True,_,False) -> True-                _ -> False-    , \x _ _ -> case x of-                False -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                _ -> False-    , \_ y z -> case (y,z) of-                (True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                (True,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,False) -> False-                (_,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,True,True) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                (True,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,False) -> False-                (_,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> True-                (True,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,False) -> False-                (_,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                (True,True,True) -> True-                _ -> False-    , \_ y z -> case (y,z) of-                (True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,True,False) -> True-                (True,True,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                (True,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,True,False) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,False,False) -> False-                (False,_,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                (True,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,True) -> False-                (_,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> True-                (True,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,True) -> False-                (_,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,_) -> True-                (_,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,_) -> True-                (_,True,False) -> True-                _ -> False-    , \_ y _ -> case y of-                False -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,_) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,False,False) -> False-                (True,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,_) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (False,_,_) -> True-                (_,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (_,False,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (False,False) -> False-                (True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> False-                (True,True,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (True,True,_) -> True-                _ -> False-    , \_ y z -> case (y,z) of-                (False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,True) -> True-                (True,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,False,False) -> False-                (False,True,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (True,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (True,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (False,True,_) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (False,True,_) -> False-                (_,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (False,True,_) -> False-                (_,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (False,True,_) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,True) -> True-                (_,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,False,False) -> False-                (True,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,True) -> True-                (_,False,True) -> True-                _ -> False-    , \_ _ z -> case z of-                False -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,True) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (True,False,True) -> False-                (_,True,False) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (False,False) -> False-                (True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (False,_,_) -> True-                (_,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (_,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (False,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (False,True,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (_,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (False,True,True) -> False-                (True,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,True) -> True-                (False,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (False,True,True) -> False-                (True,_,False) -> False-                _ -> True-    , \_ y z -> case (y,z) of-                (False,False) -> False-                (True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (False,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> True-                (False,True,False) -> True-                (True,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (False,True,True) -> False-                (True,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (False,False,_) -> True-                (_,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (False,True,True) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (_,False,_) -> True-                (False,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (False,True,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (_,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (False,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (False,_,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (True,False,_) -> False-                (True,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (True,False,_) -> False-                (True,_,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (True,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (False,_,_) -> True-                (_,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (True,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \_ y z -> case (y,z) of-                (False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (False,_,_) -> True-                (_,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (True,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (True,_,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (True,True,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (True,True,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (True,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (True,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (False,_,_) -> False-                (_,False,False) -> False-                _ -> True-    , \_ y z -> case (y,z) of-                (False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (True,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (False,_,_) -> False-                (_,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (True,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (True,False,_) -> True-                (True,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (True,False,_) -> True-                (True,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (False,_,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (False,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (_,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (False,True,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (_,False,_) -> False-                (False,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (False,True,True) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (False,False,_) -> False-                (_,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,False) -> True-                (False,True,True) -> True-                (True,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (False,True,False) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (False,True,True) -> True-                _ -> False-    , \_ y z -> case (y,z) of-                (False,False) -> True-                (True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (False,True,True) -> True-                (True,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,True) -> False-                (False,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,False) -> True-                (False,True,True) -> True-                (True,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (_,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (False,True,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (False,True,False) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (False,_,_) -> False-                (_,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (True,False,True) -> True-                _ -> False-    , \x _ z -> case (x,z) of-                (False,False) -> True-                (True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (True,False,True) -> True-                (_,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,True) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \_ _ z -> case z of-                False -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,True) -> False-                (_,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,False,False) -> True-                (True,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,True) -> False-                (_,True,True) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (False,True,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (False,True,_) -> True-                (_,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (False,True,_) -> True-                (_,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (False,True,_) -> True-                (True,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (True,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (True,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,False,False) -> True-                (False,True,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,False,True) -> False-                (True,_,True) -> False-                _ -> True-    , \_ y z -> case (y,z) of-                (False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (True,True,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (True,True,False) -> True-                _ -> False-    , \x y _ -> case (x,y) of-                (False,False) -> True-                (True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,_) -> False-                (_,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,False,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,_) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,False,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,False,False) -> True-                (True,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,_) -> False-                (True,False,True) -> False-                _ -> True-    , \_ y _ -> case y of-                False -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,_) -> False-                (_,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,_) -> False-                (_,True,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,True) -> True-                (_,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,True) -> True-                (True,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                (True,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,True) -> True-                (_,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                (True,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,False,False) -> True-                (False,_,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (_,True,False) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                (True,_,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,True,False) -> False-                (True,True,_) -> False-                _ -> True-    , \_ y z -> case (y,z) of-                (True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,False) -> True-                (True,True,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,False) -> True-                (_,True,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                (True,False,_) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,False) -> True-                (_,False,True) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                (True,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (_,True,True) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (False,_,False) -> True-                (_,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                (True,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,False,_) -> True-                (_,_,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                (True,False,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,False) -> True-                (_,False,_) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                (True,True,False) -> False-                _ -> True-    , \_ y z -> case (y,z) of-                (True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,True,True) -> False-                _ -> True-    , \x _ _ -> case x of-                False -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,_) -> False-                (True,_,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,False,_) -> False-                (True,_,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,_,False) -> False-                (True,True,_) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,False,False) -> False-                (True,True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,False,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (False,_,_) -> True-                (_,False,False) -> True-                _ -> False-    , \x y z -> case (x,y,z) of-                (True,False,True) -> False-                (True,True,False) -> False-                _ -> True-    , \x _ z -> case (x,z) of-                (True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,False,True) -> False-                _ -> True-    , \x y _ -> case (x,y) of-                (True,True) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,True,False) -> False-                _ -> True-    , \x y z -> case (x,y,z) of-                (True,True,True) -> False-                _ -> True-    , \_ _ _ -> True-    ]-  ]
− test/diff/tiers-default-Bool-Bool-Bool.out
@@ -1,57 +0,0 @@-map length (tiers :: [[ Bool->Bool->Bool ]])  =  [16]--length (list :: [ Bool->Bool->Bool ])  =  Infinity--allUnique (list :: [ Bool->Bool->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Bool->Bool ])  =  0 % 1--tiers :: [Bool->Bool->Bool]  =-  [ [ \_ _ -> False-    , \x y -> case (x,y) of-              (True,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,False) -> True-              _ -> False-    , \x _ -> case x of-              False -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,True) -> True-              _ -> False-    , \_ y -> case y of-              False -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,False) -> False-              (True,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,False) -> True-              (True,True) -> True-              _ -> False-    , \_ y -> case y of-              False -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,True) -> False-              _ -> True-    , \x _ -> case x of-              False -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,True) -> False-              _ -> True-    , \_ _ -> True-    ]-  ]
− test/diff/tiers-default-Bool-Bool.out
@@ -1,19 +0,0 @@-map length (tiers :: [[ Bool->Bool ]])  =  [4]--length (list :: [ Bool->Bool ])  =  4--allUnique (list :: [ Bool->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Bool ])  =  0 % 1--tiers :: [Bool->Bool]  =-  [ [ \_ -> False-    , \x -> case x of-            False -> False-            True -> True-    , \x -> case x of-            False -> True-            True -> False-    , \_ -> True-    ]-  ]
− test/diff/tiers-default-Bool-Int-Bool.out
@@ -1,709 +0,0 @@-map length (tiers :: [[ Bool->Int->Bool ]])  =  [4,8,12,24,36,56,...]--length (list :: [ Bool->Int->Bool ])  =  Infinity--allUnique (list :: [ Bool->Int->Bool ])  =  True--ratioRepetitions (list :: [ Bool->Int->Bool ])  =  0 % 1--tiers :: [Bool->Int->Bool]  =-  [ [ \_ _ -> False-    , \x _ -> case x of-              False -> False-              _ -> True-    , \x _ -> case x of-              False -> True-              _ -> False-    , \_ _ -> True-    ]-  , [ \x y -> case (x,y) of-              (True,0) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (True,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> True-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> False-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,1) -> False-              _ -> True-    , \_ y -> case y of-              0 -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (False,_) -> True-              _ -> False-    , \_ y -> case y of-              0 -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,_) -> True-              (_,0) -> True-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,_) -> False-              (_,0) -> False-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,1) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (True,0) -> True-              (True,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> False-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> True-              (_,1) -> True-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> True-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> False-              (_,1) -> False-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> False-              (True,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,_) -> False-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,_) -> True-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,0) -> True-              (False,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (_,1) -> True-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (_,1) -> False-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> False-              (False,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (False,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> True-              (_,1) -> True-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,_) -> True-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (_,1) -> False-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (False,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,_) -> False-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,-1) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (True,0) -> True-              (True,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> True-              (_,1) -> True-              (_,-1) -> True-              (_,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> False-              (_,1) -> False-              (_,-1) -> False-              (_,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> False-              (True,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (True,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (False,_) -> False-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,_) -> False-              (_,1) -> True-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (False,_) -> True-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,_) -> True-              (_,1) -> False-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (True,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,-1) -> False-              _ -> True-    , \_ y -> case y of-              1 -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (False,1) -> True-              (_,1) -> False-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (False,1) -> False-              (_,1) -> True-              (False,_) -> True-              _ -> False-    , \_ y -> case y of-              1 -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (_,1) -> True-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,0) -> True-              (False,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> False-              (True,_) -> True-              (_,1) -> True-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (_,1) -> False-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> True-              (True,_) -> False-              (_,1) -> False-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,0) -> False-              (False,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (False,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> False-              (True,_) -> True-              (_,1) -> True-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,_) -> True-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> False-              (_,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> True-              (True,_) -> False-              (_,1) -> False-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (False,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,_) -> False-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> True-              (_,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,2) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (True,0) -> True-              (True,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,1) -> True-              (True,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,-2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> True-              (_,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> False-              (_,0) -> True-              (_,1) -> True-              (_,-1) -> True-              (_,2) -> True-              (_,-2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> False-              (_,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,_) -> True-              (_,0) -> False-              (_,1) -> False-              (_,-1) -> False-              (_,2) -> False-              (_,-2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> False-              (True,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,1) -> False-              (True,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,-2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (True,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (False,_) -> False-              (_,1) -> True-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,_) -> False-              (_,1) -> True-              (_,-1) -> True-              (_,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (False,_) -> True-              (_,1) -> False-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,_) -> True-              (_,1) -> False-              (_,-1) -> False-              (_,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (True,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,0) -> True-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,1) -> True-              (True,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> True-              (_,1) -> False-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (_,1) -> True-              (False,_) -> False-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> False-              (_,1) -> True-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (_,1) -> False-              (False,_) -> True-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> False-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,1) -> False-              (True,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> True-              (_,1) -> False-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,1) -> True-              (False,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> True-              (False,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> False-              (_,1) -> True-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> False-              (False,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,1) -> False-              (False,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> True-              (_,0) -> False-              (False,1) -> False-              (True,_) -> True-              (_,1) -> True-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (True,0) -> True-              (False,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> False-              (True,_) -> True-              (_,1) -> True-              (_,-1) -> False-              (_,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (_,0) -> True-              (False,1) -> True-              (True,_) -> False-              (_,1) -> False-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> True-              (True,_) -> False-              (_,1) -> False-              (_,-1) -> True-              (_,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (True,0) -> False-              (False,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (False,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> True-              (False,1) -> False-              (True,_) -> True-              (_,1) -> True-              (_,-1) -> False-              (_,2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,1) -> True-              (False,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,_) -> True-              (_,0) -> True-              (_,1) -> True-              (_,-1) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,-2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (False,0) -> False-              (True,_) -> True-              (_,0) -> True-              (_,1) -> False-              (_,-1) -> False-              (_,2) -> False-              (_,-2) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,0) -> False-              (False,1) -> True-              (True,_) -> False-              (_,1) -> False-              (_,-1) -> True-              (_,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> False-              (False,2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,_) -> False-              (_,0) -> False-              (_,1) -> False-              (_,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,1) -> False-              (False,-1) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,0) -> True-              (True,_) -> False-              (_,0) -> False-              (_,1) -> True-              (_,-1) -> True-              (_,2) -> True-              (_,-2) -> False-              _ -> True-    , \x y -> case (x,y) of-              (False,-2) -> False-              _ -> True-    ]-  , ...-  ]
− test/diff/tiers-default-Bool-MBool.out
@@ -1,33 +0,0 @@-map length (tiers :: [[ Bool->Maybe Bool ]])  =  [1,4,4]--length (list :: [ Bool->Maybe Bool ])  =  9--allUnique (list :: [ Bool->Maybe Bool ])  =  True--ratioRepetitions (list :: [ Bool->Maybe Bool ])  =  0 % 1--tiers :: [Bool->Maybe Bool]  =-  [ [\_ -> Nothing]-  , [ \x -> case x of-            False -> Nothing-            True -> Just False-    , \x -> case x of-            False -> Nothing-            True -> Just True-    , \x -> case x of-            False -> Just False-            True -> Nothing-    , \x -> case x of-            False -> Just True-            True -> Nothing-    ]-  , [ \_ -> Just False-    , \x -> case x of-            False -> Just False-            True -> Just True-    , \x -> case x of-            False -> Just True-            True -> Just False-    , \_ -> Just True-    ]-  ]
− test/diff/tiers-default-Bool-U.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Bool->() ]])  =  [1]--length (list :: [ Bool->() ])  =  1--allUnique (list :: [ Bool->() ])  =  True--ratioRepetitions (list :: [ Bool->() ])  =  0 % 1--tiers :: [Bool->()]  =-  [[\_ -> ()]]
− test/diff/tiers-default-Bools-Bools.out
@@ -1,332 +0,0 @@-map length (tiers :: [[ [Bool]->[Bool] ]])  =  [1,2,8,26,88,...]--length (list :: [ [Bool]->[Bool] ])  =  Infinity--allUnique (list :: [ [Bool]->[Bool] ])  =  True--ratioRepetitions (list :: [ [Bool]->[Bool] ])  =  0 % 1--tiers :: [[Bool]->[Bool]]  =-  [ [\_ -> []]-  , [ \_ -> [False]-    , \_ -> [True]-    ]-  , [ \x -> case x of-            [] -> [False]-            _ -> []-    , \x -> case x of-            [] -> [True]-            _ -> []-    , \x -> case x of-            [] -> []-            _ -> [False]-    , \x -> case x of-            [] -> []-            _ -> [True]-    , \_ -> [False,False]-    , \_ -> [False,True]-    , \_ -> [True,False]-    , \_ -> [True,True]-    ]-  , [ \x -> case x of-            [] -> [False,False]-            _ -> []-    , \x -> case x of-            [] -> [False,True]-            _ -> []-    , \x -> case x of-            [] -> [True,False]-            _ -> []-    , \x -> case x of-            [] -> [True,True]-            _ -> []-    , \x -> case x of-            [False] -> [False]-            _ -> []-    , \x -> case x of-            [False] -> [True]-            _ -> []-    , \x -> case x of-            [True] -> [False]-            _ -> []-    , \x -> case x of-            [True] -> [True]-            _ -> []-    , \x -> case x of-            [] -> [True]-            _ -> [False]-    , \x -> case x of-            [False] -> []-            _ -> [False]-    , \x -> case x of-            [True] -> []-            _ -> [False]-    , \x -> case x of-            [] -> [False]-            _ -> [True]-    , \x -> case x of-            [False] -> []-            _ -> [True]-    , \x -> case x of-            [True] -> []-            _ -> [True]-    , \x -> case x of-            [] -> []-            _ -> [False,False]-    , \x -> case x of-            [] -> []-            _ -> [False,True]-    , \x -> case x of-            [] -> []-            _ -> [True,False]-    , \x -> case x of-            [] -> []-            _ -> [True,True]-    , \_ -> [False,False,False]-    , \_ -> [False,False,True]-    , \_ -> [False,True,False]-    , \_ -> [False,True,True]-    , \_ -> [True,False,False]-    , \_ -> [True,False,True]-    , \_ -> [True,True,False]-    , \_ -> [True,True,True]-    ]-  , [ \x -> case x of-            [] -> [False,False,False]-            _ -> []-    , \x -> case x of-            [] -> [False,False,True]-            _ -> []-    , \x -> case x of-            [] -> [False,True,False]-            _ -> []-    , \x -> case x of-            [] -> [False,True,True]-            _ -> []-    , \x -> case x of-            [] -> [True,False,False]-            _ -> []-    , \x -> case x of-            [] -> [True,False,True]-            _ -> []-    , \x -> case x of-            [] -> [True,True,False]-            _ -> []-    , \x -> case x of-            [] -> [True,True,True]-            _ -> []-    , \x -> case x of-            [False] -> [False,False]-            _ -> []-    , \x -> case x of-            [False] -> [False,True]-            _ -> []-    , \x -> case x of-            [False] -> [True,False]-            _ -> []-    , \x -> case x of-            [False] -> [True,True]-            _ -> []-    , \x -> case x of-            [True] -> [False,False]-            _ -> []-    , \x -> case x of-            [True] -> [False,True]-            _ -> []-    , \x -> case x of-            [True] -> [True,False]-            _ -> []-    , \x -> case x of-            [True] -> [True,True]-            _ -> []-    , \x -> case x of-            [False,False] -> [False]-            _ -> []-    , \x -> case x of-            [False,False] -> [True]-            _ -> []-    , \x -> case x of-            [False,True] -> [False]-            _ -> []-    , \x -> case x of-            [False,True] -> [True]-            _ -> []-    , \x -> case x of-            [True,False] -> [False]-            _ -> []-    , \x -> case x of-            [True,False] -> [True]-            _ -> []-    , \x -> case x of-            [True,True] -> [False]-            _ -> []-    , \x -> case x of-            [True,True] -> [True]-            _ -> []-    , \x -> case x of-            [] -> [False,False]-            _ -> [False]-    , \x -> case x of-            [] -> [False,True]-            _ -> [False]-    , \x -> case x of-            [] -> [True,False]-            _ -> [False]-    , \x -> case x of-            [] -> [True,True]-            _ -> [False]-    , \x -> case x of-            [False] -> [True]-            _ -> [False]-    , \x -> case x of-            [True] -> [True]-            _ -> [False]-    , \x -> case x of-            [] -> []-            [False] -> []-            _ -> [False]-    , \x -> case x of-            [] -> []-            [True] -> []-            _ -> [False]-    , \x -> case x of-            [False,False] -> []-            _ -> [False]-    , \x -> case x of-            [False,True] -> []-            _ -> [False]-    , \x -> case x of-            [True,False] -> []-            _ -> [False]-    , \x -> case x of-            [True,True] -> []-            _ -> [False]-    , \x -> case x of-            [] -> [False,False]-            _ -> [True]-    , \x -> case x of-            [] -> [False,True]-            _ -> [True]-    , \x -> case x of-            [] -> [True,False]-            _ -> [True]-    , \x -> case x of-            [] -> [True,True]-            _ -> [True]-    , \x -> case x of-            [False] -> [False]-            _ -> [True]-    , \x -> case x of-            [True] -> [False]-            _ -> [True]-    , \x -> case x of-            [] -> []-            [False] -> []-            _ -> [True]-    , \x -> case x of-            [] -> []-            [True] -> []-            _ -> [True]-    , \x -> case x of-            [False,False] -> []-            _ -> [True]-    , \x -> case x of-            [False,True] -> []-            _ -> [True]-    , \x -> case x of-            [True,False] -> []-            _ -> [True]-    , \x -> case x of-            [True,True] -> []-            _ -> [True]-    , \x -> case x of-            [] -> [False]-            _ -> [False,False]-    , \x -> case x of-            [] -> [True]-            _ -> [False,False]-    , \x -> case x of-            [False] -> []-            _ -> [False,False]-    , \x -> case x of-            [True] -> []-            _ -> [False,False]-    , \x -> case x of-            [] -> [False]-            _ -> [False,True]-    , \x -> case x of-            [] -> [True]-            _ -> [False,True]-    , \x -> case x of-            [False] -> []-            _ -> [False,True]-    , \x -> case x of-            [True] -> []-            _ -> [False,True]-    , \x -> case x of-            [] -> [False]-            _ -> [True,False]-    , \x -> case x of-            [] -> [True]-            _ -> [True,False]-    , \x -> case x of-            [False] -> []-            _ -> [True,False]-    , \x -> case x of-            [True] -> []-            _ -> [True,False]-    , \x -> case x of-            [] -> [False]-            _ -> [True,True]-    , \x -> case x of-            [] -> [True]-            _ -> [True,True]-    , \x -> case x of-            [False] -> []-            _ -> [True,True]-    , \x -> case x of-            [True] -> []-            _ -> [True,True]-    , \x -> case x of-            [] -> []-            _ -> [False,False,False]-    , \x -> case x of-            [] -> []-            _ -> [False,False,True]-    , \x -> case x of-            [] -> []-            _ -> [False,True,False]-    , \x -> case x of-            [] -> []-            _ -> [False,True,True]-    , \x -> case x of-            [] -> []-            _ -> [True,False,False]-    , \x -> case x of-            [] -> []-            _ -> [True,False,True]-    , \x -> case x of-            [] -> []-            _ -> [True,True,False]-    , \x -> case x of-            [] -> []-            _ -> [True,True,True]-    , \_ -> [False,False,False,False]-    , \_ -> [False,False,False,True]-    , \_ -> [False,False,True,False]-    , \_ -> [False,False,True,True]-    , \_ -> [False,True,False,False]-    , \_ -> [False,True,False,True]-    , \_ -> [False,True,True,False]-    , \_ -> [False,True,True,True]-    , \_ -> [True,False,False,False]-    , \_ -> [True,False,False,True]-    , \_ -> [True,False,True,False]-    , \_ -> [True,False,True,True]-    , \_ -> [True,True,False,False]-    , \_ -> [True,True,False,True]-    , \_ -> [True,True,True,False]-    , \_ -> [True,True,True,True]-    ]-  , ...-  ]
− test/diff/tiers-default-Int-Bool-Bool.out
@@ -1,1137 +0,0 @@-map length (tiers :: [[ Int->Bool->Bool ]])  =  [4,12,12,48,48,84,...]--length (list :: [ Int->Bool->Bool ])  =  Infinity--allUnique (list :: [ Int->Bool->Bool ])  =  True--ratioRepetitions (list :: [ Int->Bool->Bool ])  =  0 % 1--tiers :: [Int->Bool->Bool]  =-  [ [ \_ _ -> False-    , \_ y -> case y of-              False -> False-              _ -> True-    , \_ y -> case y of-              False -> True-              _ -> False-    , \_ _ -> True-    ]-  , [ \x y -> case (x,y) of-              (0,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              _ -> False-    , \x _ -> case x of-              0 -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> True-              _ -> False-    , \x _ -> case x of-              0 -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,False) -> True-              _ -> False-    , \x _ -> case x of-              1 -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> False-              (0,_) -> True-              (1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,True) -> True-              (1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,True) -> False-              (1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> True-              (0,_) -> False-              (1,_) -> True-              _ -> False-    , \x _ -> case x of-              1 -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,True) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (0,True) -> True-              (1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,True) -> True-              (1,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,True) -> True-              (1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (1,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> True-              _ -> False-    , \x _ -> case x of-              0 -> True-              1 -> True-              _ -> False-    , \x y -> case (x,y) of-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (-1,False) -> True-              _ -> False-    , \x _ -> case x of-              -1 -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> False-              (1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> True-              (1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,_) -> True-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> True-              (1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,_) -> True-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,_) -> True-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (_,False) -> False-              (0,_) -> True-              (1,_) -> True-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> False-              (1,_) -> True-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,True) -> True-              (1,_) -> False-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,_) -> False-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,_) -> False-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> False-              (1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,_) -> False-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> False-              (1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> True-              (1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,True) -> False-              (1,_) -> True-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> True-              (1,_) -> False-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> True-              (0,_) -> False-              (1,_) -> False-              (-1,_) -> True-              _ -> False-    , \x _ -> case x of-              0 -> False-              1 -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (1,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (1,True) -> False-              _ -> True-    , \x _ -> case x of-              -1 -> False-              _ -> True-    , \x y -> case (x,y) of-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (-1,True) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (0,True) -> True-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,True) -> True-              (-1,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,True) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (-1,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (-1,False) -> True-              _ -> False-    , \x _ -> case x of-              0 -> True-              -1 -> True-              _ -> False-    , \x y -> case (x,y) of-              (2,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (2,False) -> True-              _ -> False-    , \x _ -> case x of-              2 -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> False-              (1,_) -> True-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (_,True) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,False) -> False-              (1,_) -> True-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (_,True) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> False-              (1,_) -> True-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> False-              (1,_) -> True-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> False-              (1,_) -> True-              (_,True) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> False-              (0,_) -> True-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,True) -> True-              (1,False) -> False-              (1,True) -> True-              (-1,False) -> False-              (-1,True) -> True-              (2,False) -> True-              (2,True) -> False-              ...-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,True) -> True-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> True-              (1,_) -> False-              (_,True) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> True-              (1,_) -> False-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> True-              (1,_) -> False-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (_,True) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,False) -> True-              (1,_) -> False-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (_,True) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> True-              (1,_) -> False-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,True) -> False-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,True) -> False-              (1,False) -> True-              (1,True) -> False-              (-1,False) -> True-              (-1,True) -> False-              (2,False) -> False-              (2,True) -> True-              ...-    , \x y -> case (x,y) of-              (_,False) -> True-              (0,_) -> False-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x _ -> case x of-              0 -> False-              -1 -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (-1,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (-1,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (-1,True) -> False-              _ -> True-    , \x _ -> case x of-              2 -> False-              _ -> True-    , \x y -> case (x,y) of-              (2,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (2,True) -> False-              _ -> True-    ]-  , [ \x y -> case (x,y) of-              (0,True) -> True-              (2,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,True) -> True-              (2,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,True) -> True-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (2,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (2,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (2,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (2,False) -> True-              _ -> False-    , \x _ -> case x of-              0 -> True-              2 -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,True) -> True-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,True) -> True-              (-1,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,True) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,False) -> True-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,False) -> True-              (-1,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,False) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,_) -> True-              (-1,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (1,_) -> True-              (-1,False) -> True-              _ -> False-    , \x _ -> case x of-              1 -> True-              -1 -> True-              _ -> False-    , \x y -> case (x,y) of-              (-2,True) -> True-              _ -> False-    , \x y -> case (x,y) of-              (-2,False) -> True-              _ -> False-    , \x _ -> case x of-              -2 -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> False-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,True) -> False-              (1,False) -> False-              (1,True) -> True-              (-1,False) -> False-              (-1,True) -> True-              (2,False) -> True-              (2,True) -> False-              ...-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (_,True) -> True-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,False) -> False-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,True) -> False-              (1,False) -> False-              (1,True) -> True-              (-1,False) -> False-              (-1,True) -> True-              (2,False) -> True-              (2,True) -> False-              ...-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (_,True) -> True-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> False-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,True) -> True-              (1,False) -> False-              (1,True) -> True-              (-1,False) -> False-              (-1,True) -> True-              (2,False) -> True-              (2,True) -> False-              ...-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> False-              (1,_) -> True-              (_,True) -> True-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> False-              (0,_) -> True-              (1,_) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,_) -> False-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,_) -> False-              (-1,_) -> True-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (-1,_) -> True-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,_) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,_) -> True-              (-1,False) -> True-              (-1,_) -> False-              (_,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,True) -> True-              (1,_) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> False-              (0,_) -> True-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> True-              (-2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,True) -> True-              (1,False) -> False-              (1,True) -> True-              (-1,False) -> False-              (-1,True) -> True-              (2,False) -> False-              (2,True) -> True-              ...-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,True) -> True-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> False-              (-2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> False-              (1,False) -> True-              (1,_) -> False-              (_,True) -> False-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,True) -> False-              (1,False) -> True-              (1,True) -> False-              (-1,False) -> True-              (-1,True) -> False-              (2,False) -> False-              (2,True) -> True-              ...-    , \x y -> case (x,y) of-              (0,_) -> False-              (_,False) -> True-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (_,True) -> False-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,True) -> True-              (1,False) -> True-              (1,True) -> False-              (-1,False) -> True-              (-1,True) -> False-              (2,False) -> False-              (2,True) -> True-              ...-    , \x y -> case (x,y) of-              (0,False) -> False-              (0,_) -> True-              (_,False) -> True-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,_) -> True-              (1,False) -> True-              (1,_) -> False-              (_,True) -> False-              (-1,_) -> True-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,True) -> True-              (1,False) -> True-              (1,True) -> False-              (-1,False) -> True-              (-1,True) -> False-              (2,False) -> False-              (2,True) -> True-              ...-    , \x y -> case (x,y) of-              (0,_) -> True-              (_,False) -> True-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,True) -> False-              (1,_) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,_) -> False-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,_) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (-1,_) -> False-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,False) -> False-              (1,_) -> True-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,_) -> True-              (-1,_) -> False-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (1,_) -> True-              (-1,False) -> False-              (-1,_) -> True-              (_,False) -> True-              _ -> False-    , \x y -> case (x,y) of-              (_,False) -> True-              (0,_) -> False-              (1,_) -> True-              (-1,_) -> True-              _ -> False-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,_) -> False-              (_,True) -> False-              (1,_) -> True-              (-1,_) -> True-              (2,_) -> True-              (-2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> True-              (0,True) -> False-              (1,False) -> True-              (1,True) -> False-              (-1,False) -> True-              (-1,True) -> False-              (2,False) -> True-              (2,True) -> False-              ...-    , \x y -> case (x,y) of-              (_,False) -> True-              (0,_) -> False-              (1,_) -> False-              (-1,_) -> False-              (2,_) -> False-              (-2,_) -> True-              _ -> False-    , \x _ -> case x of-              0 -> False-              2 -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (2,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,_) -> False-              (2,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (2,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,False) -> False-              (2,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (2,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (2,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (0,True) -> False-              (2,True) -> False-              _ -> True-    , \x _ -> case x of-              1 -> False-              -1 -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,_) -> False-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,_) -> False-              (-1,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,False) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,False) -> False-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,False) -> False-              (-1,True) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,True) -> False-              (-1,_) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,True) -> False-              (-1,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (1,True) -> False-              (-1,True) -> False-              _ -> True-    , \x _ -> case x of-              -2 -> False-              _ -> True-    , \x y -> case (x,y) of-              (-2,False) -> False-              _ -> True-    , \x y -> case (x,y) of-              (-2,True) -> False-              _ -> True-    ]-  , ...-  ]
− test/diff/tiers-default-Int-Int-Int-Int.out
@@ -1,116 +0,0 @@-map length (tiers :: [[ Int->Int->Int->Int ]])  =  [1,1,7,25,...]--length (list :: [ Int->Int->Int->Int ])  =  Infinity--allUnique (list :: [ Int->Int->Int->Int ])  =  True--ratioRepetitions (list :: [ Int->Int->Int->Int ])  =  0 % 1--tiers :: [Int->Int->Int->Int]  =-  [ [\_ _ _ -> 0]-  , [\_ _ _ -> 1]-  , [ \x _ _ -> case x of-                0 -> 1-                _ -> 0-    , \x _ _ -> case x of-                0 -> 0-                _ -> 1-    , \_ y _ -> case y of-                0 -> 1-                _ -> 0-    , \_ y _ -> case y of-                0 -> 0-                _ -> 1-    , \_ _ z -> case z of-                0 -> 1-                _ -> 0-    , \_ _ z -> case z of-                0 -> 0-                _ -> 1-    , \_ _ _ -> -1-    ]-  , [ \x y _ -> case (x,y) of-                (0,0) -> 1-                _ -> 0-    , \x y _ -> case (x,y) of-                (_,0) -> 0-                (0,_) -> 1-                _ -> 0-    , \x _ z -> case (x,z) of-                (0,0) -> 1-                _ -> 0-    , \x _ z -> case (x,z) of-                (_,0) -> 0-                (0,_) -> 1-                _ -> 0-    , \x _ _ -> case x of-                0 -> -1-                _ -> 0-    , \x _ _ -> case x of-                1 -> 1-                _ -> 0-    , \x _ _ -> case x of-                1 -> 0-                _ -> 1-    , \x y _ -> case (x,y) of-                (0,_) -> 0-                (_,0) -> 1-                _ -> 0-    , \x y _ -> case (x,y) of-                (0,_) -> 0-                (_,0) -> 0-                _ -> 1-    , \x _ z -> case (x,z) of-                (0,_) -> 0-                (_,0) -> 1-                _ -> 0-    , \x _ z -> case (x,z) of-                (0,_) -> 0-                (_,0) -> 0-                _ -> 1-    , \x _ _ -> case x of-                0 -> 0-                _ -> -1-    , \_ y z -> case (y,z) of-                (0,0) -> 1-                _ -> 0-    , \_ y z -> case (y,z) of-                (_,0) -> 0-                (0,_) -> 1-                _ -> 0-    , \_ y _ -> case y of-                0 -> -1-                _ -> 0-    , \_ y _ -> case y of-                1 -> 1-                _ -> 0-    , \_ y _ -> case y of-                1 -> 0-                _ -> 1-    , \_ y z -> case (y,z) of-                (0,_) -> 0-                (_,0) -> 1-                _ -> 0-    , \_ y z -> case (y,z) of-                (0,_) -> 0-                (_,0) -> 0-                _ -> 1-    , \_ y _ -> case y of-                0 -> 0-                _ -> -1-    , \_ _ z -> case z of-                0 -> -1-                _ -> 0-    , \_ _ z -> case z of-                1 -> 1-                _ -> 0-    , \_ _ z -> case z of-                1 -> 0-                _ -> 1-    , \_ _ z -> case z of-                0 -> 0-                _ -> -1-    , \_ _ _ -> 2-    ]-  , ...-  ]
− test/diff/tiers-default-Int-Int-Int.out
@@ -1,528 +0,0 @@-map length (tiers :: [[ Int->Int->Int ]])  =  [1,1,5,13,35,81,...]--length (list :: [ Int->Int->Int ])  =  Infinity--allUnique (list :: [ Int->Int->Int ])  =  True--ratioRepetitions (list :: [ Int->Int->Int ])  =  0 % 1--tiers :: [Int->Int->Int]  =-  [ [\_ _ -> 0]-  , [\_ _ -> 1]-  , [ \x _ -> case x of-              0 -> 1-              _ -> 0-    , \x _ -> case x of-              0 -> 0-              _ -> 1-    , \_ y -> case y of-              0 -> 1-              _ -> 0-    , \_ y -> case y of-              0 -> 0-              _ -> 1-    , \_ _ -> -1-    ]-  , [ \x y -> case (x,y) of-              (0,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,_) -> 1-              _ -> 0-    , \x _ -> case x of-              0 -> -1-              _ -> 0-    , \x _ -> case x of-              1 -> 1-              _ -> 0-    , \x _ -> case x of-              1 -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              _ -> 1-    , \x _ -> case x of-              0 -> 0-              _ -> -1-    , \_ y -> case y of-              0 -> -1-              _ -> 0-    , \_ y -> case y of-              1 -> 1-              _ -> 0-    , \_ y -> case y of-              1 -> 0-              _ -> 1-    , \_ y -> case y of-              0 -> 0-              _ -> -1-    , \_ _ -> 2-    ]-  , [ \x y -> case (x,y) of-              (0,0) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 0-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,_) -> -1-              _ -> 0-    , \x _ -> case x of-              0 -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (1,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 1-              _ -> 0-    , \x _ -> case x of-              1 -> -1-              _ -> 0-    , \x _ -> case x of-              -1 -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 1-              (0,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              _ -> 1-    , \x _ -> case x of-              0 -> -1-              _ -> 1-    , \x _ -> case x of-              0 -> 0-              1 -> 0-              _ -> 1-    , \x _ -> case x of-              -1 -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 0-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (_,0) -> 0-              (1,_) -> 0-              _ -> 1-    , \x _ -> case x of-              0 -> 1-              _ -> -1-    , \x _ -> case x of-              1 -> 0-              _ -> -1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              _ -> -1-    , \x _ -> case x of-              0 -> 0-              _ -> 2-    , \_ y -> case y of-              0 -> 2-              _ -> 0-    , \_ y -> case y of-              1 -> -1-              _ -> 0-    , \_ y -> case y of-              -1 -> 1-              _ -> 0-    , \_ y -> case y of-              0 -> -1-              _ -> 1-    , \_ y -> case y of-              0 -> 0-              1 -> 0-              _ -> 1-    , \_ y -> case y of-              -1 -> 0-              _ -> 1-    , \_ y -> case y of-              0 -> 1-              _ -> -1-    , \_ y -> case y of-              1 -> 0-              _ -> -1-    , \_ y -> case y of-              0 -> 0-              _ -> 2-    , \_ _ -> -2-    ]-  , [ \x y -> case (x,y) of-              (0,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,1) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,-1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> -1-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (_,1) -> 0-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,1) -> 1-              (1,_) -> 0-              (_,0) -> 0-              (_,-1) -> 0-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> -1-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 0-              (0,_) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,_) -> 2-              _ -> 0-    , \x _ -> case x of-              0 -> -2-              _ -> 0-    , \x y -> case (x,y) of-              (1,0) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (1,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (1,0) -> 1-              (_,1) -> 0-              (-1,_) -> 0-              (_,0) -> 0-              (1,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> -1-              _ -> 0-    , \x _ -> case x of-              1 -> 2-              _ -> 0-    , \x _ -> case x of-              0 -> 1-              1 -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (-1,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 0-              (-1,_) -> 1-              _ -> 0-    , \x _ -> case x of-              -1 -> -1-              _ -> 0-    , \x _ -> case x of-              2 -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> -1-              (0,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (_,1) -> 1-              (1,_) -> 1-              (_,0) -> 1-              (0,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> -1-              _ -> 1-    , \x _ -> case x of-              0 -> 2-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 1-              (1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (1,0) -> 0-              _ -> 1-    , \x _ -> case x of-              1 -> -1-              _ -> 1-    , \x _ -> case x of-              0 -> 0-              -1 -> 0-              _ -> 1-    , \x _ -> case x of-              2 -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 1-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> -1-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 1-              (1,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (1,_) -> 0-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,1) -> 0-              (1,0) -> 1-              (0,-1) -> 0-              (1,1) -> 0-              (-1,0) -> 0-              (0,2) -> 0-              (1,-1) -> 0-              ...-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 0-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> -1-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 1-              (_,1) -> 1-              (1,_) -> 1-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (_,0) -> 0-              (-1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 0-              _ -> -1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 1-              _ -> -1-    , \x _ -> case x of-              1 -> 1-              _ -> -1-    , \x _ -> case x of-              0 -> 0-              1 -> 0-              _ -> -1-    , \x _ -> case x of-              -1 -> 0-              _ -> -1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> -1-              (0,_) -> 0-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,1) -> 1-              (0,_) -> 0-              (_,-1) -> 0-              (1,_) -> 0-              (_,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 1-              (_,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (_,1) -> 0-              (1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 0-              _ -> -1-    , \x y -> case (x,y) of-              (_,0) -> 0-              (1,_) -> 0-              _ -> -1-    , \x _ -> case x of-              0 -> 1-              _ -> 2-    , \x _ -> case x of-              1 -> 0-              _ -> 2-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> -1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 0-              (_,-1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> -1-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,-1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 1-              _ -> -1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,1) -> 0-              _ -> -1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              _ -> 2-    , \x _ -> case x of-              0 -> 0-              _ -> -2-    , \_ y -> case y of-              0 -> -2-              _ -> 0-    , \_ y -> case y of-              1 -> 2-              _ -> 0-    , \_ y -> case y of-              0 -> 1-              1 -> 1-              _ -> 0-    , \_ y -> case y of-              -1 -> -1-              _ -> 0-    , \_ y -> case y of-              2 -> 1-              _ -> 0-    , \_ y -> case y of-              0 -> 2-              _ -> 1-    , \_ y -> case y of-              1 -> -1-              _ -> 1-    , \_ y -> case y of-              0 -> 0-              -1 -> 0-              _ -> 1-    , \_ y -> case y of-              2 -> 0-              _ -> 1-    , \_ y -> case y of-              1 -> 1-              _ -> -1-    , \_ y -> case y of-              0 -> 0-              1 -> 0-              _ -> -1-    , \_ y -> case y of-              -1 -> 0-              _ -> -1-    , \_ y -> case y of-              0 -> 1-              _ -> 2-    , \_ y -> case y of-              1 -> 0-              _ -> 2-    , \_ y -> case y of-              0 -> 0-              _ -> -2-    , \_ _ -> 3-    ]-  , ...-  ]
− test/diff/tiers-default-Int-Int.out
@@ -1,670 +0,0 @@-map length (tiers :: [[ Int->Int ]])  =  [1,1,3,5,10,16,30,48,80,...]--length (list :: [ Int->Int ])  =  Infinity--allUnique (list :: [ Int->Int ])  =  True--ratioRepetitions (list :: [ Int->Int ])  =  0 % 1--tiers :: [Int->Int]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [ \x -> case x of-            0 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 0-            _ -> 1-    , \_ -> -1-    ]-  , [ \x -> case x of-            0 -> -1-            _ -> 0-    , \x -> case x of-            1 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 0-            _ -> -1-    , \_ -> 2-    ]-  , [ \x -> case x of-            0 -> 2-            _ -> 0-    , \x -> case x of-            1 -> -1-            _ -> 0-    , \x -> case x of-            -1 -> 1-            _ -> 0-    , \x -> case x of-            0 -> -1-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 1-    , \x -> case x of-            -1 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 1-            _ -> -1-    , \x -> case x of-            1 -> 0-            _ -> -1-    , \x -> case x of-            0 -> 0-            _ -> 2-    , \_ -> -2-    ]-  , [ \x -> case x of-            0 -> -2-            _ -> 0-    , \x -> case x of-            1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> 1-            _ -> 0-    , \x -> case x of-            -1 -> -1-            _ -> 0-    , \x -> case x of-            2 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 2-            _ -> 1-    , \x -> case x of-            1 -> -1-            _ -> 1-    , \x -> case x of-            0 -> 0-            -1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> -1-    , \x -> case x of-            -1 -> 0-            _ -> -1-    , \x -> case x of-            0 -> 1-            _ -> 2-    , \x -> case x of-            1 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 0-            _ -> -2-    , \_ -> 3-    ]-  , [ \x -> case x of-            0 -> 3-            _ -> 0-    , \x -> case x of-            1 -> -2-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> -1-            _ -> 0-    , \x -> case x of-            0 -> -1-            1 -> 1-            _ -> 0-    , \x -> case x of-            -1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 1-            -1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> -1-            _ -> 0-    , \x -> case x of-            -2 -> 1-            _ -> 0-    , \x -> case x of-            0 -> -2-            _ -> 1-    , \x -> case x of-            1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> -1-            _ -> 1-    , \x -> case x of-            0 -> -1-            1 -> 0-            _ -> 1-    , \x -> case x of-            -1 -> -1-            _ -> 1-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            -1 -> 0-            _ -> 1-    , \x -> case x of-            -2 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 2-            _ -> -1-    , \x -> case x of-            0 -> 0-            1 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 1-            1 -> 0-            _ -> -1-    , \x -> case x of-            -1 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 0-            -1 -> 0-            _ -> -1-    , \x -> case x of-            2 -> 0-            _ -> -1-    , \x -> case x of-            0 -> -1-            _ -> 2-    , \x -> case x of-            1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 2-    , \x -> case x of-            -1 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 1-            _ -> -2-    , \x -> case x of-            1 -> 0-            _ -> -2-    , \x -> case x of-            0 -> 0-            _ -> 3-    , \_ -> -3-    ]-  , [ \x -> case x of-            0 -> -3-            _ -> 0-    , \x -> case x of-            1 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> -1-            1 -> -1-            _ -> 0-    , \x -> case x of-            0 -> 2-            1 -> 1-            _ -> 0-    , \x -> case x of-            -1 -> -2-            _ -> 0-    , \x -> case x of-            0 -> 1-            -1 -> -1-            _ -> 0-    , \x -> case x of-            0 -> -1-            -1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 1-            2 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            -1 -> 1-            _ -> 0-    , \x -> case x of-            -2 -> -1-            _ -> 0-    , \x -> case x of-            3 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 3-            _ -> 1-    , \x -> case x of-            1 -> -2-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 2-            1 -> 0-            _ -> 1-    , \x -> case x of-            -1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            -1 -> -1-            _ -> 1-    , \x -> case x of-            0 -> -1-            -1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> -1-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 0-            -1 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 0-            -2 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            3 -> 0-            _ -> 1-    , \x -> case x of-            0 -> -2-            _ -> -1-    , \x -> case x of-            1 -> 2-            _ -> -1-    , \x -> case x of-            0 -> 1-            1 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 0-            -1 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 1-            -1 -> 0-            _ -> -1-    , \x -> case x of-            2 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> -1-    , \x -> case x of-            1 -> 0-            -1 -> 0-            _ -> -1-    , \x -> case x of-            -2 -> 0-            _ -> -1-    , \x -> case x of-            1 -> -1-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 1-            1 -> 0-            _ -> 2-    , \x -> case x of-            -1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            -1 -> 0-            _ -> 2-    , \x -> case x of-            2 -> 0-            _ -> 2-    , \x -> case x of-            0 -> -1-            _ -> -2-    , \x -> case x of-            1 -> 1-            _ -> -2-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> -2-    , \x -> case x of-            -1 -> 0-            _ -> -2-    , \x -> case x of-            0 -> 1-            _ -> 3-    , \x -> case x of-            1 -> 0-            _ -> 3-    , \x -> case x of-            0 -> 0-            _ -> -3-    , \_ -> 4-    ]-  , [ \x -> case x of-            0 -> 4-            _ -> 0-    , \x -> case x of-            1 -> -3-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> -2-            _ -> 0-    , \x -> case x of-            0 -> -1-            1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 2-            1 -> -1-            _ -> 0-    , \x -> case x of-            0 -> -2-            1 -> 1-            _ -> 0-    , \x -> case x of-            -1 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 1-            -1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> -1-            -1 -> -1-            _ -> 0-    , \x -> case x of-            0 -> 2-            -1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> -2-            _ -> 0-    , \x -> case x of-            0 -> 1-            2 -> -1-            _ -> 0-    , \x -> case x of-            0 -> -1-            2 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            -1 -> -1-            _ -> 0-    , \x -> case x of-            1 -> -1-            -1 -> 1-            _ -> 0-    , \x -> case x of-            -2 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 1-            -2 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            2 -> 1-            _ -> 0-    , \x -> case x of-            3 -> -1-            _ -> 0-    , \x -> case x of-            -3 -> 1-            _ -> 0-    , \x -> case x of-            0 -> -3-            _ -> 1-    , \x -> case x of-            1 -> 3-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> -2-            _ -> 1-    , \x -> case x of-            0 -> -1-            1 -> -1-            _ -> 1-    , \x -> case x of-            0 -> -2-            1 -> 0-            _ -> 1-    , \x -> case x of-            -1 -> -2-            _ -> 1-    , \x -> case x of-            0 -> 0-            -1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 2-            -1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            2 -> -1-            _ -> 1-    , \x -> case x of-            0 -> -1-            2 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            -1 -> -1-            _ -> 1-    , \x -> case x of-            1 -> -1-            -1 -> 0-            _ -> 1-    , \x -> case x of-            -2 -> -1-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 0-            3 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            -2 -> 0-            _ -> 1-    , \x -> case x of-            -1 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            -3 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 3-            _ -> -1-    , \x -> case x of-            1 -> -2-            _ -> -1-    , \x -> case x of-            0 -> 0-            1 -> 2-            _ -> -1-    , \x -> case x of-            0 -> 2-            1 -> 0-            _ -> -1-    , \x -> case x of-            -1 -> 2-            _ -> -1-    , \x -> case x of-            0 -> 1-            -1 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 0-            2 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 1-            2 -> 0-            _ -> -1-    , \x -> case x of-            1 -> 0-            -1 -> 1-            _ -> -1-    , \x -> case x of-            1 -> 1-            -1 -> 0-            _ -> -1-    , \x -> case x of-            -2 -> 1-            _ -> -1-    , \x -> case x of-            0 -> 0-            1 -> 0-            -1 -> 0-            _ -> -1-    , \x -> case x of-            0 -> 0-            -2 -> 0-            _ -> -1-    , \x -> case x of-            1 -> 0-            2 -> 0-            _ -> -1-    , \x -> case x of-            3 -> 0-            _ -> -1-    , \x -> case x of-            0 -> -2-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> -1-            _ -> 2-    , \x -> case x of-            0 -> 1-            1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> -1-            1 -> 0-            _ -> 2-    , \x -> case x of-            -1 -> -1-            _ -> 2-    , \x -> case x of-            0 -> 0-            -1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 1-            -1 -> 0-            _ -> 2-    , \x -> case x of-            2 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> 2-    , \x -> case x of-            1 -> 0-            -1 -> 0-            _ -> 2-    , \x -> case x of-            -2 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 2-            _ -> -2-    , \x -> case x of-            1 -> -1-            _ -> -2-    , \x -> case x of-            0 -> 0-            1 -> 1-            _ -> -2-    , \x -> case x of-            0 -> 1-            1 -> 0-            _ -> -2-    , \x -> case x of-            -1 -> 1-            _ -> -2-    , \x -> case x of-            0 -> 0-            -1 -> 0-            _ -> -2-    , \x -> case x of-            2 -> 0-            _ -> -2-    , \x -> case x of-            0 -> -1-            _ -> 3-    , \x -> case x of-            1 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 3-    , \x -> case x of-            -1 -> 0-            _ -> 3-    , \x -> case x of-            0 -> 1-            _ -> -3-    , \x -> case x of-            1 -> 0-            _ -> -3-    , \x -> case x of-            0 -> 0-            _ -> 4-    , \_ -> -4-    ]-  , ...-  ]
− test/diff/tiers-default-Ints-Ints.out
@@ -1,317 +0,0 @@-map length (tiers :: [[ [Int]->[Int] ]])  =  [1,1,4,10,29,75,...]--length (list :: [ [Int]->[Int] ])  =  Infinity--allUnique (list :: [ [Int]->[Int] ])  =  True--ratioRepetitions (list :: [ [Int]->[Int] ])  =  0 % 1--tiers :: [[Int]->[Int]]  =-  [ [\_ -> []]-  , [\_ -> [0]]-  , [ \x -> case x of-            [] -> [0]-            _ -> []-    , \x -> case x of-            [] -> []-            _ -> [0]-    , \_ -> [0,0]-    , \_ -> [1]-    ]-  , [ \x -> case x of-            [] -> [0,0]-            _ -> []-    , \x -> case x of-            [] -> [1]-            _ -> []-    , \x -> case x of-            [0] -> [0]-            _ -> []-    , \x -> case x of-            [0] -> []-            _ -> [0]-    , \x -> case x of-            [] -> []-            _ -> [0,0]-    , \x -> case x of-            [] -> []-            _ -> [1]-    , \_ -> [0,0,0]-    , \_ -> [0,1]-    , \_ -> [1,0]-    , \_ -> [-1]-    ]-  , [ \x -> case x of-            [] -> [0,0,0]-            _ -> []-    , \x -> case x of-            [] -> [0,1]-            _ -> []-    , \x -> case x of-            [] -> [1,0]-            _ -> []-    , \x -> case x of-            [] -> [-1]-            _ -> []-    , \x -> case x of-            [0] -> [0,0]-            _ -> []-    , \x -> case x of-            [0] -> [1]-            _ -> []-    , \x -> case x of-            [0,0] -> [0]-            _ -> []-    , \x -> case x of-            [1] -> [0]-            _ -> []-    , \x -> case x of-            [] -> [0,0]-            _ -> [0]-    , \x -> case x of-            [] -> [1]-            _ -> [0]-    , \x -> case x of-            [] -> []-            [0] -> []-            _ -> [0]-    , \x -> case x of-            [0,0] -> []-            _ -> [0]-    , \x -> case x of-            [1] -> []-            _ -> [0]-    , \x -> case x of-            [] -> [0]-            _ -> [0,0]-    , \x -> case x of-            [0] -> []-            _ -> [0,0]-    , \x -> case x of-            [] -> [0]-            _ -> [1]-    , \x -> case x of-            [0] -> []-            _ -> [1]-    , \x -> case x of-            [] -> []-            _ -> [0,0,0]-    , \x -> case x of-            [] -> []-            _ -> [0,1]-    , \x -> case x of-            [] -> []-            _ -> [1,0]-    , \x -> case x of-            [] -> []-            _ -> [-1]-    , \_ -> [0,0,0,0]-    , \_ -> [0,0,1]-    , \_ -> [0,1,0]-    , \_ -> [0,-1]-    , \_ -> [1,0,0]-    , \_ -> [1,1]-    , \_ -> [-1,0]-    , \_ -> [2]-    ]-  , [ \x -> case x of-            [] -> [0,0,0,0]-            _ -> []-    , \x -> case x of-            [] -> [0,0,1]-            _ -> []-    , \x -> case x of-            [] -> [0,1,0]-            _ -> []-    , \x -> case x of-            [] -> [0,-1]-            _ -> []-    , \x -> case x of-            [] -> [1,0,0]-            _ -> []-    , \x -> case x of-            [] -> [1,1]-            _ -> []-    , \x -> case x of-            [] -> [-1,0]-            _ -> []-    , \x -> case x of-            [] -> [2]-            _ -> []-    , \x -> case x of-            [0] -> [0,0,0]-            _ -> []-    , \x -> case x of-            [0] -> [0,1]-            _ -> []-    , \x -> case x of-            [0] -> [1,0]-            _ -> []-    , \x -> case x of-            [0] -> [-1]-            _ -> []-    , \x -> case x of-            [] -> [0]-            [0] -> [0]-            _ -> []-    , \x -> case x of-            [0,0] -> [0,0]-            _ -> []-    , \x -> case x of-            [0,0] -> [1]-            _ -> []-    , \x -> case x of-            [1] -> [0,0]-            _ -> []-    , \x -> case x of-            [1] -> [1]-            _ -> []-    , \x -> case x of-            [0,0,0] -> [0]-            _ -> []-    , \x -> case x of-            [0,1] -> [0]-            _ -> []-    , \x -> case x of-            [1,0] -> [0]-            _ -> []-    , \x -> case x of-            [-1] -> [0]-            _ -> []-    , \x -> case x of-            [] -> [0,0,0]-            _ -> [0]-    , \x -> case x of-            [] -> [0,1]-            _ -> [0]-    , \x -> case x of-            [] -> [1,0]-            _ -> [0]-    , \x -> case x of-            [] -> [-1]-            _ -> [0]-    , \x -> case x of-            [0] -> [0,0]-            _ -> [0]-    , \x -> case x of-            [0] -> [1]-            _ -> [0]-    , \x -> case x of-            [] -> []-            [0,0] -> []-            _ -> [0]-    , \x -> case x of-            [] -> []-            [1] -> []-            _ -> [0]-    , \x -> case x of-            [0,0,0] -> []-            _ -> [0]-    , \x -> case x of-            [0,1] -> []-            _ -> [0]-    , \x -> case x of-            [1,0] -> []-            _ -> [0]-    , \x -> case x of-            [-1] -> []-            _ -> [0]-    , \x -> case x of-            [] -> [1]-            _ -> [0,0]-    , \x -> case x of-            [0] -> [0]-            _ -> [0,0]-    , \x -> case x of-            [] -> []-            [0] -> []-            _ -> [0,0]-    , \x -> case x of-            [0,0] -> []-            _ -> [0,0]-    , \x -> case x of-            [1] -> []-            _ -> [0,0]-    , \x -> case x of-            [] -> [0,0]-            _ -> [1]-    , \x -> case x of-            [0] -> [0]-            _ -> [1]-    , \x -> case x of-            [] -> []-            [0] -> []-            _ -> [1]-    , \x -> case x of-            [0,0] -> []-            _ -> [1]-    , \x -> case x of-            [1] -> []-            _ -> [1]-    , \x -> case x of-            [] -> [0]-            _ -> [0,0,0]-    , \x -> case x of-            [0] -> []-            _ -> [0,0,0]-    , \x -> case x of-            [] -> [0]-            _ -> [0,1]-    , \x -> case x of-            [0] -> []-            _ -> [0,1]-    , \x -> case x of-            [] -> [0]-            _ -> [1,0]-    , \x -> case x of-            [0] -> []-            _ -> [1,0]-    , \x -> case x of-            [] -> [0]-            _ -> [-1]-    , \x -> case x of-            [0] -> []-            _ -> [-1]-    , \x -> case x of-            [] -> []-            _ -> [0,0,0,0]-    , \x -> case x of-            [] -> []-            _ -> [0,0,1]-    , \x -> case x of-            [] -> []-            _ -> [0,1,0]-    , \x -> case x of-            [] -> []-            _ -> [0,-1]-    , \x -> case x of-            [] -> []-            _ -> [1,0,0]-    , \x -> case x of-            [] -> []-            _ -> [1,1]-    , \x -> case x of-            [] -> []-            _ -> [-1,0]-    , \x -> case x of-            [] -> []-            _ -> [2]-    , \_ -> [0,0,0,0,0]-    , \_ -> [0,0,0,1]-    , \_ -> [0,0,1,0]-    , \_ -> [0,0,-1]-    , \_ -> [0,1,0,0]-    , \_ -> [0,1,1]-    , \_ -> [0,-1,0]-    , \_ -> [0,2]-    , \_ -> [1,0,0,0]-    , \_ -> [1,0,1]-    , \_ -> [1,1,0]-    , \_ -> [1,-1]-    , \_ -> [-1,0,0]-    , \_ -> [-1,1]-    , \_ -> [2,0]-    , \_ -> [-2]-    ]-  , ...-  ]
− test/diff/tiers-default-MBool-Bool.out
@@ -1,31 +0,0 @@-map length (tiers :: [[ Maybe Bool->Bool ]])  =  [8]--length (list :: [ Maybe Bool->Bool ])  =  8--allUnique (list :: [ Maybe Bool->Bool ])  =  True--ratioRepetitions (list :: [ Maybe Bool->Bool ])  =  0 % 1--tiers :: [Maybe Bool->Bool]  =-  [ [ \_ -> False-    , \x -> case x of-            Just True -> True-            _ -> False-    , \x -> case x of-            Just False -> True-            _ -> False-    , \x -> case x of-            Nothing -> False-            _ -> True-    , \x -> case x of-            Nothing -> True-            _ -> False-    , \x -> case x of-            Just False -> False-            _ -> True-    , \x -> case x of-            Just True -> False-            _ -> True-    , \_ -> True-    ]-  ]
− test/diff/tiers-default-MBool-MBool.out
@@ -1,94 +0,0 @@-map length (tiers :: [[ Maybe Bool->Maybe Bool ]])  =  [1,6,12,8]--length (list :: [ Maybe Bool->Maybe Bool ])  =  Infinity--allUnique (list :: [ Maybe Bool->Maybe Bool ])  =  True--ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ])  =  0 % 1--tiers :: [Maybe Bool->Maybe Bool]  =-  [ [\_ -> Nothing]-  , [ \x -> case x of-            Just True -> Just False-            _ -> Nothing-    , \x -> case x of-            Just True -> Just True-            _ -> Nothing-    , \x -> case x of-            Just False -> Just False-            _ -> Nothing-    , \x -> case x of-            Just False -> Just True-            _ -> Nothing-    , \x -> case x of-            Nothing -> Just False-            _ -> Nothing-    , \x -> case x of-            Nothing -> Just True-            _ -> Nothing-    ]-  , [ \x -> case x of-            Nothing -> Nothing-            _ -> Just False-    , \x -> case x of-            Nothing -> Nothing-            Just False -> Just False-            Just True -> Just True-    , \x -> case x of-            Nothing -> Nothing-            Just False -> Just True-            Just True -> Just False-    , \x -> case x of-            Nothing -> Nothing-            _ -> Just True-    , \x -> case x of-            Just False -> Nothing-            _ -> Just False-    , \x -> case x of-            Nothing -> Just False-            Just False -> Nothing-            Just True -> Just True-    , \x -> case x of-            Just True -> Nothing-            _ -> Just False-    , \x -> case x of-            Nothing -> Just False-            Just False -> Just True-            Just True -> Nothing-    , \x -> case x of-            Nothing -> Just True-            Just False -> Nothing-            Just True -> Just False-    , \x -> case x of-            Just False -> Nothing-            _ -> Just True-    , \x -> case x of-            Nothing -> Just True-            Just False -> Just False-            Just True -> Nothing-    , \x -> case x of-            Just True -> Nothing-            _ -> Just True-    ]-  , [ \_ -> Just False-    , \x -> case x of-            Just True -> Just True-            _ -> Just False-    , \x -> case x of-            Just False -> Just True-            _ -> Just False-    , \x -> case x of-            Nothing -> Just False-            _ -> Just True-    , \x -> case x of-            Nothing -> Just True-            _ -> Just False-    , \x -> case x of-            Just False -> Just False-            _ -> Just True-    , \x -> case x of-            Just True -> Just False-            _ -> Just True-    , \_ -> Just True-    ]-  ]
− test/diff/tiers-default-Nat,Nat-Nat.out
@@ -1,205 +0,0 @@-map length (tiers :: [[ (Nat,Nat)->Nat ]])  =  [1,1,3,7,17,35,...]--length (list :: [ (Nat,Nat)->Nat ])  =  Infinity--allUnique (list :: [ (Nat,Nat)->Nat ])  =  True--ratioRepetitions (list :: [ (Nat,Nat)->Nat ])  =  0 % 1--tiers :: [(Nat,Nat)->Nat]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [ \x -> case x of-            (0,0) -> 1-            _ -> 0-    , \x -> case x of-            (0,0) -> 0-            _ -> 1-    , \_ -> 2-    ]-  , [ \x -> case x of-            (0,0) -> 2-            _ -> 0-    , \x -> case x of-            (0,1) -> 1-            _ -> 0-    , \x -> case x of-            (1,0) -> 1-            _ -> 0-    , \x -> case x of-            (0,1) -> 0-            _ -> 1-    , \x -> case x of-            (1,0) -> 0-            _ -> 1-    , \x -> case x of-            (0,0) -> 0-            _ -> 2-    , \_ -> 3-    ]-  , [ \x -> case x of-            (0,0) -> 3-            _ -> 0-    , \x -> case x of-            (0,1) -> 2-            _ -> 0-    , \x -> case x of-            (1,0) -> 2-            _ -> 0-    , \x -> case x of-            (0,2) -> 1-            _ -> 0-    , \x -> case x of-            (1,1) -> 1-            _ -> 0-    , \x -> case x of-            (2,0) -> 1-            _ -> 0-    , \x -> case x of-            (0,0) -> 2-            _ -> 1-    , \x -> case x of-            (0,0) -> 0-            (0,1) -> 0-            _ -> 1-    , \x -> case x of-            (0,0) -> 0-            (1,0) -> 0-            _ -> 1-    , \x -> case x of-            (0,2) -> 0-            _ -> 1-    , \x -> case x of-            (1,1) -> 0-            _ -> 1-    , \x -> case x of-            (2,0) -> 0-            _ -> 1-    , \x -> case x of-            (0,0) -> 1-            _ -> 2-    , \x -> case x of-            (0,1) -> 0-            _ -> 2-    , \x -> case x of-            (1,0) -> 0-            _ -> 2-    , \x -> case x of-            (0,0) -> 0-            _ -> 3-    , \_ -> 4-    ]-  , [ \x -> case x of-            (0,0) -> 4-            _ -> 0-    , \x -> case x of-            (0,1) -> 3-            _ -> 0-    , \x -> case x of-            (1,0) -> 3-            _ -> 0-    , \x -> case x of-            (0,0) -> 1-            (0,1) -> 1-            _ -> 0-    , \x -> case x of-            (0,0) -> 1-            (1,0) -> 1-            _ -> 0-    , \x -> case x of-            (0,2) -> 2-            _ -> 0-    , \x -> case x of-            (1,1) -> 2-            _ -> 0-    , \x -> case x of-            (2,0) -> 2-            _ -> 0-    , \x -> case x of-            (0,3) -> 1-            _ -> 0-    , \x -> case x of-            (1,2) -> 1-            _ -> 0-    , \x -> case x of-            (2,1) -> 1-            _ -> 0-    , \x -> case x of-            (3,0) -> 1-            _ -> 0-    , \x -> case x of-            (0,0) -> 3-            _ -> 1-    , \x -> case x of-            (0,1) -> 2-            _ -> 1-    , \x -> case x of-            (1,0) -> 2-            _ -> 1-    , \x -> case x of-            (0,0) -> 0-            (0,2) -> 0-            _ -> 1-    , \x -> case x of-            (0,0) -> 0-            (1,1) -> 0-            _ -> 1-    , \x -> case x of-            (0,0) -> 0-            (2,0) -> 0-            _ -> 1-    , \x -> case x of-            (0,1) -> 0-            (1,0) -> 0-            _ -> 1-    , \x -> case x of-            (0,3) -> 0-            _ -> 1-    , \x -> case x of-            (1,2) -> 0-            _ -> 1-    , \x -> case x of-            (2,1) -> 0-            _ -> 1-    , \x -> case x of-            (3,0) -> 0-            _ -> 1-    , \x -> case x of-            (0,1) -> 1-            _ -> 2-    , \x -> case x of-            (1,0) -> 1-            _ -> 2-    , \x -> case x of-            (0,0) -> 0-            (0,1) -> 0-            _ -> 2-    , \x -> case x of-            (0,0) -> 0-            (1,0) -> 0-            _ -> 2-    , \x -> case x of-            (0,2) -> 0-            _ -> 2-    , \x -> case x of-            (1,1) -> 0-            _ -> 2-    , \x -> case x of-            (2,0) -> 0-            _ -> 2-    , \x -> case x of-            (0,0) -> 1-            _ -> 3-    , \x -> case x of-            (0,1) -> 0-            _ -> 3-    , \x -> case x of-            (1,0) -> 0-            _ -> 3-    , \x -> case x of-            (0,0) -> 0-            _ -> 4-    , \_ -> 5-    ]-  , ...-  ]
− test/diff/tiers-default-Nat-Nat-Nat.out
@@ -1,528 +0,0 @@-map length (tiers :: [[ Nat->Nat->Nat ]])  =  [1,1,5,13,35,81,...]--length (list :: [ Nat->Nat->Nat ])  =  Infinity--allUnique (list :: [ Nat->Nat->Nat ])  =  True--ratioRepetitions (list :: [ Nat->Nat->Nat ])  =  0 % 1--tiers :: [Nat->Nat->Nat]  =-  [ [\_ _ -> 0]-  , [\_ _ -> 1]-  , [ \x _ -> case x of-              0 -> 1-              _ -> 0-    , \x _ -> case x of-              0 -> 0-              _ -> 1-    , \_ y -> case y of-              0 -> 1-              _ -> 0-    , \_ y -> case y of-              0 -> 0-              _ -> 1-    , \_ _ -> 2-    ]-  , [ \x y -> case (x,y) of-              (0,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,_) -> 1-              _ -> 0-    , \x _ -> case x of-              0 -> 2-              _ -> 0-    , \x _ -> case x of-              1 -> 1-              _ -> 0-    , \x _ -> case x of-              1 -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              _ -> 1-    , \x _ -> case x of-              0 -> 0-              _ -> 2-    , \_ y -> case y of-              0 -> 2-              _ -> 0-    , \_ y -> case y of-              1 -> 1-              _ -> 0-    , \_ y -> case y of-              1 -> 0-              _ -> 1-    , \_ y -> case y of-              0 -> 0-              _ -> 2-    , \_ _ -> 3-    ]-  , [ \x y -> case (x,y) of-              (0,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 0-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,_) -> 2-              _ -> 0-    , \x _ -> case x of-              0 -> 3-              _ -> 0-    , \x y -> case (x,y) of-              (1,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 1-              _ -> 0-    , \x _ -> case x of-              1 -> 2-              _ -> 0-    , \x _ -> case x of-              2 -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 1-              (0,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              _ -> 1-    , \x _ -> case x of-              0 -> 2-              _ -> 1-    , \x _ -> case x of-              0 -> 0-              1 -> 0-              _ -> 1-    , \x _ -> case x of-              2 -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 0-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (_,0) -> 0-              (1,_) -> 0-              _ -> 1-    , \x _ -> case x of-              0 -> 1-              _ -> 2-    , \x _ -> case x of-              1 -> 0-              _ -> 2-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              _ -> 2-    , \x _ -> case x of-              0 -> 0-              _ -> 3-    , \_ y -> case y of-              0 -> 3-              _ -> 0-    , \_ y -> case y of-              1 -> 2-              _ -> 0-    , \_ y -> case y of-              2 -> 1-              _ -> 0-    , \_ y -> case y of-              0 -> 2-              _ -> 1-    , \_ y -> case y of-              0 -> 0-              1 -> 0-              _ -> 1-    , \_ y -> case y of-              2 -> 0-              _ -> 1-    , \_ y -> case y of-              0 -> 1-              _ -> 2-    , \_ y -> case y of-              1 -> 0-              _ -> 2-    , \_ y -> case y of-              0 -> 0-              _ -> 3-    , \_ _ -> 4-    ]-  , [ \x y -> case (x,y) of-              (0,0) -> 3-              _ -> 0-    , \x y -> case (x,y) of-              (0,1) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,2) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 2-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (_,1) -> 0-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,1) -> 1-              (1,_) -> 0-              (_,0) -> 0-              (_,2) -> 0-              (0,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 2-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 0-              (0,_) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,_) -> 3-              _ -> 0-    , \x _ -> case x of-              0 -> 4-              _ -> 0-    , \x y -> case (x,y) of-              (1,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (1,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (1,0) -> 1-              (_,1) -> 0-              (2,_) -> 0-              (_,0) -> 0-              (1,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 2-              _ -> 0-    , \x _ -> case x of-              1 -> 3-              _ -> 0-    , \x _ -> case x of-              0 -> 1-              1 -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (2,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 0-              (2,_) -> 1-              _ -> 0-    , \x _ -> case x of-              2 -> 2-              _ -> 0-    , \x _ -> case x of-              3 -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 2-              (0,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (_,1) -> 1-              (1,_) -> 1-              (_,0) -> 1-              (0,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 2-              _ -> 1-    , \x _ -> case x of-              0 -> 3-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 1-              (1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (1,0) -> 0-              _ -> 1-    , \x _ -> case x of-              1 -> 2-              _ -> 1-    , \x _ -> case x of-              0 -> 0-              2 -> 0-              _ -> 1-    , \x _ -> case x of-              3 -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 1-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 2-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 1-              (1,_) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (1,_) -> 0-              (_,0) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,1) -> 0-              (1,0) -> 1-              (0,2) -> 0-              (1,1) -> 0-              (2,0) -> 0-              (0,3) -> 0-              (1,2) -> 0-              ...-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 0-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 2-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 1-              (_,1) -> 1-              (1,_) -> 1-              (_,0) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (_,0) -> 0-              (2,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,0) -> 1-              (0,_) -> 0-              _ -> 2-    , \x y -> case (x,y) of-              (0,0) -> 0-              (0,_) -> 1-              _ -> 2-    , \x _ -> case x of-              1 -> 1-              _ -> 2-    , \x _ -> case x of-              0 -> 0-              1 -> 0-              _ -> 2-    , \x _ -> case x of-              2 -> 0-              _ -> 2-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,0) -> 2-              (0,_) -> 0-              (_,1) -> 0-              (1,_) -> 0-              (_,0) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (_,0) -> 0-              (0,1) -> 1-              (0,_) -> 0-              (_,2) -> 0-              (1,_) -> 0-              (_,1) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 1-              (_,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (_,1) -> 0-              (1,_) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 1-              (_,0) -> 0-              _ -> 2-    , \x y -> case (x,y) of-              (_,0) -> 0-              (1,_) -> 0-              _ -> 2-    , \x _ -> case x of-              0 -> 1-              _ -> 3-    , \x _ -> case x of-              1 -> 0-              _ -> 3-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 3-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 2-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 0-              (_,2) -> 1-              _ -> 0-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 2-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              (_,1) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,2) -> 0-              _ -> 1-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 1-              _ -> 2-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,1) -> 0-              _ -> 2-    , \x y -> case (x,y) of-              (0,_) -> 0-              (_,0) -> 0-              _ -> 3-    , \x _ -> case x of-              0 -> 0-              _ -> 4-    , \_ y -> case y of-              0 -> 4-              _ -> 0-    , \_ y -> case y of-              1 -> 3-              _ -> 0-    , \_ y -> case y of-              0 -> 1-              1 -> 1-              _ -> 0-    , \_ y -> case y of-              2 -> 2-              _ -> 0-    , \_ y -> case y of-              3 -> 1-              _ -> 0-    , \_ y -> case y of-              0 -> 3-              _ -> 1-    , \_ y -> case y of-              1 -> 2-              _ -> 1-    , \_ y -> case y of-              0 -> 0-              2 -> 0-              _ -> 1-    , \_ y -> case y of-              3 -> 0-              _ -> 1-    , \_ y -> case y of-              1 -> 1-              _ -> 2-    , \_ y -> case y of-              0 -> 0-              1 -> 0-              _ -> 2-    , \_ y -> case y of-              2 -> 0-              _ -> 2-    , \_ y -> case y of-              0 -> 1-              _ -> 3-    , \_ y -> case y of-              1 -> 0-              _ -> 3-    , \_ y -> case y of-              0 -> 0-              _ -> 4-    , \_ _ -> 5-    ]-  , ...-  ]
− test/diff/tiers-default-Nat-Nat.out
@@ -1,670 +0,0 @@-map length (tiers :: [[ Nat->Nat ]])  =  [1,1,3,5,10,16,30,48,80,...]--length (list :: [ Nat->Nat ])  =  Infinity--allUnique (list :: [ Nat->Nat ])  =  True--ratioRepetitions (list :: [ Nat->Nat ])  =  0 % 1--tiers :: [Nat->Nat]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [ \x -> case x of-            0 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 0-            _ -> 1-    , \_ -> 2-    ]-  , [ \x -> case x of-            0 -> 2-            _ -> 0-    , \x -> case x of-            1 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 0-            _ -> 2-    , \_ -> 3-    ]-  , [ \x -> case x of-            0 -> 3-            _ -> 0-    , \x -> case x of-            1 -> 2-            _ -> 0-    , \x -> case x of-            2 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 1-            _ -> 2-    , \x -> case x of-            1 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 0-            _ -> 3-    , \_ -> 4-    ]-  , [ \x -> case x of-            0 -> 4-            _ -> 0-    , \x -> case x of-            1 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> 2-            _ -> 0-    , \x -> case x of-            3 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 3-            _ -> 1-    , \x -> case x of-            1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            3 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 2-    , \x -> case x of-            2 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 1-            _ -> 3-    , \x -> case x of-            1 -> 0-            _ -> 3-    , \x -> case x of-            0 -> 0-            _ -> 4-    , \_ -> 5-    ]-  , [ \x -> case x of-            0 -> 5-            _ -> 0-    , \x -> case x of-            1 -> 4-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 2-            1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 1-            2 -> 1-            _ -> 0-    , \x -> case x of-            3 -> 2-            _ -> 0-    , \x -> case x of-            4 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 4-            _ -> 1-    , \x -> case x of-            1 -> 3-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 2-            1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            3 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            4 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 3-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 1-            1 -> 0-            _ -> 2-    , \x -> case x of-            2 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> 2-    , \x -> case x of-            3 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 2-            _ -> 3-    , \x -> case x of-            1 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 3-    , \x -> case x of-            2 -> 0-            _ -> 3-    , \x -> case x of-            0 -> 1-            _ -> 4-    , \x -> case x of-            1 -> 0-            _ -> 4-    , \x -> case x of-            0 -> 0-            _ -> 5-    , \_ -> 6-    ]-  , [ \x -> case x of-            0 -> 6-            _ -> 0-    , \x -> case x of-            1 -> 5-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 2-            1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 3-            1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> 4-            _ -> 0-    , \x -> case x of-            0 -> 1-            2 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 2-            2 -> 1-            _ -> 0-    , \x -> case x of-            3 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 1-            3 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            2 -> 1-            _ -> 0-    , \x -> case x of-            4 -> 2-            _ -> 0-    , \x -> case x of-            5 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 5-            _ -> 1-    , \x -> case x of-            1 -> 4-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 3-            _ -> 1-    , \x -> case x of-            0 -> 3-            1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 3-            _ -> 1-    , \x -> case x of-            0 -> 0-            2 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 2-            2 -> 0-            _ -> 1-    , \x -> case x of-            3 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 0-            2 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 0-            4 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            3 -> 0-            _ -> 1-    , \x -> case x of-            5 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 4-            _ -> 2-    , \x -> case x of-            1 -> 3-            _ -> 2-    , \x -> case x of-            0 -> 1-            1 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            2 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 1-            2 -> 0-            _ -> 2-    , \x -> case x of-            3 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            3 -> 0-            _ -> 2-    , \x -> case x of-            1 -> 0-            2 -> 0-            _ -> 2-    , \x -> case x of-            4 -> 0-            _ -> 2-    , \x -> case x of-            1 -> 2-            _ -> 3-    , \x -> case x of-            0 -> 0-            1 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 1-            1 -> 0-            _ -> 3-    , \x -> case x of-            2 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> 3-    , \x -> case x of-            3 -> 0-            _ -> 3-    , \x -> case x of-            0 -> 2-            _ -> 4-    , \x -> case x of-            1 -> 1-            _ -> 4-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 4-    , \x -> case x of-            2 -> 0-            _ -> 4-    , \x -> case x of-            0 -> 1-            _ -> 5-    , \x -> case x of-            1 -> 0-            _ -> 5-    , \x -> case x of-            0 -> 0-            _ -> 6-    , \_ -> 7-    ]-  , [ \x -> case x of-            0 -> 7-            _ -> 0-    , \x -> case x of-            1 -> 6-            _ -> 0-    , \x -> case x of-            0 -> 1-            1 -> 4-            _ -> 0-    , \x -> case x of-            0 -> 2-            1 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 3-            1 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 4-            1 -> 1-            _ -> 0-    , \x -> case x of-            2 -> 5-            _ -> 0-    , \x -> case x of-            0 -> 1-            2 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 2-            2 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 3-            2 -> 1-            _ -> 0-    , \x -> case x of-            3 -> 4-            _ -> 0-    , \x -> case x of-            0 -> 1-            3 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 2-            3 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            2 -> 2-            _ -> 0-    , \x -> case x of-            1 -> 2-            2 -> 1-            _ -> 0-    , \x -> case x of-            4 -> 3-            _ -> 0-    , \x -> case x of-            0 -> 1-            4 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            3 -> 1-            _ -> 0-    , \x -> case x of-            5 -> 2-            _ -> 0-    , \x -> case x of-            6 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 6-            _ -> 1-    , \x -> case x of-            1 -> 5-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 4-            _ -> 1-    , \x -> case x of-            0 -> 2-            1 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 4-            1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 4-            _ -> 1-    , \x -> case x of-            0 -> 0-            2 -> 3-            _ -> 1-    , \x -> case x of-            0 -> 3-            2 -> 0-            _ -> 1-    , \x -> case x of-            3 -> 3-            _ -> 1-    , \x -> case x of-            0 -> 0-            3 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 2-            3 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            2 -> 2-            _ -> 1-    , \x -> case x of-            1 -> 2-            2 -> 0-            _ -> 1-    , \x -> case x of-            4 -> 2-            _ -> 1-    , \x -> case x of-            0 -> 0-            1 -> 0-            3 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 0-            5 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            4 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 0-            3 -> 0-            _ -> 1-    , \x -> case x of-            6 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 5-            _ -> 2-    , \x -> case x of-            1 -> 4-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> 3-            _ -> 2-    , \x -> case x of-            0 -> 3-            1 -> 0-            _ -> 2-    , \x -> case x of-            2 -> 3-            _ -> 2-    , \x -> case x of-            0 -> 1-            2 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            3 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 1-            3 -> 0-            _ -> 2-    , \x -> case x of-            1 -> 0-            2 -> 1-            _ -> 2-    , \x -> case x of-            1 -> 1-            2 -> 0-            _ -> 2-    , \x -> case x of-            4 -> 1-            _ -> 2-    , \x -> case x of-            0 -> 0-            1 -> 0-            2 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 0-            4 -> 0-            _ -> 2-    , \x -> case x of-            1 -> 0-            3 -> 0-            _ -> 2-    , \x -> case x of-            5 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 4-            _ -> 3-    , \x -> case x of-            0 -> 0-            1 -> 2-            _ -> 3-    , \x -> case x of-            0 -> 1-            1 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 2-            1 -> 0-            _ -> 3-    , \x -> case x of-            2 -> 2-            _ -> 3-    , \x -> case x of-            0 -> 0-            2 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 1-            2 -> 0-            _ -> 3-    , \x -> case x of-            3 -> 1-            _ -> 3-    , \x -> case x of-            0 -> 0-            3 -> 0-            _ -> 3-    , \x -> case x of-            1 -> 0-            2 -> 0-            _ -> 3-    , \x -> case x of-            4 -> 0-            _ -> 3-    , \x -> case x of-            0 -> 3-            _ -> 4-    , \x -> case x of-            1 -> 2-            _ -> 4-    , \x -> case x of-            0 -> 0-            1 -> 1-            _ -> 4-    , \x -> case x of-            0 -> 1-            1 -> 0-            _ -> 4-    , \x -> case x of-            2 -> 1-            _ -> 4-    , \x -> case x of-            0 -> 0-            2 -> 0-            _ -> 4-    , \x -> case x of-            3 -> 0-            _ -> 4-    , \x -> case x of-            0 -> 2-            _ -> 5-    , \x -> case x of-            1 -> 1-            _ -> 5-    , \x -> case x of-            0 -> 0-            1 -> 0-            _ -> 5-    , \x -> case x of-            2 -> 0-            _ -> 5-    , \x -> case x of-            0 -> 1-            _ -> 6-    , \x -> case x of-            1 -> 0-            _ -> 6-    , \x -> case x of-            0 -> 0-            _ -> 7-    , \_ -> 8-    ]-  , ...-  ]
− test/diff/tiers-default-Nat-U.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ Nat->() ]])  =  [1,0,0,0,0,0,...]--length (list :: [ Nat->() ])  =  1--allUnique (list :: [ Nat->() ])  =  True--ratioRepetitions (list :: [ Nat->() ])  =  0 % 1--tiers :: [Nat->()]  =-  [ [\_ -> ()]-  , []-  , []-  , []-  , []-  , []-  , ...-  ]
− test/diff/tiers-default-Nat2-Nat2.out
@@ -1,19 +0,0 @@-map length (tiers :: [[ Nat2->Nat2 ]])  =  [1,2,1]--length (list :: [ Nat2->Nat2 ])  =  4--allUnique (list :: [ Nat2->Nat2 ])  =  True--ratioRepetitions (list :: [ Nat2->Nat2 ])  =  0 % 1--tiers :: [Nat2->Nat2]  =-  [ [\_ -> 0]-  , [ \x -> case x of-            0 -> 0-            1 -> 1-    , \x -> case x of-            0 -> 1-            1 -> 0-    ]-  , [\_ -> 1]-  ]
− test/diff/tiers-default-Nat2-Nat3.out
@@ -1,34 +0,0 @@-map length (tiers :: [[ Nat2->Nat3 ]])  =  [1,2,3,2,1]--length (list :: [ Nat2->Nat3 ])  =  9--allUnique (list :: [ Nat2->Nat3 ])  =  True--ratioRepetitions (list :: [ Nat2->Nat3 ])  =  0 % 1--tiers :: [Nat2->Nat3]  =-  [ [\_ -> 0]-  , [ \x -> case x of-            0 -> 0-            1 -> 1-    , \x -> case x of-            0 -> 1-            1 -> 0-    ]-  , [ \x -> case x of-            0 -> 0-            1 -> 2-    , \_ -> 1-    , \x -> case x of-            0 -> 2-            1 -> 0-    ]-  , [ \x -> case x of-            0 -> 1-            1 -> 2-    , \x -> case x of-            0 -> 2-            1 -> 1-    ]-  , [\_ -> 2]-  ]
− test/diff/tiers-default-Nat3-Nat2.out
@@ -1,32 +0,0 @@-map length (tiers :: [[ Nat3->Nat2 ]])  =  [1,3,3,1]--length (list :: [ Nat3->Nat2 ])  =  8--allUnique (list :: [ Nat3->Nat2 ])  =  True--ratioRepetitions (list :: [ Nat3->Nat2 ])  =  0 % 1--tiers :: [Nat3->Nat2]  =-  [ [\_ -> 0]-  , [ \x -> case x of-            2 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 1-            _ -> 0-    ]-  , [ \x -> case x of-            0 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 0-            _ -> 1-    ]-  , [\_ -> 1]-  ]
− test/diff/tiers-default-Nat3-Nat3.out
@@ -1,96 +0,0 @@-map length (tiers :: [[ Nat3->Nat3 ]])  =  [1,3,6,7,6,3,1]--length (list :: [ Nat3->Nat3 ])  =  Infinity--allUnique (list :: [ Nat3->Nat3 ])  =  True--ratioRepetitions (list :: [ Nat3->Nat3 ])  =  0 % 1--tiers :: [Nat3->Nat3]  =-  [ [\_ -> 0]-  , [ \x -> case x of-            2 -> 1-            _ -> 0-    , \x -> case x of-            1 -> 1-            _ -> 0-    , \x -> case x of-            0 -> 1-            _ -> 0-    ]-  , [ \x -> case x of-            2 -> 2-            _ -> 0-    , \x -> case x of-            0 -> 0-            _ -> 1-    , \x -> case x of-            1 -> 2-            _ -> 0-    , \x -> case x of-            1 -> 0-            _ -> 1-    , \x -> case x of-            2 -> 0-            _ -> 1-    , \x -> case x of-            0 -> 2-            _ -> 0-    ]-  , [ \x -> case x of-            0 -> 0-            1 -> 1-            2 -> 2-    , \x -> case x of-            0 -> 0-            1 -> 2-            2 -> 1-    , \x -> case x of-            0 -> 1-            1 -> 0-            2 -> 2-    , \_ -> 1-    , \x -> case x of-            0 -> 1-            1 -> 2-            2 -> 0-    , \x -> case x of-            0 -> 2-            1 -> 0-            2 -> 1-    , \x -> case x of-            0 -> 2-            1 -> 1-            2 -> 0-    ]-  , [ \x -> case x of-            0 -> 0-            _ -> 2-    , \x -> case x of-            2 -> 2-            _ -> 1-    , \x -> case x of-            1 -> 2-            _ -> 1-    , \x -> case x of-            1 -> 0-            _ -> 2-    , \x -> case x of-            0 -> 2-            _ -> 1-    , \x -> case x of-            2 -> 0-            _ -> 2-    ]-  , [ \x -> case x of-            0 -> 1-            _ -> 2-    , \x -> case x of-            1 -> 1-            _ -> 2-    , \x -> case x of-            2 -> 1-            _ -> 2-    ]-  , [\_ -> 2]-  ]
− test/diff/tiers-default-Nats-Nats.out
@@ -1,317 +0,0 @@-map length (tiers :: [[ [Nat]->[Nat] ]])  =  [1,1,4,10,29,75,...]--length (list :: [ [Nat]->[Nat] ])  =  Infinity--allUnique (list :: [ [Nat]->[Nat] ])  =  True--ratioRepetitions (list :: [ [Nat]->[Nat] ])  =  0 % 1--tiers :: [[Nat]->[Nat]]  =-  [ [\_ -> []]-  , [\_ -> [0]]-  , [ \x -> case x of-            [] -> [0]-            _ -> []-    , \x -> case x of-            [] -> []-            _ -> [0]-    , \_ -> [0,0]-    , \_ -> [1]-    ]-  , [ \x -> case x of-            [] -> [0,0]-            _ -> []-    , \x -> case x of-            [] -> [1]-            _ -> []-    , \x -> case x of-            [0] -> [0]-            _ -> []-    , \x -> case x of-            [0] -> []-            _ -> [0]-    , \x -> case x of-            [] -> []-            _ -> [0,0]-    , \x -> case x of-            [] -> []-            _ -> [1]-    , \_ -> [0,0,0]-    , \_ -> [0,1]-    , \_ -> [1,0]-    , \_ -> [2]-    ]-  , [ \x -> case x of-            [] -> [0,0,0]-            _ -> []-    , \x -> case x of-            [] -> [0,1]-            _ -> []-    , \x -> case x of-            [] -> [1,0]-            _ -> []-    , \x -> case x of-            [] -> [2]-            _ -> []-    , \x -> case x of-            [0] -> [0,0]-            _ -> []-    , \x -> case x of-            [0] -> [1]-            _ -> []-    , \x -> case x of-            [0,0] -> [0]-            _ -> []-    , \x -> case x of-            [1] -> [0]-            _ -> []-    , \x -> case x of-            [] -> [0,0]-            _ -> [0]-    , \x -> case x of-            [] -> [1]-            _ -> [0]-    , \x -> case x of-            [] -> []-            [0] -> []-            _ -> [0]-    , \x -> case x of-            [0,0] -> []-            _ -> [0]-    , \x -> case x of-            [1] -> []-            _ -> [0]-    , \x -> case x of-            [] -> [0]-            _ -> [0,0]-    , \x -> case x of-            [0] -> []-            _ -> [0,0]-    , \x -> case x of-            [] -> [0]-            _ -> [1]-    , \x -> case x of-            [0] -> []-            _ -> [1]-    , \x -> case x of-            [] -> []-            _ -> [0,0,0]-    , \x -> case x of-            [] -> []-            _ -> [0,1]-    , \x -> case x of-            [] -> []-            _ -> [1,0]-    , \x -> case x of-            [] -> []-            _ -> [2]-    , \_ -> [0,0,0,0]-    , \_ -> [0,0,1]-    , \_ -> [0,1,0]-    , \_ -> [0,2]-    , \_ -> [1,0,0]-    , \_ -> [1,1]-    , \_ -> [2,0]-    , \_ -> [3]-    ]-  , [ \x -> case x of-            [] -> [0,0,0,0]-            _ -> []-    , \x -> case x of-            [] -> [0,0,1]-            _ -> []-    , \x -> case x of-            [] -> [0,1,0]-            _ -> []-    , \x -> case x of-            [] -> [0,2]-            _ -> []-    , \x -> case x of-            [] -> [1,0,0]-            _ -> []-    , \x -> case x of-            [] -> [1,1]-            _ -> []-    , \x -> case x of-            [] -> [2,0]-            _ -> []-    , \x -> case x of-            [] -> [3]-            _ -> []-    , \x -> case x of-            [0] -> [0,0,0]-            _ -> []-    , \x -> case x of-            [0] -> [0,1]-            _ -> []-    , \x -> case x of-            [0] -> [1,0]-            _ -> []-    , \x -> case x of-            [0] -> [2]-            _ -> []-    , \x -> case x of-            [] -> [0]-            [0] -> [0]-            _ -> []-    , \x -> case x of-            [0,0] -> [0,0]-            _ -> []-    , \x -> case x of-            [0,0] -> [1]-            _ -> []-    , \x -> case x of-            [1] -> [0,0]-            _ -> []-    , \x -> case x of-            [1] -> [1]-            _ -> []-    , \x -> case x of-            [0,0,0] -> [0]-            _ -> []-    , \x -> case x of-            [0,1] -> [0]-            _ -> []-    , \x -> case x of-            [1,0] -> [0]-            _ -> []-    , \x -> case x of-            [2] -> [0]-            _ -> []-    , \x -> case x of-            [] -> [0,0,0]-            _ -> [0]-    , \x -> case x of-            [] -> [0,1]-            _ -> [0]-    , \x -> case x of-            [] -> [1,0]-            _ -> [0]-    , \x -> case x of-            [] -> [2]-            _ -> [0]-    , \x -> case x of-            [0] -> [0,0]-            _ -> [0]-    , \x -> case x of-            [0] -> [1]-            _ -> [0]-    , \x -> case x of-            [] -> []-            [0,0] -> []-            _ -> [0]-    , \x -> case x of-            [] -> []-            [1] -> []-            _ -> [0]-    , \x -> case x of-            [0,0,0] -> []-            _ -> [0]-    , \x -> case x of-            [0,1] -> []-            _ -> [0]-    , \x -> case x of-            [1,0] -> []-            _ -> [0]-    , \x -> case x of-            [2] -> []-            _ -> [0]-    , \x -> case x of-            [] -> [1]-            _ -> [0,0]-    , \x -> case x of-            [0] -> [0]-            _ -> [0,0]-    , \x -> case x of-            [] -> []-            [0] -> []-            _ -> [0,0]-    , \x -> case x of-            [0,0] -> []-            _ -> [0,0]-    , \x -> case x of-            [1] -> []-            _ -> [0,0]-    , \x -> case x of-            [] -> [0,0]-            _ -> [1]-    , \x -> case x of-            [0] -> [0]-            _ -> [1]-    , \x -> case x of-            [] -> []-            [0] -> []-            _ -> [1]-    , \x -> case x of-            [0,0] -> []-            _ -> [1]-    , \x -> case x of-            [1] -> []-            _ -> [1]-    , \x -> case x of-            [] -> [0]-            _ -> [0,0,0]-    , \x -> case x of-            [0] -> []-            _ -> [0,0,0]-    , \x -> case x of-            [] -> [0]-            _ -> [0,1]-    , \x -> case x of-            [0] -> []-            _ -> [0,1]-    , \x -> case x of-            [] -> [0]-            _ -> [1,0]-    , \x -> case x of-            [0] -> []-            _ -> [1,0]-    , \x -> case x of-            [] -> [0]-            _ -> [2]-    , \x -> case x of-            [0] -> []-            _ -> [2]-    , \x -> case x of-            [] -> []-            _ -> [0,0,0,0]-    , \x -> case x of-            [] -> []-            _ -> [0,0,1]-    , \x -> case x of-            [] -> []-            _ -> [0,1,0]-    , \x -> case x of-            [] -> []-            _ -> [0,2]-    , \x -> case x of-            [] -> []-            _ -> [1,0,0]-    , \x -> case x of-            [] -> []-            _ -> [1,1]-    , \x -> case x of-            [] -> []-            _ -> [2,0]-    , \x -> case x of-            [] -> []-            _ -> [3]-    , \_ -> [0,0,0,0,0]-    , \_ -> [0,0,0,1]-    , \_ -> [0,0,1,0]-    , \_ -> [0,0,2]-    , \_ -> [0,1,0,0]-    , \_ -> [0,1,1]-    , \_ -> [0,2,0]-    , \_ -> [0,3]-    , \_ -> [1,0,0,0]-    , \_ -> [1,0,1]-    , \_ -> [1,1,0]-    , \_ -> [1,2]-    , \_ -> [2,0,0]-    , \_ -> [2,1]-    , \_ -> [3,0]-    , \_ -> [4]-    ]-  , ...-  ]
− test/diff/tiers-default-U-Bool.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ ()->Bool ]])  =  [2]--length (list :: [ ()->Bool ])  =  2--allUnique (list :: [ ()->Bool ])  =  True--ratioRepetitions (list :: [ ()->Bool ])  =  0 % 1--tiers :: [()->Bool]  =-  [ [ \_ -> False-    , \_ -> True-    ]-  ]
− test/diff/tiers-default-U-Nat.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ ()->Nat ]])  =  [1,1,1,1,1,1,...]--length (list :: [ ()->Nat ])  =  Infinity--allUnique (list :: [ ()->Nat ])  =  True--ratioRepetitions (list :: [ ()->Nat ])  =  0 % 1--tiers :: [()->Nat]  =-  [ [\_ -> 0]-  , [\_ -> 1]-  , [\_ -> 2]-  , [\_ -> 3]-  , [\_ -> 4]-  , [\_ -> 5]-  , ...-  ]
− test/diff/tiers-default-U-U.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ ()->() ]])  =  [1]--length (list :: [ ()->() ])  =  1--allUnique (list :: [ ()->() ])  =  True--ratioRepetitions (list :: [ ()->() ])  =  0 % 1--tiers :: [()->()]  =-  [[\_ -> ()]]
− test/diff/tiers-default-Us-Us.out
@@ -1,115 +0,0 @@-map length (tiers :: [[ [()]->[()] ]])  =  [1,1,3,5,10,16,...]--length (list :: [ [()]->[()] ])  =  Infinity--allUnique (list :: [ [()]->[()] ])  =  True--ratioRepetitions (list :: [ [()]->[()] ])  =  0 % 1--tiers :: [[()]->[()]]  =-  [ [\_ -> []]-  , [\_ -> [()]]-  , [ \x -> case x of-            [] -> [()]-            _ -> []-    , \x -> case x of-            [] -> []-            _ -> [()]-    , \_ -> [(),()]-    ]-  , [ \x -> case x of-            [] -> [(),()]-            _ -> []-    , \x -> case x of-            [()] -> [()]-            _ -> []-    , \x -> case x of-            [()] -> []-            _ -> [()]-    , \x -> case x of-            [] -> []-            _ -> [(),()]-    , \_ -> [(),(),()]-    ]-  , [ \x -> case x of-            [] -> [(),(),()]-            _ -> []-    , \x -> case x of-            [()] -> [(),()]-            _ -> []-    , \x -> case x of-            [(),()] -> [()]-            _ -> []-    , \x -> case x of-            [] -> [(),()]-            _ -> [()]-    , \x -> case x of-            [] -> []-            [()] -> []-            _ -> [()]-    , \x -> case x of-            [(),()] -> []-            _ -> [()]-    , \x -> case x of-            [] -> [()]-            _ -> [(),()]-    , \x -> case x of-            [()] -> []-            _ -> [(),()]-    , \x -> case x of-            [] -> []-            _ -> [(),(),()]-    , \_ -> [(),(),(),()]-    ]-  , [ \x -> case x of-            [] -> [(),(),(),()]-            _ -> []-    , \x -> case x of-            [()] -> [(),(),()]-            _ -> []-    , \x -> case x of-            [] -> [()]-            [()] -> [()]-            _ -> []-    , \x -> case x of-            [(),()] -> [(),()]-            _ -> []-    , \x -> case x of-            [(),(),()] -> [()]-            _ -> []-    , \x -> case x of-            [] -> [(),(),()]-            _ -> [()]-    , \x -> case x of-            [()] -> [(),()]-            _ -> [()]-    , \x -> case x of-            [] -> []-            [(),()] -> []-            _ -> [()]-    , \x -> case x of-            [(),(),()] -> []-            _ -> [()]-    , \x -> case x of-            [()] -> [()]-            _ -> [(),()]-    , \x -> case x of-            [] -> []-            [()] -> []-            _ -> [(),()]-    , \x -> case x of-            [(),()] -> []-            _ -> [(),()]-    , \x -> case x of-            [] -> [()]-            _ -> [(),(),()]-    , \x -> case x of-            [()] -> []-            _ -> [(),(),()]-    , \x -> case x of-            [] -> []-            _ -> [(),(),(),()]-    , \_ -> [(),(),(),(),()]-    ]-  , ...-  ]
− test/diff/tiers.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ () ]])  =  [1]--length (list :: [ () ])  =  1--allUnique (list :: [ () ])  =  True--ratioRepetitions (list :: [ () ])  =  0 % 1--tiers :: [()]  =-  [[()]]
test/error.hs view
@@ -1,21 +1,21 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE).+{-# LANGUAGE CPP #-}++#if __GLASGOW_HASKELL__ >= 908+{-# OPTIONS_GHC -Wno-x-partial #-}+#endif+ {-# OPTIONS_GHC -fno-warn-incomplete-patterns #-}-import Test (getMaxTestsFromArgs) -import System.Exit (exitFailure)-import Data.List (elemIndices,sort)+import Test (mainTest)  import Test.LeanCheck.Error import Test.LeanCheck.Utils.Types (Nat)+import Data.List (sort)  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n  =
test/fun.hs view
@@ -1,18 +1,11 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test -import System.Exit (exitFailure)-import Data.List (elemIndices) import Test.LeanCheck.Function ()  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n  =
test/funshow.hs view
@@ -1,20 +1,14 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# OPTIONS_GHC -fno-warn-incomplete-patterns #-}-import Test (getMaxTestsFromArgs)-import System.Exit (exitFailure)-import Data.List (elemIndices,sort)+import Test (mainTest) import Test.LeanCheck.Function.ShowFunction import Test.LeanCheck.Function.Show () import Test.LeanCheck.Utils.TypeBinding+import Data.List (sort)  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests _ =
test/generic.hs view
@@ -1,17 +1,16 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). {-# LANGUAGE DeriveGeneric, StandaloneDeriving, TemplateHaskell #-} import Test -- import Test.LeanCheck -- already exported by Test import Test.LeanCheck.Generic import Test.LeanCheck.Derive (deriveTiers)-import System.Exit (exitFailure)-import Data.List (elemIndices,sort) import Test.LeanCheck.Utils+import Data.List (sort) import GHC.Generics (Generic)  data D0        =  D0                     deriving (Eq, Show, Generic)-data D1 a      =  D1 a                   deriving (Eq, Show, Generic)+newtype D1 a   =  D1 a                   deriving (Eq, Show, Generic) data D2 a b    =  D2 a b                 deriving (Eq, Show, Generic) data D3 a b c  =  D3 a b c               deriving (Eq, Show, Generic) data C1 a      =            C11 a | C10  deriving (Eq, Show, Generic)@@ -49,12 +48,7 @@   main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n  =
test/io.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test 
test/main.hs view
@@ -1,10 +1,7 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test -import System.Exit (exitFailure)-import Data.List (elemIndices)- -- import Test.LeanCheck -- already exported by Test import Test.LeanCheck.Utils @@ -14,12 +11,7 @@ import Data.Word  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n =
test/operators.hs view
@@ -1,22 +1,15 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test -import System.Exit (exitFailure)-import Data.List (elemIndices,sort) -- import Test.LeanCheck -- already exported by Test import Test.LeanCheck.Utils -import Data.List (isPrefixOf) import Data.Function (on)+import Data.List (sort, isPrefixOf)  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n =
test/sdist view
@@ -2,7 +2,7 @@ # # test/sdist: tests the package generated by "cabal sdist". #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2024 Rudy Matela. # Distributed under the 3-Clause BSD licence.  set -xe@@ -29,7 +29,11 @@ tar -tf $pkg | sort --ignore-case --unique > $tmp/ls-cabal-iu diff -rud $tmp/ls-cabal-i $tmp/ls-cabal-iu -if [ -d .git ]+# Check if we have a clone of the repo and git is available+# The check that we can run git ls-files is needed to avoid:+# fatal: detected dubious ownership in repository at '/__w/.../hello-haskell'+# on CI.+if [ -d .git ] && git --version && git ls-files >/dev/null then 	# Test if files included by cabal are the same as files tracked in git. 	git ls-files                                         | sort > $tmp/ls-git
test/stats.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2017-2020 Rudy Matela.+-- Copyright (c) 2017-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test 
test/tiers.hs view
@@ -1,22 +1,14 @@--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test -import System.Exit (exitFailure)-import Data.List (elemIndices, sort, nub, delete)- -- import Test.LeanCheck -- already exported by Test import Test.LeanCheck.Utils- import Test.LeanCheck.Tiers+import Data.List (sort, nub, delete)  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200  tests :: Int -> [Bool] tests n =@@ -39,10 +31,10 @@                      [[1],[2],[3],[4]]                      [[const Nothing],[Just]] == [[],[1],[2],[3],[4]] -  , holds n $ deleteT_is_map_delete 10 -:> nat-  , holds n $ deleteT_is_map_delete 10 -:> int-  , holds n $ deleteT_is_map_delete 10 -:> bool-  , holds n $ deleteT_is_map_delete 10 -:> int2+  , holds n $ deleteTIsMapDelete 10 -:> nat+  , holds n $ deleteTIsMapDelete 10 -:> int+  , holds n $ deleteTIsMapDelete 10 -:> bool+  , holds n $ deleteTIsMapDelete 10 -:> int2    , finite (tiers :: [[ Bool ]])  == True   , finite (tiers :: [[ (Bool,Bool) ]]) == True@@ -74,8 +66,8 @@   , holds n $ \xss -> nub (concat xss) == concat (nubT xss :: [[Int]])   ] -deleteT_is_map_delete :: (Eq a, Listable a) => Int -> a -> Bool-deleteT_is_map_delete n x  =+deleteTIsMapDelete :: (Eq a, Listable a) => Int -> a -> Bool+deleteTIsMapDelete n x  =   deleteT x tiers =| n |= normalizeT (map (delete x) tiers)  checkNoDup :: Int -> Bool
test/types.hs view
@@ -1,10 +1,9 @@ {-# LANGUAGE CPP #-}--- Copyright (c) 2015-2020 Rudy Matela.+-- Copyright (c) 2015-2024 Rudy Matela. -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test-import System.Exit (exitFailure)-import Data.List (elemIndices,delete,isPrefixOf) import Test.LeanCheck.Utils.Types+import Data.List (delete,isPrefixOf) import Data.Word import Data.Int import Data.Char hiding (Space)@@ -13,12 +12,7 @@ #endif  main :: IO ()-main  =  do-  max <- getMaxTestsFromArgs 200-  case elemIndices False (tests max) of-    [] -> putStrLn "Tests passed!"-    is -> do putStrLn ("Failed tests:" ++ show is)-             exitFailure+main  =  mainTest tests 200   -- | Given the number of bits, generates a range for signed/unsigned integers