Diff of the two buildlogs:

--
--- b1/build.log	2025-03-01 20:46:37.195427402 +0000
+++ b2/build.log	2025-03-01 22:01:07.962124860 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Fri Apr  3 14:55:40 -12 2026
-I: pbuilder-time-stamp: 1775271340
+I: Current time: Sun Mar  2 10:46:40 +14 2025
+I: pbuilder-time-stamp: 1740862000
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -22,52 +22,84 @@
 dpkg-source: info: unpacking bali-phy_4.0-1.debian.tar.xz
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/52854/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos11-amd64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Mar  1 20:47 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='amd64'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='amd64'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=amd64
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 '
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=x86_64
+  HOST_ARCH=amd64
   IFS=' 	
   '
-  INVOCATION_ID='9f7e87421537435e84e1e32ccf1e0ede'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='52854'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=a6c7e6f6ed084a28a9ccd1e291ee6b16
+  LANG=C
+  LANGUAGE=et_EE:et
+  LC_ALL=C
+  MACHTYPE=x86_64-pc-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=2803310
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7OHpCb8W/pbuilderrc_dA4r --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7OHpCb8W/b1 --logfile b1/build.log bali-phy_4.0-1.dsc'
-  SUDO_GID='110'
-  SUDO_UID='105'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://213.165.73.152:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7OHpCb8W/pbuilderrc_HS6C --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7OHpCb8W/b2 --logfile b2/build.log bali-phy_4.0-1.dsc'
+  SUDO_GID=111
+  SUDO_UID=106
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://46.16.76.132:3128
 I: uname -a
-  Linux ionos5-amd64 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/52854/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -327,7 +359,7 @@
 Get: 190 http://deb.debian.org/debian unstable/main amd64 nlohmann-json3-dev all 3.11.3-2 [262 kB]
 Get: 191 http://deb.debian.org/debian unstable/main amd64 pandoc-data all 3.1.11.1-3 [459 kB]
 Get: 192 http://deb.debian.org/debian unstable/main amd64 pandoc amd64 3.1.11.1+ds-2 [26.4 MB]
-Fetched 112 MB in 1s (96.7 MB/s)
+Fetched 112 MB in 8s (14.3 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package libpython3.13-minimal:amd64.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19780 files and directories currently installed.)
@@ -961,8 +993,8 @@
 Setting up tzdata (2025a-2) ...
 
 Current default time zone: 'Etc/UTC'
-Local time is now:      Sat Apr  4 02:56:29 UTC 2026.
-Universal Time is now:  Sat Apr  4 02:56:29 UTC 2026.
+Local time is now:      Sat Mar  1 20:51:28 UTC 2025.
+Universal Time is now:  Sat Mar  1 20:51:28 UTC 2025.
 Run 'dpkg-reconfigure tzdata' if you wish to change it.
 
 Setting up libboost-atomic1.83.0:amd64 (1.83.0-4.1+b1) ...
@@ -1125,7 +1157,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/bali-phy-4.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../bali-phy_4.0-1_source.changes
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/bali-phy-4.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../bali-phy_4.0-1_source.changes
 dpkg-buildpackage: info: source package bali-phy
 dpkg-buildpackage: info: source version 4.0-1
 dpkg-buildpackage: info: source distribution unstable
@@ -1226,112 +1262,125 @@
 Found ninja-1.12.1 at /usr/bin/ninja
 make[1]: Leaving directory '/build/reproducible-path/bali-phy-4.0'
    dh_auto_build -O--buildsystem=meson
-	cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j42 -v
+	cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j20 -v
 [1/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/log-level.cc.o -MF src/util/libutil.a.p/log-level.cc.o.d -o src/util/libutil.a.p/log-level.cc.o -c ../src/util/log-level.cc
 [2/379] /usr/bin/meson --internal vcstagger ../src/git-version.h.in src/git-version.h 4.0 /build/reproducible-path/bali-phy-4.0/src @git_message@ '(.*)' git log -n1 '--date=format:%b %d %Y %k:%M:%S' '--pretty=format:[%D commit %h]  (%cd)'
 [3/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/demangle.cc.o -MF src/util/libutil.a.p/demangle.cc.o.d -o src/util/libutil.a.p/demangle.cc.o -c ../src/util/demangle.cc
 [4/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/string_pred.cc.o -MF src/util/libutil.a.p/string_pred.cc.o.d -o src/util/libutil.a.p/string_pred.cc.o -c ../src/util/string/pred.cc
-[5/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/string_strip.cc.o -MF src/util/libutil.a.p/string_strip.cc.o.d -o src/util/libutil.a.p/string_strip.cc.o -c ../src/util/string/strip.cc
-[6/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/range.cc.o -MF src/util/libutil.a.p/range.cc.o.d -o src/util/libutil.a.p/range.cc.o -c ../src/util/range.cc
+[5/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/range.cc.o -MF src/util/libutil.a.p/range.cc.o.d -o src/util/libutil.a.p/range.cc.o -c ../src/util/range.cc
+[6/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/string_strip.cc.o -MF src/util/libutil.a.p/string_strip.cc.o.d -o src/util/libutil.a.p/string_strip.cc.o -c ../src/util/string/strip.cc
 [7/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/myexception.cc.o -MF src/util/libutil.a.p/myexception.cc.o.d -o src/util/libutil.a.p/myexception.cc.o -c ../src/util/myexception.cc
 [8/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/permute.cc.o -MF src/util/libutil.a.p/permute.cc.o.d -o src/util/libutil.a.p/permute.cc.o -c ../src/util/permute.cc
 [9/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/string_sanitize.cc.o -MF src/util/libutil.a.p/string_sanitize.cc.o.d -o src/util/libutil.a.p/string_sanitize.cc.o -c ../src/util/string/sanitize.cc
-[10/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/assert.cc.o -MF src/util/libutil.a.p/assert.cc.o.d -o src/util/libutil.a.p/assert.cc.o -c ../src/util/assert.cc
-[11/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/rng.cc.o -MF src/util/libutil.a.p/rng.cc.o.d -o src/util/libutil.a.p/rng.cc.o -c ../src/util/rng.cc
-[12/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/mapping.cc.o -MF src/util/libutil.a.p/mapping.cc.o.d -o src/util/libutil.a.p/mapping.cc.o -c ../src/util/mapping.cc
-[13/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_newick-tokenizer.cc.o -MF src/libcommon.a.p/tree_newick-tokenizer.cc.o.d -o src/libcommon.a.p/tree_newick-tokenizer.cc.o -c ../src/tree/newick-tokenizer.cc
+[10/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/rng.cc.o -MF src/util/libutil.a.p/rng.cc.o.d -o src/util/libutil.a.p/rng.cc.o -c ../src/util/rng.cc
+[11/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/assert.cc.o -MF src/util/libutil.a.p/assert.cc.o.d -o src/util/libutil.a.p/assert.cc.o -c ../src/util/assert.cc
+[12/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_newick-tokenizer.cc.o -MF src/libcommon.a.p/tree_newick-tokenizer.cc.o.d -o src/libcommon.a.p/tree_newick-tokenizer.cc.o -c ../src/tree/newick-tokenizer.cc
+[13/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/file-readers.cc.o -MF src/util/libutil.a.p/file-readers.cc.o.d -o src/util/libutil.a.p/file-readers.cc.o -c ../src/util/file-readers.cc
 [14/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree-align_n_indels.cc.o -MF src/libcommon.a.p/tree-align_n_indels.cc.o.d -o src/libcommon.a.p/tree-align_n_indels.cc.o -c ../src/tree-align/n_indels.cc
-[15/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/file-paths.cc.o -MF src/util/libutil.a.p/file-paths.cc.o.d -o src/util/libutil.a.p/file-paths.cc.o -c ../src/util/file-paths.cc
-[16/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/file-readers.cc.o -MF src/util/libutil.a.p/file-readers.cc.o.d -o src/util/libutil.a.p/file-readers.cc.o -c ../src/util/file-readers.cc
-[17/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_alignment-random.cc.o -MF src/libcommon.a.p/alignment_alignment-random.cc.o.d -o src/libcommon.a.p/alignment_alignment-random.cc.o -c ../src/alignment/alignment-random.cc
-[18/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/settings.cc.o -MF src/util/libutil.a.p/settings.cc.o.d -o src/util/libutil.a.p/settings.cc.o -c ../src/util/settings.cc
+[15/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/mapping.cc.o -MF src/util/libutil.a.p/mapping.cc.o.d -o src/util/libutil.a.p/mapping.cc.o -c ../src/util/mapping.cc
+[16/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/settings.cc.o -MF src/util/libutil.a.p/settings.cc.o.d -o src/util/libutil.a.p/settings.cc.o -c ../src/util/settings.cc
+[17/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/file-paths.cc.o -MF src/util/libutil.a.p/file-paths.cc.o.d -o src/util/libutil.a.p/file-paths.cc.o -c ../src/util/file-paths.cc
+[18/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/time.cc.o -MF src/util/libutil.a.p/time.cc.o.d -o src/util/libutil.a.p/time.cc.o -c ../src/util/time.cc
 [19/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_randomtree.cc.o -MF src/libcommon.a.p/tree_randomtree.cc.o.d -o src/libcommon.a.p/tree_randomtree.cc.o -c ../src/tree/randomtree.cc
-[20/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_statistics.cc.o -MF src/libcommon.a.p/tools_statistics.cc.o.d -o src/libcommon.a.p/tools_statistics.cc.o -c ../src/tools/statistics.cc
-[21/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_findroot.cc.o -MF src/libcommon.a.p/tools_findroot.cc.o.d -o src/libcommon.a.p/tools_findroot.cc.o -c ../src/tools/findroot.cc
-[22/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/time.cc.o -MF src/util/libutil.a.p/time.cc.o.d -o src/util/libutil.a.p/time.cc.o -c ../src/util/time.cc
-[23/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_optimize.cc.o -MF src/libcommon.a.p/tools_optimize.cc.o.d -o src/libcommon.a.p/tools_optimize.cc.o -c ../src/tools/optimize.cc
-[24/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/io.cc.o -MF src/util/libutil.a.p/io.cc.o.d -o src/util/libutil.a.p/io.cc.o -c ../src/util/io.cc
-[25/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_parsimony.cc.o -MF src/libcommon.a.p/tools_parsimony.cc.o.d -o src/libcommon.a.p/tools_parsimony.cc.o -c ../src/tools/parsimony.cc
-[26/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree-align_link.cc.o -MF src/libcommon.a.p/tree-align_link.cc.o.d -o src/libcommon.a.p/tree-align_link.cc.o -c ../src/tree-align/link.cc
-[27/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/cmdline.cc.o -MF src/util/libutil.a.p/cmdline.cc.o.d -o src/util/libutil.a.p/cmdline.cc.o -c ../src/util/cmdline.cc
-[28/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_tree-util.cc.o -MF src/libcommon.a.p/tree_tree-util.cc.o.d -o src/libcommon.a.p/tree_tree-util.cc.o -c ../src/tree/tree-util.cc
-[29/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_distance-report.cc.o -MF src/libcommon.a.p/tools_distance-report.cc.o.d -o src/libcommon.a.p/tools_distance-report.cc.o -c ../src/tools/distance-report.cc
-[30/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/graph.cc.o -MF src/util/libutil.a.p/graph.cc.o.d -o src/util/libutil.a.p/graph.cc.o -c ../src/util/graph.cc
-[31/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_sequence-format.cc.o -MF src/libcommon.a.p/sequence_sequence-format.cc.o.d -o src/libcommon.a.p/sequence_sequence-format.cc.o -c ../src/sequence/sequence-format.cc
-[32/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/models_path.cc.o -MF src/libcommon.a.p/models_path.cc.o.d -o src/libcommon.a.p/models_path.cc.o -c ../src/models/path.cc
-[33/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/ptree.cc.o -MF src/util/libutil.a.p/ptree.cc.o.d -o src/util/libutil.a.p/ptree.cc.o -c ../src/util/ptree.cc
-[34/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_sequence.cc.o -MF src/libcommon.a.p/sequence_sequence.cc.o.d -o src/libcommon.a.p/sequence_sequence.cc.o -c ../src/sequence/sequence.cc
-[35/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_codons.cc.o -MF src/libcommon.a.p/sequence_codons.cc.o.d -o src/libcommon.a.p/sequence_codons.cc.o -c ../src/sequence/codons.cc
-[36/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/object.cc.o -MF src/computation/libcomputation.a.p/object.cc.o.d -o src/computation/libcomputation.a.p/object.cc.o -c ../src/computation/object.cc
-[37/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_distance-methods.cc.o -MF src/libcommon.a.p/tools_distance-methods.cc.o.d -o src/libcommon.a.p/tools_distance-methods.cc.o -c ../src/tools/distance-methods.cc
-[38/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_RNAEdits.cc.o -MF src/libcommon.a.p/sequence_RNAEdits.cc.o.d -o src/libcommon.a.p/sequence_RNAEdits.cc.o -c ../src/sequence/RNAEdits.cc
-[39/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_doublets.cc.o -MF src/libcommon.a.p/sequence_doublets.cc.o.d -o src/libcommon.a.p/sequence_doublets.cc.o -c ../src/sequence/doublets.cc
-[40/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_sequencetree.cc.o -MF src/libcommon.a.p/tree_sequencetree.cc.o.d -o src/libcommon.a.p/tree_sequencetree.cc.o -c ../src/tree/sequencetree.cc
-[41/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_triplets.cc.o -MF src/libcommon.a.p/sequence_triplets.cc.o.d -o src/libcommon.a.p/sequence_triplets.cc.o -c ../src/sequence/triplets.cc
-[42/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_genetic_code.cc.o -MF src/libcommon.a.p/sequence_genetic_code.cc.o.d -o src/libcommon.a.p/sequence_genetic_code.cc.o -c ../src/sequence/genetic_code.cc
-[43/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_index-matrix.cc.o -MF src/libcommon.a.p/alignment_index-matrix.cc.o.d -o src/libcommon.a.p/alignment_index-matrix.cc.o -c ../src/alignment/index-matrix.cc
-[44/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_alignment.cc.o -MF src/libcommon.a.p/alignment_alignment.cc.o.d -o src/libcommon.a.p/alignment_alignment.cc.o -c ../src/alignment/alignment.cc
-[45/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/text.cc.o -MF src/util/libutil.a.p/text.cc.o.d -o src/util/libutil.a.p/text.cc.o -c ../src/util/text.cc
-[46/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_alphabet.cc.o -MF src/libcommon.a.p/sequence_alphabet.cc.o.d -o src/libcommon.a.p/sequence_alphabet.cc.o -c ../src/sequence/alphabet.cc
-[47/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_load.cc.o -MF src/libcommon.a.p/alignment_load.cc.o.d -o src/libcommon.a.p/alignment_load.cc.o -c ../src/alignment/load.cc
-[48/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_tree-dist.cc.o -MF src/libcommon.a.p/tools_tree-dist.cc.o.d -o src/libcommon.a.p/tools_tree-dist.cc.o -c ../src/tools/tree-dist.cc
-[49/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_alignment-util.cc.o -MF src/libcommon.a.p/alignment_alignment-util.cc.o.d -o src/libcommon.a.p/alignment_alignment-util.cc.o -c ../src/alignment/alignment-util.cc
-[50/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/string_split.cc.o -MF src/util/libutil.a.p/string_split.cc.o.d -o src/util/libutil.a.p/string_split.cc.o -c ../src/util/string/split.cc
-[51/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_read-trees.cc.o -MF src/libcommon.a.p/tools_read-trees.cc.o.d -o src/libcommon.a.p/tools_read-trees.cc.o -c ../src/tools/read-trees.cc
-[52/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_consensus-tree.cc.o -MF src/libcommon.a.p/tools_consensus-tree.cc.o.d -o src/libcommon.a.p/tools_consensus-tree.cc.o -c ../src/tools/consensus-tree.cc
-[53/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_partition.cc.o -MF src/libcommon.a.p/tools_partition.cc.o.d -o src/libcommon.a.p/tools_partition.cc.o -c ../src/tools/partition.cc
-[54/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/closure.cc.o -MF src/computation/libcomputation.a.p/closure.cc.o.d -o src/computation/libcomputation.a.p/closure.cc.o -c ../src/computation/closure.cc
-[55/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/instance_info.cc.o -MF src/computation/libcomputation.a.p/instance_info.cc.o.d -o src/computation/libcomputation.a.p/instance_info.cc.o -c ../src/computation/instance_info.cc
-[56/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/message.cc.o -MF src/computation/libcomputation.a.p/message.cc.o.d -o src/computation/libcomputation.a.p/message.cc.o -c ../src/computation/message.cc
-[57/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_joint-A-T.cc.o -MF src/libcommon.a.p/tools_joint-A-T.cc.o.d -o src/libcommon.a.p/tools_joint-A-T.cc.o -c ../src/tools/joint-A-T.cc
-[58/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_tree.cc.o -MF src/libcommon.a.p/tree_tree.cc.o.d -o src/libcommon.a.p/tree_tree.cc.o -c ../src/tree/tree.cc
-[59/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_mctree.cc.o -MF src/libcommon.a.p/tools_mctree.cc.o.d -o src/libcommon.a.p/tools_mctree.cc.o -c ../src/tools/mctree.cc
-[60/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/data_con_info.cc.o -MF src/computation/libcomputation.a.p/data_con_info.cc.o.d -o src/computation/libcomputation.a.p/data_con_info.cc.o -c ../src/computation/data_con_info.cc
-[61/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/symbols.cc.o -MF src/computation/libcomputation.a.p/symbols.cc.o.d -o src/computation/libcomputation.a.p/symbols.cc.o -c ../src/computation/symbols.cc
-[62/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_constructor.cc.o -MF src/computation/libcomputation.a.p/expression_constructor.cc.o.d -o src/computation/libcomputation.a.p/expression_constructor.cc.o -c ../src/computation/expression/constructor.cc
-[63/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_inverse.cc.o -MF src/libcommon.a.p/tools_inverse.cc.o.d -o src/libcommon.a.p/tools_inverse.cc.o -c ../src/tools/inverse.cc
-[64/379] c++ -Isrc/mcon/libmcon.a.p -Isrc/mcon -I../src/mcon -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/mcon/libmcon.a.p/mcon.cc.o -MF src/mcon/libmcon.a.p/mcon.cc.o.d -o src/mcon/libmcon.a.p/mcon.cc.o -c ../src/mcon/mcon.cc
-[65/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_stats-table.cc.o -MF src/libcommon.a.p/tools_stats-table.cc.o.d -o src/libcommon.a.p/tools_stats-table.cc.o -c ../src/tools/stats-table.cc
-[66/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_extensions.cc.o -MF src/computation/libcomputation.a.p/haskell_extensions.cc.o.d -o src/computation/libcomputation.a.p/haskell_extensions.cc.o -c ../src/computation/haskell/extensions.cc
-[67/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/fresh_vars.cc.o -MF src/computation/libcomputation.a.p/fresh_vars.cc.o.d -o src/computation/libcomputation.a.p/fresh_vars.cc.o -c ../src/computation/fresh_vars.cc
-[68/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/preprocess.cc.o -MF src/computation/libcomputation.a.p/preprocess.cc.o.d -o src/computation/libcomputation.a.p/preprocess.cc.o -c ../src/computation/preprocess.cc
-[69/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_var.cc.o -MF src/computation/libcomputation.a.p/haskell_var.cc.o.d -o src/computation/libcomputation.a.p/haskell_var.cc.o -c ../src/computation/haskell/var.cc
-[70/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/operations.cc.o -MF src/computation/libcomputation.a.p/operations.cc.o.d -o src/computation/libcomputation.a.p/operations.cc.o -c ../src/computation/operations.cc
-[71/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_core.cc.o -MF src/computation/libcomputation.a.p/expression_core.cc.o.d -o src/computation/libcomputation.a.p/expression_core.cc.o -c ../src/computation/expression/core.cc
-[72/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/param.cc.o -MF src/computation/libcomputation.a.p/param.cc.o.d -o src/computation/libcomputation.a.p/param.cc.o -c ../src/computation/param.cc
-[73/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_apply.cc.o -MF src/computation/libcomputation.a.p/expression_apply.cc.o.d -o src/computation/libcomputation.a.p/expression_apply.cc.o -c ../src/computation/expression/apply.cc
-[74/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_ids.cc.o -MF src/computation/libcomputation.a.p/haskell_ids.cc.o.d -o src/computation/libcomputation.a.p/haskell_ids.cc.o -c ../src/computation/haskell/ids.cc
-[75/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_reg_var.cc.o -MF src/computation/libcomputation.a.p/expression_reg_var.cc.o.d -o src/computation/libcomputation.a.p/expression_reg_var.cc.o -c ../src/computation/expression/reg_var.cc
-[76/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_infix.cc.o -MF src/computation/libcomputation.a.p/rename_infix.cc.o.d -o src/computation/libcomputation.a.p/rename_infix.cc.o -c ../src/computation/rename/infix.cc
-[77/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/parser_driver.cc.o -MF src/computation/libcomputation.a.p/parser_driver.cc.o.d -o src/computation/libcomputation.a.p/parser_driver.cc.o -c ../src/computation/parser/driver.cc
-[78/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_tuple.cc.o -MF src/computation/libcomputation.a.p/expression_tuple.cc.o.d -o src/computation/libcomputation.a.p/expression_tuple.cc.o -c ../src/computation/expression/tuple.cc
-[79/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_stmt.cc.o -MF src/computation/libcomputation.a.p/rename_stmt.cc.o.d -o src/computation/libcomputation.a.p/rename_stmt.cc.o -c ../src/computation/rename/stmt.cc
-[80/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_core.cc.o -MF src/computation/libcomputation.a.p/haskell_core.cc.o.d -o src/computation/libcomputation.a.p/haskell_core.cc.o -c ../src/computation/haskell/core.cc
-[81/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_list.cc.o -MF src/computation/libcomputation.a.p/expression_list.cc.o.d -o src/computation/libcomputation.a.p/expression_list.cc.o -c ../src/computation/expression/list.cc
-[82/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_expression.cc.o -MF src/computation/libcomputation.a.p/rename_expression.cc.o.d -o src/computation/libcomputation.a.p/rename_expression.cc.o -c ../src/computation/rename/expression.cc
-[83/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_pattern.cc.o -MF src/computation/libcomputation.a.p/rename_pattern.cc.o.d -o src/computation/libcomputation.a.p/rename_pattern.cc.o -c ../src/computation/rename/pattern.cc
-[84/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_match.cc.o -MF src/computation/libcomputation.a.p/rename_match.cc.o.d -o src/computation/libcomputation.a.p/rename_match.cc.o -c ../src/computation/rename/match.cc
-[85/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_substitute.cc.o -MF src/computation/libcomputation.a.p/expression_substitute.cc.o.d -o src/computation/libcomputation.a.p/expression_substitute.cc.o -c ../src/computation/expression/substitute.cc
-[86/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/context.cc.o -MF src/computation/libcomputation.a.p/context.cc.o.d -o src/computation/libcomputation.a.p/context.cc.o -c ../src/computation/context.cc
-[87/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/parser_lexer.cc.o -MF src/computation/libcomputation.a.p/parser_lexer.cc.o.d -o src/computation/libcomputation.a.p/parser_lexer.cc.o -c ../src/computation/parser/lexer.cc
-[88/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_mapping.cc.o -MF src/computation/libcomputation.a.p/machine_mapping.cc.o.d -o src/computation/libcomputation.a.p/machine_mapping.cc.o -c ../src/computation/machine/mapping.cc
-[89/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_trim.cc.o -MF src/computation/libcomputation.a.p/expression_trim.cc.o.d -o src/computation/libcomputation.a.p/expression_trim.cc.o -c ../src/computation/expression/trim.cc
-[90/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_pattern.cc.o -MF src/computation/libcomputation.a.p/haskell_pattern.cc.o.d -o src/computation/libcomputation.a.p/haskell_pattern.cc.o -c ../src/computation/haskell/pattern.cc
-[91/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_expression.cc.o -MF src/computation/libcomputation.a.p/expression_expression.cc.o.d -o src/computation/libcomputation.a.p/expression_expression.cc.o -c ../src/computation/expression/expression.cc
-[92/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_type.cc.o -MF src/computation/libcomputation.a.p/haskell_type.cc.o.d -o src/computation/libcomputation.a.p/haskell_type.cc.o -c ../src/computation/haskell/type.cc
-[93/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_var.cc.o -MF src/computation/libcomputation.a.p/expression_var.cc.o.d -o src/computation/libcomputation.a.p/expression_var.cc.o -c ../src/computation/expression/var.cc
-[94/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_case.cc.o -MF src/computation/libcomputation.a.p/expression_case.cc.o.d -o src/computation/libcomputation.a.p/expression_case.cc.o -c ../src/computation/expression/case.cc
-[95/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_lambda.cc.o -MF src/computation/libcomputation.a.p/expression_lambda.cc.o.d -o src/computation/libcomputation.a.p/expression_lambda.cc.o -c ../src/computation/expression/lambda.cc
-[96/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_coretype.cc.o -MF src/computation/libcomputation.a.p/haskell_coretype.cc.o.d -o src/computation/libcomputation.a.p/haskell_coretype.cc.o -c ../src/computation/haskell/coretype.cc
-[97/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_rename.cc.o -MF src/computation/libcomputation.a.p/rename_rename.cc.o.d -o src/computation/libcomputation.a.p/rename_rename.cc.o -c ../src/computation/rename/rename.cc
-[98/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/core_wrap.cc.o -MF src/computation/libcomputation.a.p/core_wrap.cc.o.d -o src/computation/libcomputation.a.p/core_wrap.cc.o -c ../src/computation/core/wrap.cc
-[99/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/program.cc.o -MF src/computation/libcomputation.a.p/program.cc.o.d -o src/computation/libcomputation.a.p/program.cc.o -c ../src/computation/program.cc
-[100/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_maybe.cc.o -MF src/computation/libcomputation.a.p/expression_maybe.cc.o.d -o src/computation/libcomputation.a.p/expression_maybe.cc.o -c ../src/computation/expression/maybe.cc
-[101/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_types.cc.o -MF src/computation/libcomputation.a.p/rename_types.cc.o.d -o src/computation/libcomputation.a.p/rename_types.cc.o -c ../src/computation/rename/types.cc
-[102/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/core_func.cc.o -MF src/computation/libcomputation.a.p/core_func.cc.o.d -o src/computation/libcomputation.a.p/core_func.cc.o -c ../src/computation/core/func.cc
-[103/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_bool.cc.o -MF src/computation/libcomputation.a.p/expression_bool.cc.o.d -o src/computation/libcomputation.a.p/expression_bool.cc.o -c ../src/computation/expression/bool.cc
-[104/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_modifiable.cc.o -MF src/computation/libcomputation.a.p/expression_modifiable.cc.o.d -o src/computation/libcomputation.a.p/expression_modifiable.cc.o -c ../src/computation/expression/modifiable.cc
-[105/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_gcobject.cc.o -MF src/computation/libcomputation.a.p/machine_gcobject.cc.o.d -o src/computation/libcomputation.a.p/machine_gcobject.cc.o -c ../src/computation/machine/gcobject.cc
+[20/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/io.cc.o -MF src/util/libutil.a.p/io.cc.o.d -o src/util/libutil.a.p/io.cc.o -c ../src/util/io.cc
+[21/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/graph.cc.o -MF src/util/libutil.a.p/graph.cc.o.d -o src/util/libutil.a.p/graph.cc.o -c ../src/util/graph.cc
+[22/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_tree-util.cc.o -MF src/libcommon.a.p/tree_tree-util.cc.o.d -o src/libcommon.a.p/tree_tree-util.cc.o -c ../src/tree/tree-util.cc
+[23/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/cmdline.cc.o -MF src/util/libutil.a.p/cmdline.cc.o.d -o src/util/libutil.a.p/cmdline.cc.o -c ../src/util/cmdline.cc
+[24/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/ptree.cc.o -MF src/util/libutil.a.p/ptree.cc.o.d -o src/util/libutil.a.p/ptree.cc.o -c ../src/util/ptree.cc
+[25/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_alignment-random.cc.o -MF src/libcommon.a.p/alignment_alignment-random.cc.o.d -o src/libcommon.a.p/alignment_alignment-random.cc.o -c ../src/alignment/alignment-random.cc
+[26/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_codons.cc.o -MF src/libcommon.a.p/sequence_codons.cc.o.d -o src/libcommon.a.p/sequence_codons.cc.o -c ../src/sequence/codons.cc
+[27/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_RNAEdits.cc.o -MF src/libcommon.a.p/sequence_RNAEdits.cc.o.d -o src/libcommon.a.p/sequence_RNAEdits.cc.o -c ../src/sequence/RNAEdits.cc
+[28/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_doublets.cc.o -MF src/libcommon.a.p/sequence_doublets.cc.o.d -o src/libcommon.a.p/sequence_doublets.cc.o -c ../src/sequence/doublets.cc
+[29/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_sequencetree.cc.o -MF src/libcommon.a.p/tree_sequencetree.cc.o.d -o src/libcommon.a.p/tree_sequencetree.cc.o -c ../src/tree/sequencetree.cc
+[30/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/text.cc.o -MF src/util/libutil.a.p/text.cc.o.d -o src/util/libutil.a.p/text.cc.o -c ../src/util/text.cc
+[31/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_sequence.cc.o -MF src/libcommon.a.p/sequence_sequence.cc.o.d -o src/libcommon.a.p/sequence_sequence.cc.o -c ../src/sequence/sequence.cc
+[32/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_sequence-format.cc.o -MF src/libcommon.a.p/sequence_sequence-format.cc.o.d -o src/libcommon.a.p/sequence_sequence-format.cc.o -c ../src/sequence/sequence-format.cc
+[33/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_statistics.cc.o -MF src/libcommon.a.p/tools_statistics.cc.o.d -o src/libcommon.a.p/tools_statistics.cc.o -c ../src/tools/statistics.cc
+[34/379] c++ -Isrc/util/libutil.a.p -Isrc/util -I../src/util -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/util/libutil.a.p/string_split.cc.o -MF src/util/libutil.a.p/string_split.cc.o.d -o src/util/libutil.a.p/string_split.cc.o -c ../src/util/string/split.cc
+[35/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_alphabet.cc.o -MF src/libcommon.a.p/sequence_alphabet.cc.o.d -o src/libcommon.a.p/sequence_alphabet.cc.o -c ../src/sequence/alphabet.cc
+[36/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_triplets.cc.o -MF src/libcommon.a.p/sequence_triplets.cc.o.d -o src/libcommon.a.p/sequence_triplets.cc.o -c ../src/sequence/triplets.cc
+[37/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree-align_link.cc.o -MF src/libcommon.a.p/tree-align_link.cc.o.d -o src/libcommon.a.p/tree-align_link.cc.o -c ../src/tree-align/link.cc
+[38/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/sequence_genetic_code.cc.o -MF src/libcommon.a.p/sequence_genetic_code.cc.o.d -o src/libcommon.a.p/sequence_genetic_code.cc.o -c ../src/sequence/genetic_code.cc
+[39/379] c++ -Isrc/mcon/libmcon.a.p -Isrc/mcon -I../src/mcon -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/mcon/libmcon.a.p/mcon.cc.o -MF src/mcon/libmcon.a.p/mcon.cc.o.d -o src/mcon/libmcon.a.p/mcon.cc.o -c ../src/mcon/mcon.cc
+[40/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_findroot.cc.o -MF src/libcommon.a.p/tools_findroot.cc.o.d -o src/libcommon.a.p/tools_findroot.cc.o -c ../src/tools/findroot.cc
+[41/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_parsimony.cc.o -MF src/libcommon.a.p/tools_parsimony.cc.o.d -o src/libcommon.a.p/tools_parsimony.cc.o -c ../src/tools/parsimony.cc
+[42/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_optimize.cc.o -MF src/libcommon.a.p/tools_optimize.cc.o.d -o src/libcommon.a.p/tools_optimize.cc.o -c ../src/tools/optimize.cc
+[43/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_load.cc.o -MF src/libcommon.a.p/alignment_load.cc.o.d -o src/libcommon.a.p/alignment_load.cc.o -c ../src/alignment/load.cc
+[44/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tree_tree.cc.o -MF src/libcommon.a.p/tree_tree.cc.o.d -o src/libcommon.a.p/tree_tree.cc.o -c ../src/tree/tree.cc
+[45/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/models_path.cc.o -MF src/libcommon.a.p/models_path.cc.o.d -o src/libcommon.a.p/models_path.cc.o -c ../src/models/path.cc
+[46/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_read-trees.cc.o -MF src/libcommon.a.p/tools_read-trees.cc.o.d -o src/libcommon.a.p/tools_read-trees.cc.o -c ../src/tools/read-trees.cc
+[47/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_alignment-util.cc.o -MF src/libcommon.a.p/alignment_alignment-util.cc.o.d -o src/libcommon.a.p/alignment_alignment-util.cc.o -c ../src/alignment/alignment-util.cc
+[48/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_distance-report.cc.o -MF src/libcommon.a.p/tools_distance-report.cc.o.d -o src/libcommon.a.p/tools_distance-report.cc.o -c ../src/tools/distance-report.cc
+[49/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_distance-methods.cc.o -MF src/libcommon.a.p/tools_distance-methods.cc.o.d -o src/libcommon.a.p/tools_distance-methods.cc.o -c ../src/tools/distance-methods.cc
+[50/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_index-matrix.cc.o -MF src/libcommon.a.p/alignment_index-matrix.cc.o.d -o src/libcommon.a.p/alignment_index-matrix.cc.o -c ../src/alignment/index-matrix.cc
+[51/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/alignment_alignment.cc.o -MF src/libcommon.a.p/alignment_alignment.cc.o.d -o src/libcommon.a.p/alignment_alignment.cc.o -c ../src/alignment/alignment.cc
+[52/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/object.cc.o -MF src/computation/libcomputation.a.p/object.cc.o.d -o src/computation/libcomputation.a.p/object.cc.o -c ../src/computation/object.cc
+[53/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_tree-dist.cc.o -MF src/libcommon.a.p/tools_tree-dist.cc.o.d -o src/libcommon.a.p/tools_tree-dist.cc.o -c ../src/tools/tree-dist.cc
+[54/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_partition.cc.o -MF src/libcommon.a.p/tools_partition.cc.o.d -o src/libcommon.a.p/tools_partition.cc.o -c ../src/tools/partition.cc
+[55/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_consensus-tree.cc.o -MF src/libcommon.a.p/tools_consensus-tree.cc.o.d -o src/libcommon.a.p/tools_consensus-tree.cc.o -c ../src/tools/consensus-tree.cc
+[56/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/closure.cc.o -MF src/computation/libcomputation.a.p/closure.cc.o.d -o src/computation/libcomputation.a.p/closure.cc.o -c ../src/computation/closure.cc
+[57/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_mctree.cc.o -MF src/libcommon.a.p/tools_mctree.cc.o.d -o src/libcommon.a.p/tools_mctree.cc.o -c ../src/tools/mctree.cc
+[58/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/instance_info.cc.o -MF src/computation/libcomputation.a.p/instance_info.cc.o.d -o src/computation/libcomputation.a.p/instance_info.cc.o -c ../src/computation/instance_info.cc
+[59/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/symbols.cc.o -MF src/computation/libcomputation.a.p/symbols.cc.o.d -o src/computation/libcomputation.a.p/symbols.cc.o -c ../src/computation/symbols.cc
+[60/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/message.cc.o -MF src/computation/libcomputation.a.p/message.cc.o.d -o src/computation/libcomputation.a.p/message.cc.o -c ../src/computation/message.cc
+[61/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_stats-table.cc.o -MF src/libcommon.a.p/tools_stats-table.cc.o.d -o src/libcommon.a.p/tools_stats-table.cc.o -c ../src/tools/stats-table.cc
+[62/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_inverse.cc.o -MF src/libcommon.a.p/tools_inverse.cc.o.d -o src/libcommon.a.p/tools_inverse.cc.o -c ../src/tools/inverse.cc
+[63/379] c++ -Isrc/libcommon.a.p -Isrc -I../src -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libcommon.a.p/tools_joint-A-T.cc.o -MF src/libcommon.a.p/tools_joint-A-T.cc.o.d -o src/libcommon.a.p/tools_joint-A-T.cc.o -c ../src/tools/joint-A-T.cc
+[64/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/data_con_info.cc.o -MF src/computation/libcomputation.a.p/data_con_info.cc.o.d -o src/computation/libcomputation.a.p/data_con_info.cc.o -c ../src/computation/data_con_info.cc
+[65/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/fresh_vars.cc.o -MF src/computation/libcomputation.a.p/fresh_vars.cc.o.d -o src/computation/libcomputation.a.p/fresh_vars.cc.o -c ../src/computation/fresh_vars.cc
+[66/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/preprocess.cc.o -MF src/computation/libcomputation.a.p/preprocess.cc.o.d -o src/computation/libcomputation.a.p/preprocess.cc.o -c ../src/computation/preprocess.cc
+[67/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/operations.cc.o -MF src/computation/libcomputation.a.p/operations.cc.o.d -o src/computation/libcomputation.a.p/operations.cc.o -c ../src/computation/operations.cc
+[68/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/param.cc.o -MF src/computation/libcomputation.a.p/param.cc.o.d -o src/computation/libcomputation.a.p/param.cc.o -c ../src/computation/param.cc
+[69/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/context.cc.o -MF src/computation/libcomputation.a.p/context.cc.o.d -o src/computation/libcomputation.a.p/context.cc.o -c ../src/computation/context.cc
+[70/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/parser_driver.cc.o -MF src/computation/libcomputation.a.p/parser_driver.cc.o.d -o src/computation/libcomputation.a.p/parser_driver.cc.o -c ../src/computation/parser/driver.cc
+[71/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/parser_lexer.cc.o -MF src/computation/libcomputation.a.p/parser_lexer.cc.o.d -o src/computation/libcomputation.a.p/parser_lexer.cc.o -c ../src/computation/parser/lexer.cc
+[72/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_stmt.cc.o -MF src/computation/libcomputation.a.p/rename_stmt.cc.o.d -o src/computation/libcomputation.a.p/rename_stmt.cc.o -c ../src/computation/rename/stmt.cc
+[73/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_pattern.cc.o -MF src/computation/libcomputation.a.p/rename_pattern.cc.o.d -o src/computation/libcomputation.a.p/rename_pattern.cc.o -c ../src/computation/rename/pattern.cc
+[74/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_infix.cc.o -MF src/computation/libcomputation.a.p/rename_infix.cc.o.d -o src/computation/libcomputation.a.p/rename_infix.cc.o -c ../src/computation/rename/infix.cc
+[75/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_match.cc.o -MF src/computation/libcomputation.a.p/rename_match.cc.o.d -o src/computation/libcomputation.a.p/rename_match.cc.o -c ../src/computation/rename/match.cc
+[76/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/program.cc.o -MF src/computation/libcomputation.a.p/program.cc.o.d -o src/computation/libcomputation.a.p/program.cc.o -c ../src/computation/program.cc
+[77/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_expression.cc.o -MF src/computation/libcomputation.a.p/rename_expression.cc.o.d -o src/computation/libcomputation.a.p/rename_expression.cc.o -c ../src/computation/rename/expression.cc
+[78/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_var.cc.o -MF src/computation/libcomputation.a.p/haskell_var.cc.o.d -o src/computation/libcomputation.a.p/haskell_var.cc.o -c ../src/computation/haskell/var.cc
+[79/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_extensions.cc.o -MF src/computation/libcomputation.a.p/haskell_extensions.cc.o.d -o src/computation/libcomputation.a.p/haskell_extensions.cc.o -c ../src/computation/haskell/extensions.cc
+[80/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_rename.cc.o -MF src/computation/libcomputation.a.p/rename_rename.cc.o.d -o src/computation/libcomputation.a.p/rename_rename.cc.o -c ../src/computation/rename/rename.cc
+[81/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_constructor.cc.o -MF src/computation/libcomputation.a.p/expression_constructor.cc.o.d -o src/computation/libcomputation.a.p/expression_constructor.cc.o -c ../src/computation/expression/constructor.cc
+[82/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_types.cc.o -MF src/computation/libcomputation.a.p/rename_types.cc.o.d -o src/computation/libcomputation.a.p/rename_types.cc.o -c ../src/computation/rename/types.cc
+[83/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_decls.cc.o -MF src/computation/libcomputation.a.p/rename_decls.cc.o.d -o src/computation/libcomputation.a.p/rename_decls.cc.o -c ../src/computation/rename/decls.cc
+[84/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/loader.cc.o -MF src/computation/libcomputation.a.p/loader.cc.o.d -o src/computation/libcomputation.a.p/loader.cc.o -c ../src/computation/loader.cc
+[85/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_pattern.cc.o -MF src/computation/libcomputation.a.p/haskell_pattern.cc.o.d -o src/computation/libcomputation.a.p/haskell_pattern.cc.o -c ../src/computation/haskell/pattern.cc
+[86/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_ids.cc.o -MF src/computation/libcomputation.a.p/haskell_ids.cc.o.d -o src/computation/libcomputation.a.p/haskell_ids.cc.o -c ../src/computation/haskell/ids.cc
+[87/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_core.cc.o -MF src/computation/libcomputation.a.p/expression_core.cc.o.d -o src/computation/libcomputation.a.p/expression_core.cc.o -c ../src/computation/expression/core.cc
+[88/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_core.cc.o -MF src/computation/libcomputation.a.p/haskell_core.cc.o.d -o src/computation/libcomputation.a.p/haskell_core.cc.o -c ../src/computation/haskell/core.cc
+[89/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_apply.cc.o -MF src/computation/libcomputation.a.p/expression_apply.cc.o.d -o src/computation/libcomputation.a.p/expression_apply.cc.o -c ../src/computation/expression/apply.cc
+[90/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_type.cc.o -MF src/computation/libcomputation.a.p/haskell_type.cc.o.d -o src/computation/libcomputation.a.p/haskell_type.cc.o -c ../src/computation/haskell/type.cc
+[91/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/core_wrap.cc.o -MF src/computation/libcomputation.a.p/core_wrap.cc.o.d -o src/computation/libcomputation.a.p/core_wrap.cc.o -c ../src/computation/core/wrap.cc
+[92/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_haskell.cc.o -MF src/computation/libcomputation.a.p/haskell_haskell.cc.o.d -o src/computation/libcomputation.a.p/haskell_haskell.cc.o -c ../src/computation/haskell/haskell.cc
+[93/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_expression.cc.o -MF src/computation/libcomputation.a.p/expression_expression.cc.o.d -o src/computation/libcomputation.a.p/expression_expression.cc.o -c ../src/computation/expression/expression.cc
+[94/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_coretype.cc.o -MF src/computation/libcomputation.a.p/haskell_coretype.cc.o.d -o src/computation/libcomputation.a.p/haskell_coretype.cc.o -c ../src/computation/haskell/coretype.cc
+[95/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/desugar_desugar.cc.o -MF src/computation/libcomputation.a.p/desugar_desugar.cc.o.d -o src/computation/libcomputation.a.p/desugar_desugar.cc.o -c ../src/computation/desugar/desugar.cc
+[96/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_substitute.cc.o -MF src/computation/libcomputation.a.p/expression_substitute.cc.o.d -o src/computation/libcomputation.a.p/expression_substitute.cc.o -c ../src/computation/expression/substitute.cc
+[97/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/core_func.cc.o -MF src/computation/libcomputation.a.p/core_func.cc.o.d -o src/computation/libcomputation.a.p/core_func.cc.o -c ../src/computation/core/func.cc
+[98/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_reg_var.cc.o -MF src/computation/libcomputation.a.p/expression_reg_var.cc.o.d -o src/computation/libcomputation.a.p/expression_reg_var.cc.o -c ../src/computation/expression/reg_var.cc
+[99/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_literal.cc.o -MF src/computation/libcomputation.a.p/haskell_literal.cc.o.d -o src/computation/libcomputation.a.p/haskell_literal.cc.o -c ../src/computation/haskell/literal.cc
+[100/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_tuple.cc.o -MF src/computation/libcomputation.a.p/expression_tuple.cc.o.d -o src/computation/libcomputation.a.p/expression_tuple.cc.o -c ../src/computation/expression/tuple.cc
+[101/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/desugar_desugar-case.cc.o -MF src/computation/libcomputation.a.p/desugar_desugar-case.cc.o.d -o src/computation/libcomputation.a.p/desugar_desugar-case.cc.o -c ../src/computation/desugar/desugar-case.cc
+[102/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_trim.cc.o -MF src/computation/libcomputation.a.p/expression_trim.cc.o.d -o src/computation/libcomputation.a.p/expression_trim.cc.o -c ../src/computation/expression/trim.cc
+[103/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_case.cc.o -MF src/computation/libcomputation.a.p/expression_case.cc.o.d -o src/computation/libcomputation.a.p/expression_case.cc.o -c ../src/computation/expression/case.cc
+[104/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_var.cc.o -MF src/computation/libcomputation.a.p/expression_var.cc.o.d -o src/computation/libcomputation.a.p/expression_var.cc.o -c ../src/computation/expression/var.cc
+[105/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_indexify.cc.o -MF src/computation/libcomputation.a.p/expression_indexify.cc.o.d -o src/computation/libcomputation.a.p/expression_indexify.cc.o -c ../src/computation/expression/indexify.cc
+../src/computation/expression/indexify.cc: In function ‘expression_ref indexify(const Core2::Exp<>&, std::vector<Core2::Var<> >&)’:
+../src/computation/expression/indexify.cc:218:27: warning: unused variable ‘arg’ [-Wunused-variable]
+  218 |                 for(auto& arg: CP->args)
+      |                           ^~~
+[106/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_list.cc.o -MF src/computation/libcomputation.a.p/expression_list.cc.o.d -o src/computation/libcomputation.a.p/expression_list.cc.o -c ../src/computation/expression/list.cc
+[107/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_lambda.cc.o -MF src/computation/libcomputation.a.p/expression_lambda.cc.o.d -o src/computation/libcomputation.a.p/expression_lambda.cc.o -c ../src/computation/expression/lambda.cc
+[108/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_expression_ref.cc.o -MF src/computation/libcomputation.a.p/expression_expression_ref.cc.o.d -o src/computation/libcomputation.a.p/expression_expression_ref.cc.o -c ../src/computation/expression/expression_ref.cc
+[109/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_maybe.cc.o -MF src/computation/libcomputation.a.p/expression_maybe.cc.o.d -o src/computation/libcomputation.a.p/expression_maybe.cc.o -c ../src/computation/expression/maybe.cc
+[110/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_mapping.cc.o -MF src/computation/libcomputation.a.p/machine_mapping.cc.o.d -o src/computation/libcomputation.a.p/machine_mapping.cc.o -c ../src/computation/machine/mapping.cc
+[111/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_bool.cc.o -MF src/computation/libcomputation.a.p/expression_bool.cc.o.d -o src/computation/libcomputation.a.p/expression_bool.cc.o -c ../src/computation/expression/bool.cc
+[112/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_let.cc.o -MF src/computation/libcomputation.a.p/expression_let.cc.o.d -o src/computation/libcomputation.a.p/expression_let.cc.o -c ../src/computation/expression/let.cc
+[113/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_args.cc.o -MF src/computation/libcomputation.a.p/machine_args.cc.o.d -o src/computation/libcomputation.a.p/machine_args.cc.o -c ../src/computation/machine/args.cc
+[114/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_gcobject.cc.o -MF src/computation/libcomputation.a.p/machine_gcobject.cc.o.d -o src/computation/libcomputation.a.p/machine_gcobject.cc.o -c ../src/computation/machine/gcobject.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/machine/gcobject.H:5,
@@ -2422,36 +2471,354 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[106/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_indexify.cc.o -MF src/computation/libcomputation.a.p/expression_indexify.cc.o.d -o src/computation/libcomputation.a.p/expression_indexify.cc.o -c ../src/computation/expression/indexify.cc
-../src/computation/expression/indexify.cc: In function ‘expression_ref indexify(const Core2::Exp<>&, std::vector<Core2::Var<> >&)’:
-../src/computation/expression/indexify.cc:218:27: warning: unused variable ‘arg’ [-Wunused-variable]
-  218 |                 for(auto& arg: CP->args)
-      |                           ^~~
-[107/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_let.cc.o -MF src/computation/libcomputation.a.p/expression_let.cc.o.d -o src/computation/libcomputation.a.p/expression_let.cc.o -c ../src/computation/expression/let.cc
-[108/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_expression_ref.cc.o -MF src/computation/libcomputation.a.p/expression_expression_ref.cc.o.d -o src/computation/libcomputation.a.p/expression_expression_ref.cc.o -c ../src/computation/expression/expression_ref.cc
-[109/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/rename_decls.cc.o -MF src/computation/libcomputation.a.p/rename_decls.cc.o.d -o src/computation/libcomputation.a.p/rename_decls.cc.o -c ../src/computation/rename/decls.cc
-[110/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_literal.cc.o -MF src/computation/libcomputation.a.p/haskell_literal.cc.o.d -o src/computation/libcomputation.a.p/haskell_literal.cc.o -c ../src/computation/haskell/literal.cc
-[111/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_args.cc.o -MF src/computation/libcomputation.a.p/machine_args.cc.o.d -o src/computation/libcomputation.a.p/machine_args.cc.o -c ../src/computation/machine/args.cc
-[112/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_interchangeable.cc.o -MF src/computation/libcomputation.a.p/expression_interchangeable.cc.o.d -o src/computation/libcomputation.a.p/expression_interchangeable.cc.o -c ../src/computation/expression/interchangeable.cc
-[113/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_effects.cc.o -MF src/computation/libcomputation.a.p/machine_effects.cc.o.d -o src/computation/libcomputation.a.p/machine_effects.cc.o -c ../src/computation/machine/effects.cc
-[114/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_tokens.cc.o -MF src/computation/libcomputation.a.p/machine_tokens.cc.o.d -o src/computation/libcomputation.a.p/machine_tokens.cc.o -c ../src/computation/machine/tokens.cc
-[115/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_sums.cc.o -MF src/computation/libcomputation.a.p/machine_sums.cc.o.d -o src/computation/libcomputation.a.p/machine_sums.cc.o -c ../src/computation/machine/sums.cc
-[116/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/loader.cc.o -MF src/computation/libcomputation.a.p/loader.cc.o.d -o src/computation/libcomputation.a.p/loader.cc.o -c ../src/computation/loader.cc
-[117/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_gc.cc.o -MF src/computation/libcomputation.a.p/machine_gc.cc.o.d -o src/computation/libcomputation.a.p/machine_gc.cc.o -c ../src/computation/machine/gc.cc
-[118/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_do_block.cc.o -MF src/computation/libcomputation.a.p/expression_do_block.cc.o.d -o src/computation/libcomputation.a.p/expression_do_block.cc.o -c ../src/computation/expression/do_block.cc
-[119/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/desugar_desugar.cc.o -MF src/computation/libcomputation.a.p/desugar_desugar.cc.o.d -o src/computation/libcomputation.a.p/desugar_desugar.cc.o -c ../src/computation/desugar/desugar.cc
-[120/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_evaluate.cc.o -MF src/computation/libcomputation.a.p/machine_evaluate.cc.o.d -o src/computation/libcomputation.a.p/machine_evaluate.cc.o -c ../src/computation/machine/evaluate.cc
-[121/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o -MF src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o.d -o src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o -c ../src/computation/typecheck/alphabetize.cc
-[122/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_reroot.cc.o -MF src/computation/libcomputation.a.p/machine_reroot.cc.o.d -o src/computation/libcomputation.a.p/machine_reroot.cc.o -c ../src/computation/machine/reroot.cc
-[123/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_types.cc.o -MF src/computation/libcomputation.a.p/typecheck_types.cc.o.d -o src/computation/libcomputation.a.p/typecheck_types.cc.o -c ../src/computation/typecheck/types.cc
-[124/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/desugar_desugar-case.cc.o -MF src/computation/libcomputation.a.p/desugar_desugar-case.cc.o.d -o src/computation/libcomputation.a.p/desugar_desugar-case.cc.o -c ../src/computation/desugar/desugar-case.cc
-[125/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/haskell_haskell.cc.o -MF src/computation/libcomputation.a.p/haskell_haskell.cc.o.d -o src/computation/libcomputation.a.p/haskell_haskell.cc.o -c ../src/computation/haskell/haskell.cc
-[126/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-engine.cc.o -MF src/libbaliphy.a.p/dp_dp-engine.cc.o.d -o src/libbaliphy.a.p/dp_dp-engine.cc.o -c ../src/dp/dp-engine.cc
-[127/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_expected.cc.o -MF src/computation/libcomputation.a.p/typecheck_expected.cc.o.d -o src/computation/libcomputation.a.p/typecheck_expected.cc.o -c ../src/computation/typecheck/expected.cc
-[128/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp_hmm.cc.o -MF src/libbaliphy.a.p/dp_dp_hmm.cc.o.d -o src/libbaliphy.a.p/dp_dp_hmm.cc.o -c ../src/dp/dp_hmm.cc
-[129/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o -MF src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o.d -o src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o -c ../src/computation/optimization/occurrence_info.cc
-[130/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_context.cc.o -MF src/computation/libcomputation.a.p/typecheck_context.cc.o.d -o src/computation/libcomputation.a.p/typecheck_context.cc.o -c ../src/computation/typecheck/context.cc
-[131/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_kind.cc.o -MF src/computation/libcomputation.a.p/typecheck_kind.cc.o.d -o src/computation/libcomputation.a.p/typecheck_kind.cc.o -c ../src/computation/typecheck/kind.cc
+[115/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_interchangeable.cc.o -MF src/computation/libcomputation.a.p/expression_interchangeable.cc.o.d -o src/computation/libcomputation.a.p/expression_interchangeable.cc.o -c ../src/computation/expression/interchangeable.cc
+[116/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_modifiable.cc.o -MF src/computation/libcomputation.a.p/expression_modifiable.cc.o.d -o src/computation/libcomputation.a.p/expression_modifiable.cc.o -c ../src/computation/expression/modifiable.cc
+[117/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_do_block.cc.o -MF src/computation/libcomputation.a.p/expression_do_block.cc.o.d -o src/computation/libcomputation.a.p/expression_do_block.cc.o -c ../src/computation/expression/do_block.cc
+[118/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_tokens.cc.o -MF src/computation/libcomputation.a.p/machine_tokens.cc.o.d -o src/computation/libcomputation.a.p/machine_tokens.cc.o -c ../src/computation/machine/tokens.cc
+[119/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/parser_parser.cc.o -MF src/computation/libcomputation.a.p/parser_parser.cc.o.d -o src/computation/libcomputation.a.p/parser_parser.cc.o -c ../src/computation/parser/parser.cc
+[120/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_sums.cc.o -MF src/computation/libcomputation.a.p/machine_sums.cc.o.d -o src/computation/libcomputation.a.p/machine_sums.cc.o -c ../src/computation/machine/sums.cc
+[121/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_evaluate.cc.o -MF src/computation/libcomputation.a.p/machine_evaluate.cc.o.d -o src/computation/libcomputation.a.p/machine_evaluate.cc.o -c ../src/computation/machine/evaluate.cc
+[122/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_effects.cc.o -MF src/computation/libcomputation.a.p/machine_effects.cc.o.d -o src/computation/libcomputation.a.p/machine_effects.cc.o -c ../src/computation/machine/effects.cc
+[123/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_gc.cc.o -MF src/computation/libcomputation.a.p/machine_gc.cc.o.d -o src/computation/libcomputation.a.p/machine_gc.cc.o -c ../src/computation/machine/gc.cc
+[124/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_reroot.cc.o -MF src/computation/libcomputation.a.p/machine_reroot.cc.o.d -o src/computation/libcomputation.a.p/machine_reroot.cc.o -c ../src/computation/machine/reroot.cc
+[125/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_show_graph.cc.o -MF src/computation/libcomputation.a.p/machine_show_graph.cc.o.d -o src/computation/libcomputation.a.p/machine_show_graph.cc.o -c ../src/computation/machine/show_graph.cc
+[126/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_types.cc.o -MF src/computation/libcomputation.a.p/typecheck_types.cc.o.d -o src/computation/libcomputation.a.p/typecheck_types.cc.o -c ../src/computation/typecheck/types.cc
+[127/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_convert.cc.o -MF src/computation/libcomputation.a.p/expression_convert.cc.o.d -o src/computation/libcomputation.a.p/expression_convert.cc.o -c ../src/computation/expression/convert.cc
+[128/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_substitution.cc.o -MF src/computation/libcomputation.a.p/typecheck_substitution.cc.o.d -o src/computation/libcomputation.a.p/typecheck_substitution.cc.o -c ../src/computation/typecheck/substitution.cc
+In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
+                 from ../external/immer/immer/map.hpp:12,
+                 from ../src/computation/typecheck/substitution.H:7,
+                 from ../src/computation/typecheck/substitution.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/detail/hamts/node.hpp:256:45: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  256 |                 p->impl.d.data.inner.values =
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
+  257 |                     new (heap::allocate(sizeof_values_n(nv))) values_t{};
+      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/detail/hamts/node.hpp:295:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  295 |         p->impl.d.data.inner.datamap =
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
+  296 |             (bitmap_t{1u} << idx1) | (bitmap_t{1u} << idx2);
+      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
+    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[129/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o -MF src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o.d -o src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o -c ../src/computation/typecheck/alphabetize.cc
+[130/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_kind.cc.o -MF src/computation/libcomputation.a.p/typecheck_kind.cc.o.d -o src/computation/libcomputation.a.p/typecheck_kind.cc.o -c ../src/computation/typecheck/kind.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/typecheck/substitution.H:7,
@@ -2791,367 +3158,119 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[132/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-array.cc.o -MF src/libbaliphy.a.p/dp_dp-array.cc.o.d -o src/libbaliphy.a.p/dp_dp-array.cc.o -c ../src/dp/dp-array.cc
-[133/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_substitution.cc.o -MF src/computation/libcomputation.a.p/typecheck_substitution.cc.o.d -o src/computation/libcomputation.a.p/typecheck_substitution.cc.o -c ../src/computation/typecheck/substitution.cc
+[131/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/module.cc.o -MF src/computation/libcomputation.a.p/module.cc.o.d -o src/computation/libcomputation.a.p/module.cc.o -c ../src/computation/module.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/substitution.H:7,
-                 from ../src/computation/typecheck/substitution.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+                 from ../src/computation/machine/gcobject.H:5,
+                 from ../src/computation/machine/effect.H:3,
+                 from ../src/computation/machine/effects.H:3,
+                 from ../src/computation/machine/graph_register.H:22,
+                 from ../src/computation/module.cc:18:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In file included from ../external/immer/immer/memory_policy.hpp:11,
                  from ../external/immer/immer/map.hpp:14:
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/detail/hamts/node.hpp:256:45: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  256 |                 p->impl.d.data.inner.values =
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
-  257 |                     new (heap::allocate(sizeof_values_n(nv))) values_t{};
-      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
-../external/immer/immer/detail/hamts/node.hpp:295:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  295 |         p->impl.d.data.inner.datamap =
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
-  296 |             (bitmap_t{1u} << idx1) | (bitmap_t{1u} << idx2);
-      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:253:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, T, immer::detail::hamts::count_t, T) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:294:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:999:36:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:360:12:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:359:23:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<TypeVar, Type>::map(immer::map<TypeVar, Type>&&)’ at ../external/immer/immer/map.hpp:67:7,
-    inlined from ‘substitution_t compose(substitution_t, substitution_t)’ at ../src/computation/typecheck/substitution.cc:355:28:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-[134/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_match.cc.o -MF src/computation/libcomputation.a.p/typecheck_match.cc.o.d -o src/computation/libcomputation.a.p/typecheck_match.cc.o -c ../src/computation/typecheck/match.cc
-In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/typecheck.H:8,
-                 from ../src/computation/typecheck/match.cc:1:
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
 ../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
 ../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
@@ -3159,15 +3278,19 @@
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
 ../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
@@ -3175,15 +3298,14 @@
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[135/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/expression_convert.cc.o -MF src/computation/libcomputation.a.p/expression_convert.cc.o.d -o src/computation/libcomputation.a.p/expression_convert.cc.o -c ../src/computation/expression/convert.cc
-[136/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-cube.cc.o -MF src/libbaliphy.a.p/dp_dp-cube.cc.o.d -o src/libbaliphy.a.p/dp_dp-cube.cc.o -c ../src/dp/dp-cube.cc
-[137/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_default.cc.o -MF src/computation/libcomputation.a.p/typecheck_default.cc.o.d -o src/computation/libcomputation.a.p/typecheck_default.cc.o -c ../src/computation/typecheck/default.cc
-[138/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_env.cc.o -MF src/computation/libcomputation.a.p/typecheck_env.cc.o.d -o src/computation/libcomputation.a.p/typecheck_env.cc.o -c ../src/computation/typecheck/env.cc
+[132/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_env.cc.o -MF src/computation/libcomputation.a.p/typecheck_env.cc.o.d -o src/computation/libcomputation.a.p/typecheck_env.cc.o -c ../src/computation/typecheck/env.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/set.hpp:11,
                  from ../src/computation/typecheck/env.H:7,
@@ -3948,13 +4070,570 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[139/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-matrix.cc.o -MF src/libbaliphy.a.p/dp_dp-matrix.cc.o.d -o src/libbaliphy.a.p/dp_dp-matrix.cc.o -c ../src/dp/dp-matrix.cc
-[140/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_show_graph.cc.o -MF src/computation/libcomputation.a.p/machine_show_graph.cc.o.d -o src/computation/libcomputation.a.p/machine_show_graph.cc.o -c ../src/computation/machine/show_graph.cc
-[141/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o -MF src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o.d -o src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o -c ../src/computation/typecheck/solver/rewrite.cc
-[142/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_expression.cc.o -MF src/computation/libcomputation.a.p/typecheck_expression.cc.o.d -o src/computation/libcomputation.a.p/typecheck_expression.cc.o -c ../src/computation/typecheck/expression.cc
-[143/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_type_groups.cc.o -MF src/computation/libcomputation.a.p/typecheck_type_groups.cc.o.d -o src/computation/libcomputation.a.p/typecheck_type_groups.cc.o -c ../src/computation/typecheck/type_groups.cc
-[144/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_tidy.cc.o -MF src/computation/libcomputation.a.p/typecheck_tidy.cc.o.d -o src/computation/libcomputation.a.p/typecheck_tidy.cc.o -c ../src/computation/typecheck/tidy.cc
-[145/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_quals.cc.o -MF src/computation/libcomputation.a.p/typecheck_quals.cc.o.d -o src/computation/libcomputation.a.p/typecheck_quals.cc.o -c ../src/computation/typecheck/quals.cc
+[133/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_graph_register.cc.o -MF src/computation/libcomputation.a.p/machine_graph_register.cc.o.d -o src/computation/libcomputation.a.p/machine_graph_register.cc.o -c ../src/computation/machine/graph_register.cc
+[134/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_match.cc.o -MF src/computation/libcomputation.a.p/typecheck_match.cc.o.d -o src/computation/libcomputation.a.p/typecheck_match.cc.o -c ../src/computation/typecheck/match.cc
+In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
+                 from ../external/immer/immer/map.hpp:12,
+                 from ../src/computation/typecheck/typecheck.H:8,
+                 from ../src/computation/typecheck/match.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcMatch(const Haskell::MatchContext&, Haskell::MRule&, const std::vector<Expected>&, const Expected&)’ at ../src/computation/typecheck/match.cc:57:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[135/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o -MF src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o.d -o src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o -c ../src/computation/typecheck/kindcheck.cc
+In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
+                 from ../external/immer/immer/map.hpp:12,
+                 from ../src/computation/typecheck/substitution.H:7,
+                 from ../src/computation/typecheck/kind.H:10,
+                 from ../src/computation/typecheck/kindcheck.H:9,
+                 from ../src/computation/typecheck/kindcheck.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[136/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_expected.cc.o -MF src/computation/libcomputation.a.p/typecheck_expected.cc.o.d -o src/computation/libcomputation.a.p/typecheck_expected.cc.o -c ../src/computation/typecheck/expected.cc
+[137/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_expression.cc.o -MF src/computation/libcomputation.a.p/typecheck_expression.cc.o.d -o src/computation/libcomputation.a.p/typecheck_expression.cc.o -c ../src/computation/typecheck/expression.cc
+[138/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_pattern.cc.o -MF src/computation/libcomputation.a.p/typecheck_pattern.cc.o.d -o src/computation/libcomputation.a.p/typecheck_pattern.cc.o -c ../src/computation/typecheck/pattern.cc
+In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
+                 from ../external/immer/immer/map.hpp:12,
+                 from ../src/computation/typecheck/typecheck.H:8,
+                 from ../src/computation/typecheck/pattern.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[139/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_quals.cc.o -MF src/computation/libcomputation.a.p/typecheck_quals.cc.o.d -o src/computation/libcomputation.a.p/typecheck_quals.cc.o -c ../src/computation/typecheck/quals.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/typecheck/typecheck.H:8,
@@ -4153,168 +4832,938 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[146/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o -MF src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o.d -o src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o -c ../src/computation/typecheck/kindcheck.cc
+[140/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_default.cc.o -MF src/computation/libcomputation.a.p/typecheck_default.cc.o.d -o src/computation/libcomputation.a.p/typecheck_default.cc.o -c ../src/computation/typecheck/default.cc
+[141/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_context.cc.o -MF src/computation/libcomputation.a.p/typecheck_context.cc.o.d -o src/computation/libcomputation.a.p/typecheck_context.cc.o -c ../src/computation/typecheck/context.cc
+[142/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_typecheck.cc.o -MF src/computation/libcomputation.a.p/typecheck_typecheck.cc.o.d -o src/computation/libcomputation.a.p/typecheck_typecheck.cc.o -c ../src/computation/typecheck/typecheck.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/substitution.H:7,
-                 from ../src/computation/typecheck/kind.H:10,
-                 from ../src/computation/typecheck/kindcheck.H:9,
-                 from ../src/computation/typecheck/kindcheck.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+                 from ../src/computation/typecheck/typecheck.H:8,
+                 from ../src/computation/typecheck/typecheck.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In file included from ../external/immer/immer/memory_policy.hpp:11,
                  from ../external/immer/immer/map.hpp:14:
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘kindchecker_state::kindchecker_state(TypeChecker&)’ at ../src/computation/typecheck/kindcheck.cc:654:40:
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
+    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
+    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
+    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
+    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
+    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
+    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
+    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = std::variant<TypeVar, MetaTypeVar>; T = Type; Hash = std::hash<std::variant<TypeVar, MetaTypeVar> >; Equal = std::equal_to<std::variant<TypeVar, MetaTypeVar> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void kindchecker_state::add_substitution(const KindVar&, const Kind&)’ at ../src/computation/typecheck/kindcheck.cc:78:47:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[147/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o -MF src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o.d -o src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o -c ../src/computation/typecheck/solver/canonicalize.cc
-[148/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_ops.cc.o -MF src/libbaliphy.a.p/substitution_ops.cc.o.d -o src/libbaliphy.a.p/substitution_ops.cc.o -c ../src/substitution/ops.cc
-[149/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_constraints.cc.o -MF src/computation/libcomputation.a.p/typecheck_constraints.cc.o.d -o src/computation/libcomputation.a.p/typecheck_constraints.cc.o -c ../src/computation/typecheck/constraints.cc
-[150/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_unify.cc.o -MF src/computation/libcomputation.a.p/typecheck_unify.cc.o.d -o src/computation/libcomputation.a.p/typecheck_unify.cc.o -c ../src/computation/typecheck/unify.cc
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[143/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_class.cc.o -MF src/computation/libcomputation.a.p/typecheck_class.cc.o.d -o src/computation/libcomputation.a.p/typecheck_class.cc.o -c ../src/computation/typecheck/class.cc
+In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
+                 from ../external/immer/immer/map.hpp:12,
+                 from ../src/computation/typecheck/typecheck.H:8,
+                 from ../src/computation/typecheck/class.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
+    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
+    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
+    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[144/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_constraints.cc.o -MF src/computation/libcomputation.a.p/typecheck_constraints.cc.o.d -o src/computation/libcomputation.a.p/typecheck_constraints.cc.o -c ../src/computation/typecheck/constraints.cc
+[145/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o -MF src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o.d -o src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o -c ../src/computation/optimization/occurrence_info.cc
+[146/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-engine.cc.o -MF src/libbaliphy.a.p/dp_dp-engine.cc.o.d -o src/libbaliphy.a.p/dp_dp-engine.cc.o -c ../src/dp/dp-engine.cc
+[147/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o -MF src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o.d -o src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o -c ../src/computation/typecheck/solver/rewrite.cc
+[148/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_type_groups.cc.o -MF src/computation/libcomputation.a.p/typecheck_type_groups.cc.o.d -o src/computation/libcomputation.a.p/typecheck_type_groups.cc.o -c ../src/computation/typecheck/type_groups.cc
+[149/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_solver.cc.o -MF src/computation/libcomputation.a.p/typecheck_solver.cc.o.d -o src/computation/libcomputation.a.p/typecheck_solver.cc.o -c ../src/computation/typecheck/solver.cc
+[150/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_instance.cc.o -MF src/computation/libcomputation.a.p/typecheck_instance.cc.o.d -o src/computation/libcomputation.a.p/typecheck_instance.cc.o -c ../src/computation/typecheck/instance.cc
+In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
+                 from ../external/immer/immer/map.hpp:12,
+                 from ../src/computation/typecheck/typecheck.H:8,
+                 from ../src/computation/typecheck/instance.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[151/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_unify.cc.o -MF src/computation/libcomputation.a.p/typecheck_unify.cc.o.d -o src/computation/libcomputation.a.p/typecheck_unify.cc.o -c ../src/computation/typecheck/unify.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/typecheck/typecheck.H:8,
@@ -4859,20 +6308,57 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[151/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_cache.cc.o -MF src/libbaliphy.a.p/substitution_cache.cc.o.d -o src/libbaliphy.a.p/substitution_cache.cc.o -c ../src/substitution/cache.cc
-[152/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/math_pow2.cc.o -MF src/libbaliphy.a.p/math_pow2.cc.o.d -o src/libbaliphy.a.p/math_pow2.cc.o -c ../src/math/pow2.cc
-[153/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_pattern.cc.o -MF src/computation/libcomputation.a.p/typecheck_pattern.cc.o.d -o src/computation/libcomputation.a.p/typecheck_pattern.cc.o -c ../src/computation/typecheck/pattern.cc
+[152/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o -MF src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o.d -o src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o -c ../src/computation/typecheck/solver/canonicalize.cc
+[153/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp_hmm.cc.o -MF src/libbaliphy.a.p/dp_dp_hmm.cc.o.d -o src/libbaliphy.a.p/dp_dp_hmm.cc.o -c ../src/dp/dp_hmm.cc
+[154/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_tidy.cc.o -MF src/computation/libcomputation.a.p/typecheck_tidy.cc.o.d -o src/computation/libcomputation.a.p/typecheck_tidy.cc.o -c ../src/computation/typecheck/tidy.cc
+[155/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_binds.cc.o -MF src/computation/libcomputation.a.p/typecheck_binds.cc.o.d -o src/computation/libcomputation.a.p/typecheck_binds.cc.o -c ../src/computation/typecheck/binds.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/typecheck/typecheck.H:8,
-                 from ../src/computation/typecheck/pattern.cc:1:
+                 from ../src/computation/typecheck/binds.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In file included from ../external/immer/immer/memory_policy.hpp:11,
+                 from ../external/immer/immer/map.hpp:14:
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
     inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
@@ -4904,6 +6390,42 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  234 |         p->impl.d.data.inner.nodemap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
@@ -4945,207 +6467,86 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
     inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:68:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LVar&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:69:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
 In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
@@ -5153,7 +6554,7 @@
     inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
 ../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
@@ -5164,7 +6565,7 @@
     inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
@@ -5173,7 +6574,7 @@
     inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
 ../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
@@ -5184,7 +6585,7 @@
     inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
@@ -5193,7 +6594,7 @@
     inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
 ../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
@@ -5204,14 +6605,16 @@
     inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
     inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void TypeChecker::tcPat(local_value_env&, Haskell::LPat&, const Expected&, const signature_env&, tc_action<immer::map<Haskell::Var, Type, std::hash<Haskell::Var>, std::equal_to<Haskell::Var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5>&>&)’ at ../src/computation/typecheck/pattern.cc:143:25:
+    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[154/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_3way.cc.o -MF src/libbaliphy.a.p/dp_3way.cc.o.d -o src/libbaliphy.a.p/dp_3way.cc.o -c ../src/dp/3way.cc
-[155/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/machine_graph_register.cc.o -MF src/computation/libcomputation.a.p/machine_graph_register.cc.o.d -o src/computation/libcomputation.a.p/machine_graph_register.cc.o -c ../src/computation/machine/graph_register.cc
-[156/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_inliner.cc.o -MF src/computation/libcomputation.a.p/optimization_inliner.cc.o.d -o src/computation/libcomputation.a.p/optimization_inliner.cc.o -c ../src/computation/optimization/inliner.cc
-[157/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_data.cc.o -MF src/computation/libcomputation.a.p/typecheck_data.cc.o.d -o src/computation/libcomputation.a.p/typecheck_data.cc.o -c ../src/computation/typecheck/data.cc
+[156/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-array.cc.o -MF src/libbaliphy.a.p/dp_dp-array.cc.o.d -o src/libbaliphy.a.p/dp_dp-array.cc.o -c ../src/dp/dp-array.cc
+[157/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-matrix.cc.o -MF src/libbaliphy.a.p/dp_dp-matrix.cc.o.d -o src/libbaliphy.a.p/dp_dp-matrix.cc.o -c ../src/dp/dp-matrix.cc
+[158/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_dp-cube.cc.o -MF src/libbaliphy.a.p/dp_dp-cube.cc.o.d -o src/libbaliphy.a.p/dp_dp-cube.cc.o -c ../src/dp/dp-cube.cc
+[159/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_inliner.cc.o -MF src/computation/libcomputation.a.p/optimization_inliner.cc.o.d -o src/computation/libcomputation.a.p/optimization_inliner.cc.o -c ../src/computation/optimization/inliner.cc
+[160/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_errors.cc.o -MF src/computation/libcomputation.a.p/typecheck_errors.cc.o.d -o src/computation/libcomputation.a.p/typecheck_errors.cc.o -c ../src/computation/typecheck/errors.cc
+[161/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_data.cc.o -MF src/computation/libcomputation.a.p/typecheck_data.cc.o.d -o src/computation/libcomputation.a.p/typecheck_data.cc.o -c ../src/computation/typecheck/data.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/typecheck/typecheck.H:8,
@@ -5634,220 +7037,277 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[158/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_hmm.cc.o -MF src/libbaliphy.a.p/dp_hmm.cc.o.d -o src/libbaliphy.a.p/dp_hmm.cc.o -c ../src/dp/hmm.cc
-[159/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_errors.cc.o -MF src/computation/libcomputation.a.p/typecheck_errors.cc.o.d -o src/computation/libcomputation.a.p/typecheck_errors.cc.o -c ../src/computation/typecheck/errors.cc
-[160/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_4way.cc.o -MF src/libbaliphy.a.p/dp_4way.cc.o.d -o src/libbaliphy.a.p/dp_4way.cc.o -c ../src/dp/4way.cc
-[161/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_result.cc.o -MF src/libbaliphy.a.p/mcmc_result.cc.o.d -o src/libbaliphy.a.p/mcmc_result.cc.o -c ../src/mcmc/result.cc
-[162/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_5way.cc.o -MF src/libbaliphy.a.p/dp_5way.cc.o.d -o src/libbaliphy.a.p/dp_5way.cc.o -c ../src/dp/5way.cc
-[163/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_float-out.cc.o -MF src/computation/libcomputation.a.p/optimization_float-out.cc.o.d -o src/computation/libcomputation.a.p/optimization_float-out.cc.o -c ../src/computation/optimization/float-out.cc
-[164/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_alignment-sums.cc.o -MF src/libbaliphy.a.p/dp_alignment-sums.cc.o.d -o src/libbaliphy.a.p/dp_alignment-sums.cc.o -c ../src/dp/alignment-sums.cc
-[165/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_class.cc.o -MF src/computation/libcomputation.a.p/typecheck_class.cc.o.d -o src/computation/libcomputation.a.p/typecheck_class.cc.o -c ../src/computation/typecheck/class.cc
+[162/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_free-vars.cc.o -MF src/computation/libcomputation.a.p/optimization_free-vars.cc.o.d -o src/computation/libcomputation.a.p/optimization_free-vars.cc.o -c ../src/computation/optimization/free-vars.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/typecheck.H:8,
-                 from ../src/computation/typecheck/class.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+                 from ../external/immer/immer/set.hpp:11,
+                 from ../src/computation/optimization/free-vars.H:6,
+                 from ../src/computation/optimization/free-vars.cc:1:
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
+                 from ../external/immer/immer/set.hpp:13:
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘void TypeChecker::get_type_families(const Haskell::Decls&)’ at ../src/computation/typecheck/class.cc:309:44:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
   271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
+    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
+../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   234 |         p->impl.d.data.inner.nodemap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
+    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
+    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   235 |         p->impl.d.data.inner.datamap = 0;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
+    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
+    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   236 |         p->impl.d.data.inner.values  = nullptr;
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
 In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
     inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘std::tuple<ClassInfo, Core2::Decls<std::monostate, std::monostate> > TypeChecker::infer_type_for_class(const Haskell::ClassDecl&)’ at ../src/computation/typecheck/class.cc:90:59:
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
+    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
+    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
+    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[166/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_solver.cc.o -MF src/computation/libcomputation.a.p/typecheck_solver.cc.o.d -o src/computation/libcomputation.a.p/typecheck_solver.cc.o -c ../src/computation/typecheck/solver.cc
-[167/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/parser_parser.cc.o -MF src/computation/libcomputation.a.p/parser_parser.cc.o.d -o src/computation/libcomputation.a.p/parser_parser.cc.o -c ../src/computation/parser/parser.cc
-[168/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/probability_choose.cc.o -MF src/libbaliphy.a.p/probability_choose.cc.o.d -o src/libbaliphy.a.p/probability_choose.cc.o -c ../src/probability/choose.cc
-[169/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o -MF src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o -c ../src/mcmc/sample-branch-lengths.cc
-../src/mcmc/sample-branch-lengths.cc: In function ‘void slice_sample_node_time(owned_ptr<context>&, MCMC::MoveStats&, int)’:
-../src/mcmc/sample-branch-lengths.cc:169:18: warning: unused variable ‘mu’ [-Wunused-variable]
-  169 |     const double mu = PP.branch_mean();
-      |                  ^~
-../src/mcmc/sample-branch-lengths.cc:178:12: warning: unused variable ‘T2’ [-Wunused-variable]
-  178 |     double T2 = slice_sample(T, logp, w, 50);
-      |            ^~
-../src/mcmc/sample-branch-lengths.cc:159:62: warning: unused parameter ‘Stats’ [-Wunused-parameter]
-  159 | void slice_sample_node_time(owned_ptr<context>& P,MoveStats& Stats,int n)
-      |                                                   ~~~~~~~~~~~^~~~~
-[170/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_set-levels.cc.o -MF src/computation/libcomputation.a.p/optimization_set-levels.cc.o.d -o src/computation/libcomputation.a.p/optimization_set-levels.cc.o -c ../src/computation/optimization/set-levels.cc
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  235 |         p->impl.d.data.inner.datamap = 0;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  236 |         p->impl.d.data.inner.values  = nullptr;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
+  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
+    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
+    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
+../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
+   28 |         return ::operator new(size);
+      |                ~~~~~~~~~~~~~~^~~~~~
+[163/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_hmm.cc.o -MF src/libbaliphy.a.p/dp_hmm.cc.o.d -o src/libbaliphy.a.p/dp_hmm.cc.o -c ../src/dp/hmm.cc
+[164/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_4way.cc.o -MF src/libbaliphy.a.p/dp_4way.cc.o.d -o src/libbaliphy.a.p/dp_4way.cc.o -c ../src/dp/4way.cc
+[165/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_float-out.cc.o -MF src/computation/libcomputation.a.p/optimization_float-out.cc.o.d -o src/computation/libcomputation.a.p/optimization_float-out.cc.o -c ../src/computation/optimization/float-out.cc
+[166/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_result.cc.o -MF src/libbaliphy.a.p/mcmc_result.cc.o.d -o src/libbaliphy.a.p/mcmc_result.cc.o -c ../src/mcmc/result.cc
+[167/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_3way.cc.o -MF src/libbaliphy.a.p/dp_3way.cc.o.d -o src/libbaliphy.a.p/dp_3way.cc.o -c ../src/dp/3way.cc
+[168/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_5way.cc.o -MF src/libbaliphy.a.p/dp_5way.cc.o.d -o src/libbaliphy.a.p/dp_5way.cc.o -c ../src/dp/5way.cc
+[169/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_alignment-sums.cc.o -MF src/libbaliphy.a.p/dp_alignment-sums.cc.o.d -o src/libbaliphy.a.p/dp_alignment-sums.cc.o -c ../src/dp/alignment-sums.cc
+[170/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_cache.cc.o -MF src/libbaliphy.a.p/substitution_cache.cc.o.d -o src/libbaliphy.a.p/substitution_cache.cc.o -c ../src/substitution/cache.cc
+[171/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_set-levels.cc.o -MF src/computation/libcomputation.a.p/optimization_set-levels.cc.o.d -o src/computation/libcomputation.a.p/optimization_set-levels.cc.o -c ../src/computation/optimization/set-levels.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/set.hpp:11,
                  from ../src/computation/optimization/free-vars.H:6,
@@ -6258,1336 +7718,25 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[171/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_driver.cc.o -MF src/libbaliphy.a.p/models_driver.cc.o.d -o src/libbaliphy.a.p/models_driver.cc.o -c ../src/models/driver.cc
-[172/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_instance.cc.o -MF src/computation/libcomputation.a.p/typecheck_instance.cc.o.d -o src/computation/libcomputation.a.p/typecheck_instance.cc.o -c ../src/computation/typecheck/instance.cc
-In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/typecheck.H:8,
-                 from ../src/computation/typecheck/instance.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-[173/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_lexer.cc.o -MF src/libbaliphy.a.p/models_lexer.cc.o.d -o src/libbaliphy.a.p/models_lexer.cc.o -c ../src/models/lexer.cc
-[174/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_free-vars.cc.o -MF src/computation/libcomputation.a.p/optimization_free-vars.cc.o.d -o src/computation/libcomputation.a.p/optimization_free-vars.cc.o -c ../src/computation/optimization/free-vars.cc
-In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/set.hpp:11,
-                 from ../src/computation/optimization/free-vars.H:6,
-                 from ../src/computation/optimization/free-vars.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/set.hpp:13:
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
-    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
-    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
-    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
-    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
-    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<var, std::hash<var>, std::equal_to<var>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B>::set(impl_t) [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:289:11,
-    inlined from ‘immer::set<T, Hash, Equal, MemoryPolicy, B> immer::set<T, Hash, Equal, MemoryPolicy, B>::erase(const T&) const & [with T = var; Hash = std::hash<var>; Equal = std::equal_to<var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/set.hpp:234:31,
-    inlined from ‘FreeVarSet erase(const FreeVarSet&, const std::vector<var>&)’ at ../src/computation/optimization/free-vars.cc:35:22:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged_e(edit_t, immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:1020:33:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<Core2::Var<>, std::hash<Core2::Var<> >, std::equal_to<Core2::Var<> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = Core2::Var<>; Hash = std::hash<Core2::Var<> >; Equal = std::equal_to<Core2::Var<> >; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-[175/379] rm -f src/mcon/libmcon.a && gcc-ar csrDT src/mcon/libmcon.a src/mcon/libmcon.a.p/mcon.cc.o
-[176/379] rm -f src/util/libutil.a && gcc-ar csrDT src/util/libutil.a src/util/libutil.a.p/assert.cc.o src/util/libutil.a.p/string_pred.cc.o src/util/libutil.a.p/string_sanitize.cc.o src/util/libutil.a.p/string_strip.cc.o src/util/libutil.a.p/string_split.cc.o src/util/libutil.a.p/log-level.cc.o src/util/libutil.a.p/io.cc.o src/util/libutil.a.p/graph.cc.o src/util/libutil.a.p/range.cc.o src/util/libutil.a.p/demangle.cc.o src/util/libutil.a.p/mapping.cc.o src/util/libutil.a.p/cmdline.cc.o src/util/libutil.a.p/rng.cc.o src/util/libutil.a.p/permute.cc.o src/util/libutil.a.p/file-paths.cc.o src/util/libutil.a.p/ptree.cc.o src/util/libutil.a.p/text.cc.o src/util/libutil.a.p/myexception.cc.o src/util/libutil.a.p/time.cc.o src/util/libutil.a.p/file-readers.cc.o src/util/libutil.a.p/settings.cc.o
-[177/379] rm -f src/libcommon.a && gcc-ar csrDT src/libcommon.a src/libcommon.a.p/tree_newick-tokenizer.cc.o src/libcommon.a.p/tree_sequencetree.cc.o src/libcommon.a.p/tree_tree.cc.o src/libcommon.a.p/tree_tree-util.cc.o src/libcommon.a.p/tree_randomtree.cc.o src/libcommon.a.p/tree-align_n_indels.cc.o src/libcommon.a.p/sequence_alphabet.cc.o src/libcommon.a.p/sequence_doublets.cc.o src/libcommon.a.p/sequence_RNAEdits.cc.o src/libcommon.a.p/sequence_triplets.cc.o src/libcommon.a.p/sequence_genetic_code.cc.o src/libcommon.a.p/sequence_codons.cc.o src/libcommon.a.p/sequence_sequence.cc.o src/libcommon.a.p/sequence_sequence-format.cc.o src/libcommon.a.p/tools_read-trees.cc.o src/libcommon.a.p/alignment_alignment-util.cc.o src/libcommon.a.p/alignment_load.cc.o src/libcommon.a.p/alignment_alignment.cc.o src/libcommon.a.p/alignment_alignment-random.cc.o src/libcommon.a.p/alignment_index-matrix.cc.o src/libcommon.a.p/tree-align_link.cc.o src/libcommon.a.p/models_path.cc.o src/libcommon.a.p/tools_statistics.cc.o src/libcommon.a.p/tools_partition.cc.o src/libcommon.a.p/tools_tree-dist.cc.o src/libcommon.a.p/tools_parsimony.cc.o src/libcommon.a.p/tools_mctree.cc.o src/libcommon.a.p/tools_stats-table.cc.o src/libcommon.a.p/tools_findroot.cc.o src/libcommon.a.p/tools_optimize.cc.o src/libcommon.a.p/tools_distance-report.cc.o src/libcommon.a.p/tools_inverse.cc.o src/libcommon.a.p/tools_joint-A-T.cc.o src/libcommon.a.p/tools_distance-methods.cc.o src/libcommon.a.p/tools_consensus-tree.cc.o
-[178/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_occurrence.cc.o -MF src/computation/libcomputation.a.p/optimization_occurrence.cc.o.d -o src/computation/libcomputation.a.p/optimization_occurrence.cc.o -c ../src/computation/optimization/occurrence.cc
-[179/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_slice-sampling.cc.o -MF src/libbaliphy.a.p/mcmc_slice-sampling.cc.o.d -o src/libbaliphy.a.p/mcmc_slice-sampling.cc.o -c ../src/mcmc/slice-sampling.cc
-[180/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-node.cc.o -MF src/libbaliphy.a.p/mcmc_sample-node.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-node.cc.o -c ../src/mcmc/sample-node.cc
-[181/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_moves.cc.o -MF src/libbaliphy.a.p/mcmc_moves.cc.o.d -o src/libbaliphy.a.p/mcmc_moves.cc.o -c ../src/mcmc/moves.cc
-[182/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_2way.cc.o -MF src/libbaliphy.a.p/dp_2way.cc.o.d -o src/libbaliphy.a.p/dp_2way.cc.o -c ../src/dp/2way.cc
-[183/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_binds.cc.o -MF src/computation/libcomputation.a.p/typecheck_binds.cc.o.d -o src/computation/libcomputation.a.p/typecheck_binds.cc.o -c ../src/computation/typecheck/binds.cc
-In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/typecheck.H:8,
-                 from ../src/computation/typecheck/binds.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘Haskell::BindInfo TypeChecker::compute_bind_info(const Haskell::Var&, const Haskell::Var&, const std::set<TypeVar>&, const Type&, const signature_env&, const LIE&)’ at ../src/computation/typecheck/binds.cc:668:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-[184/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-alignment.cc.o -MF src/libbaliphy.a.p/mcmc_sample-alignment.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-alignment.cc.o -c ../src/mcmc/sample-alignment.cc
-[185/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/typecheck_typecheck.cc.o -MF src/computation/libcomputation.a.p/typecheck_typecheck.cc.o.d -o src/computation/libcomputation.a.p/typecheck_typecheck.cc.o -c ../src/computation/typecheck/typecheck.cc
-In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/typecheck/typecheck.H:8,
-                 from ../src/computation/typecheck/typecheck.cc:1:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<std::variant<TypeVar, MetaTypeVar>, Type>, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key, immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<std::variant<TypeVar, MetaTypeVar>, Type>; Hash = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::hash_key; Equal = immer::map<std::variant<TypeVar, MetaTypeVar>, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_match(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:952:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, TypeVar>, immer::map<TypeVar, TypeVar>::hash_key, immer::map<TypeVar, TypeVar>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, TypeVar>; Hash = immer::map<TypeVar, TypeVar>::hash_key; Equal = immer::map<TypeVar, TypeVar>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = TypeVar; T = TypeVar; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr unification_env::unification_env()’ at ../src/computation/typecheck/typecheck.H:23:8,
-    inlined from ‘std::optional<immer::map<std::variant<TypeVar, MetaTypeVar>, Type> > TypeChecker::maybe_unify(const Type&, const Type&) const’ at ../src/computation/typecheck/typecheck.cc:942:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
-    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
-    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
-    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
-    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
-    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key, immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, std::pair<Haskell::Var, Type> >; Hash = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::hash_key; Equal = immer::map<Haskell::Var, std::pair<Haskell::Var, Type> >::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘constexpr immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map() [with K = Haskell::Var; T = std::pair<Haskell::Var, Type>; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:198:5,
-    inlined from ‘constexpr TypeCheckerContext::TypeCheckerContext()’ at ../src/computation/typecheck/context.H:54:5,
-    inlined from ‘TypeChecker::TypeChecker(FreshVarState&, const std::string&, Module&)’ at ../src/computation/typecheck/typecheck.cc:844:46:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘value_env add_constraints(const std::vector<Type>&, const value_env&)’ at ../src/computation/typecheck/typecheck.cc:1027:27:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::get_subst_for_tv_binders(const std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1167:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<TypeVar, Type>, immer::map<TypeVar, Type>::hash_key, immer::map<TypeVar, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<TypeVar, Type>; Hash = immer::map<TypeVar, Type>::hash_key; Equal = immer::map<TypeVar, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = TypeVar; T = Type; Hash = std::hash<TypeVar>; Equal = std::equal_to<TypeVar>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘substitution_t TypeChecker::fresh_tv_binders(std::vector<TypeVar>&)’ at ../src/computation/typecheck/typecheck.cc:1178:21:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-[186/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/system.cc.o -MF src/bali-phy/bali-phy.p/system.cc.o.d -o src/bali-phy/bali-phy.p/system.cc.o -c ../src/bali-phy/system.cc
-[187/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-A4.cc.o -MF src/libbaliphy.a.p/mcmc_sample-A4.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-A4.cc.o -c ../src/mcmc/sample-A4.cc
-[188/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o -MF src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o -c ../src/mcmc/sample-topology-NNI.cc
-../src/mcmc/sample-topology-NNI.cc: In function ‘void three_way_time_tree_NNI_sample(owned_ptr<context>&, MCMC::MoveStats&, int)’:
-../src/mcmc/sample-topology-NNI.cc:807:9: warning: unused variable ‘x’ [-Wunused-variable]
-  807 |     int x = T.source(b);
-      |         ^
-../src/mcmc/sample-topology-NNI.cc: In function ‘void three_way_topology_and_A3_2D_sample(owned_ptr<context>&, MCMC::MoveStats&, int, std::optional<int>)’:
-../src/mcmc/sample-topology-NNI.cc:918:109: warning: unused parameter ‘bandwidth’ [-Wunused-parameter]
-  918 | void three_way_topology_and_A3_2D_sample(owned_ptr<context>& P, MoveStats& Stats, int b, std::optional<int> bandwidth)
-      |                                                                                          ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-[189/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/version.cc.o -MF src/libbaliphy.a.p/version.cc.o.d -o src/libbaliphy.a.p/version.cc.o -c ../src/version.cc
-../src/version.cc:67:8: warning: macro "__DATE__" might prevent reproducible builds [-Wdate-time]
-   67 |     s<<__DATE__<<" "<<__TIME__;
-      |        ^~~~~~~~
-../src/version.cc:67:23: warning: macro "__TIME__" might prevent reproducible builds [-Wdate-time]
-   67 |     s<<__DATE__<<" "<<__TIME__;
-      |                       ^~~~~~~~
-[190/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-cube.cc.o -MF src/libbaliphy.a.p/mcmc_sample-cube.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-cube.cc.o -c ../src/mcmc/sample-cube.cc
-[191/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-A5.cc.o -MF src/libbaliphy.a.p/mcmc_sample-A5.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-A5.cc.o -c ../src/mcmc/sample-A5.cc
-[192/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o -MF src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o -c ../src/mcmc/sample-A5-2D.cc
-[193/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_logger.cc.o -MF src/libbaliphy.a.p/models_logger.cc.o.d -o src/libbaliphy.a.p/models_logger.cc.o -c ../src/models/logger.cc
-[194/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_parsimony.cc.o -MF src/libbaliphy.a.p/substitution_parsimony.cc.o.d -o src/libbaliphy.a.p/substitution_parsimony.cc.o -c ../src/substitution/parsimony.cc
-[195/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/alignment_alignment-constraint.cc.o -MF src/libbaliphy.a.p/alignment_alignment-constraint.cc.o.d -o src/libbaliphy.a.p/alignment_alignment-constraint.cc.o -c ../src/alignment/alignment-constraint.cc
-[196/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-tri.cc.o -MF src/libbaliphy.a.p/mcmc_sample-tri.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-tri.cc.o -c ../src/mcmc/sample-tri.cc
-[197/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/probability_probability.cc.o -MF src/libbaliphy.a.p/probability_probability.cc.o.d -o src/libbaliphy.a.p/probability_probability.cc.o -c ../src/probability/probability.cc
-[198/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/paths.cc.o -MF src/bali-phy/bali-phy.p/paths.cc.o.d -o src/bali-phy/bali-phy.p/paths.cc.o -c ../src/bali-phy/paths.cc
-[199/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_simplifier.cc.o -MF src/computation/libcomputation.a.p/optimization_simplifier.cc.o.d -o src/computation/libcomputation.a.p/optimization_simplifier.cc.o -c ../src/computation/optimization/simplifier.cc
+[172/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_ops.cc.o -MF src/libbaliphy.a.p/substitution_ops.cc.o.d -o src/libbaliphy.a.p/substitution_ops.cc.o -c ../src/substitution/ops.cc
+[173/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/math_pow2.cc.o -MF src/libbaliphy.a.p/math_pow2.cc.o.d -o src/libbaliphy.a.p/math_pow2.cc.o -c ../src/math/pow2.cc
+[174/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_occurrence.cc.o -MF src/computation/libcomputation.a.p/optimization_occurrence.cc.o.d -o src/computation/libcomputation.a.p/optimization_occurrence.cc.o -c ../src/computation/optimization/occurrence.cc
+[175/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_slice-sampling.cc.o -MF src/libbaliphy.a.p/mcmc_slice-sampling.cc.o.d -o src/libbaliphy.a.p/mcmc_slice-sampling.cc.o -c ../src/mcmc/slice-sampling.cc
+[176/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_moves.cc.o -MF src/libbaliphy.a.p/mcmc_moves.cc.o.d -o src/libbaliphy.a.p/mcmc_moves.cc.o -c ../src/mcmc/moves.cc
+[177/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o -MF src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o -c ../src/mcmc/sample-branch-lengths.cc
+../src/mcmc/sample-branch-lengths.cc: In function ‘void slice_sample_node_time(owned_ptr<context>&, MCMC::MoveStats&, int)’:
+../src/mcmc/sample-branch-lengths.cc:169:18: warning: unused variable ‘mu’ [-Wunused-variable]
+  169 |     const double mu = PP.branch_mean();
+      |                  ^~
+../src/mcmc/sample-branch-lengths.cc:178:12: warning: unused variable ‘T2’ [-Wunused-variable]
+  178 |     double T2 = slice_sample(T, logp, w, 50);
+      |            ^~
+../src/mcmc/sample-branch-lengths.cc:159:62: warning: unused parameter ‘Stats’ [-Wunused-parameter]
+  159 | void slice_sample_node_time(owned_ptr<context>& P,MoveStats& Stats,int n)
+      |                                                   ~~~~~~~~~~~^~~~~
+[178/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/dp_2way.cc.o -MF src/libbaliphy.a.p/dp_2way.cc.o.d -o src/libbaliphy.a.p/dp_2way.cc.o -c ../src/dp/2way.cc
+[179/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-alignment.cc.o -MF src/libbaliphy.a.p/mcmc_sample-alignment.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-alignment.cc.o -c ../src/mcmc/sample-alignment.cc
+[180/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/optimization_simplifier.cc.o -MF src/computation/libcomputation.a.p/optimization_simplifier.cc.o.d -o src/computation/libcomputation.a.p/optimization_simplifier.cc.o -c ../src/computation/optimization/simplifier.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/optimization/simplifier.H:10,
@@ -7748,27 +7897,36 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[200/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_parser.cc.o -MF src/libbaliphy.a.p/models_parser.cc.o.d -o src/libbaliphy.a.p/models_parser.cc.o -c ../src/models/parser.cc
-[201/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/tree-align_link2.cc.o -MF src/libbaliphy.a.p/tree-align_link2.cc.o.d -o src/libbaliphy.a.p/tree-align_link2.cc.o -c ../src/tree-align/link2.cc
-[202/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_likelihood.cc.o -MF src/libbaliphy.a.p/substitution_likelihood.cc.o.d -o src/libbaliphy.a.p/substitution_likelihood.cc.o -c ../src/substitution/likelihood.cc
-[203/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_parse.cc.o -MF src/libbaliphy.a.p/models_parse.cc.o.d -o src/libbaliphy.a.p/models_parse.cc.o -c ../src/models/parse.cc
-[204/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o -MF src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o -c ../src/mcmc/sample-topology-SPR.cc
-[205/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/tree-align_n_indels2.cc.o -MF src/libbaliphy.a.p/tree-align_n_indels2.cc.o.d -o src/libbaliphy.a.p/tree-align_n_indels2.cc.o -c ../src/tree-align/n_indels2.cc
-[206/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/alignment_alignment-util2.cc.o -MF src/libbaliphy.a.p/alignment_alignment-util2.cc.o.d -o src/libbaliphy.a.p/alignment_alignment-util2.cc.o -c ../src/alignment/alignment-util2.cc
-[207/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_parameters.cc.o -MF src/libbaliphy.a.p/models_parameters.cc.o.d -o src/libbaliphy.a.p/models_parameters.cc.o -c ../src/models/parameters.cc
-[208/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_typecheck.cc.o -MF src/libbaliphy.a.p/models_typecheck.cc.o.d -o src/libbaliphy.a.p/models_typecheck.cc.o -c ../src/models/typecheck.cc
-[209/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/tools_parsimony2.cc.o -MF src/libbaliphy.a.p/tools_parsimony2.cc.o.d -o src/libbaliphy.a.p/tools_parsimony2.cc.o -c ../src/tools/parsimony2.cc
-[210/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_rules.cc.o -MF src/libbaliphy.a.p/models_rules.cc.o.d -o src/libbaliphy.a.p/models_rules.cc.o -c ../src/models/rules.cc
-[211/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o -MF src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o.d -o src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o -c ../src/substitution/likelihoodSEV.cc
-[212/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/imodel_imodel.cc.o -MF src/libbaliphy.a.p/imodel_imodel.cc.o.d -o src/libbaliphy.a.p/imodel_imodel.cc.o -c ../src/imodel/imodel.cc
-../src/imodel/imodel.cc: In member function ‘virtual indel::PairTransducer FS_Transducer::get_branch_Transducer(double) const’:
-../src/imodel/imodel.cc:1129:12: warning: unused variable ‘mu_s’ [-Wunused-variable]
- 1129 |     double mu_s = lambda_s/sigma_s;                       // s = lambda/mu
-      |            ^~~~
-../src/imodel/imodel.cc:1132:12: warning: unused variable ‘mu_f’ [-Wunused-variable]
- 1132 |     double mu_f = lambda_f/sigma_f;                       // s = lambda/mu
-      |            ^~~~
-[213/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_TreeInterface.cc.o -MF src/libbaliphy.a.p/models_TreeInterface.cc.o.d -o src/libbaliphy.a.p/models_TreeInterface.cc.o -c ../src/models/TreeInterface.cc
+[181/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-A4.cc.o -MF src/libbaliphy.a.p/mcmc_sample-A4.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-A4.cc.o -c ../src/mcmc/sample-A4.cc
+[182/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o -MF src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o -c ../src/mcmc/sample-topology-NNI.cc
+../src/mcmc/sample-topology-NNI.cc: In function ‘void three_way_time_tree_NNI_sample(owned_ptr<context>&, MCMC::MoveStats&, int)’:
+../src/mcmc/sample-topology-NNI.cc:807:9: warning: unused variable ‘x’ [-Wunused-variable]
+  807 |     int x = T.source(b);
+      |         ^
+../src/mcmc/sample-topology-NNI.cc: In function ‘void three_way_topology_and_A3_2D_sample(owned_ptr<context>&, MCMC::MoveStats&, int, std::optional<int>)’:
+../src/mcmc/sample-topology-NNI.cc:918:109: warning: unused parameter ‘bandwidth’ [-Wunused-parameter]
+  918 | void three_way_topology_and_A3_2D_sample(owned_ptr<context>& P, MoveStats& Stats, int b, std::optional<int> bandwidth)
+      |                                                                                          ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
+[183/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-node.cc.o -MF src/libbaliphy.a.p/mcmc_sample-node.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-node.cc.o -c ../src/mcmc/sample-node.cc
+[184/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-A5.cc.o -MF src/libbaliphy.a.p/mcmc_sample-A5.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-A5.cc.o -c ../src/mcmc/sample-A5.cc
+[185/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-cube.cc.o -MF src/libbaliphy.a.p/mcmc_sample-cube.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-cube.cc.o -c ../src/mcmc/sample-cube.cc
+[186/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o -MF src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o -c ../src/mcmc/sample-A5-2D.cc
+[187/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_driver.cc.o -MF src/libbaliphy.a.p/models_driver.cc.o.d -o src/libbaliphy.a.p/models_driver.cc.o -c ../src/models/driver.cc
+[188/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-tri.cc.o -MF src/libbaliphy.a.p/mcmc_sample-tri.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-tri.cc.o -c ../src/mcmc/sample-tri.cc
+[189/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_parsimony.cc.o -MF src/libbaliphy.a.p/substitution_parsimony.cc.o.d -o src/libbaliphy.a.p/substitution_parsimony.cc.o -c ../src/substitution/parsimony.cc
+[190/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/probability_choose.cc.o -MF src/libbaliphy.a.p/probability_choose.cc.o.d -o src/libbaliphy.a.p/probability_choose.cc.o -c ../src/probability/choose.cc
+[191/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_lexer.cc.o -MF src/libbaliphy.a.p/models_lexer.cc.o.d -o src/libbaliphy.a.p/models_lexer.cc.o -c ../src/models/lexer.cc
+[192/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o -MF src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o.d -o src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o -c ../src/mcmc/sample-topology-SPR.cc
+[193/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_likelihood.cc.o -MF src/libbaliphy.a.p/substitution_likelihood.cc.o.d -o src/libbaliphy.a.p/substitution_likelihood.cc.o -c ../src/substitution/likelihood.cc
+[194/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o -MF src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o.d -o src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o -c ../src/substitution/likelihoodSEV.cc
+[195/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_parser.cc.o -MF src/libbaliphy.a.p/models_parser.cc.o.d -o src/libbaliphy.a.p/models_parser.cc.o -c ../src/models/parser.cc
+[196/379] rm -f src/util/libutil.a && gcc-ar csrDT src/util/libutil.a src/util/libutil.a.p/assert.cc.o src/util/libutil.a.p/string_pred.cc.o src/util/libutil.a.p/string_sanitize.cc.o src/util/libutil.a.p/string_strip.cc.o src/util/libutil.a.p/string_split.cc.o src/util/libutil.a.p/log-level.cc.o src/util/libutil.a.p/io.cc.o src/util/libutil.a.p/graph.cc.o src/util/libutil.a.p/range.cc.o src/util/libutil.a.p/demangle.cc.o src/util/libutil.a.p/mapping.cc.o src/util/libutil.a.p/cmdline.cc.o src/util/libutil.a.p/rng.cc.o src/util/libutil.a.p/permute.cc.o src/util/libutil.a.p/file-paths.cc.o src/util/libutil.a.p/ptree.cc.o src/util/libutil.a.p/text.cc.o src/util/libutil.a.p/myexception.cc.o src/util/libutil.a.p/time.cc.o src/util/libutil.a.p/file-readers.cc.o src/util/libutil.a.p/settings.cc.o
+[197/379] rm -f src/mcon/libmcon.a && gcc-ar csrDT src/mcon/libmcon.a src/mcon/libmcon.a.p/mcon.cc.o
+[198/379] rm -f src/libcommon.a && gcc-ar csrDT src/libcommon.a src/libcommon.a.p/tree_newick-tokenizer.cc.o src/libcommon.a.p/tree_sequencetree.cc.o src/libcommon.a.p/tree_tree.cc.o src/libcommon.a.p/tree_tree-util.cc.o src/libcommon.a.p/tree_randomtree.cc.o src/libcommon.a.p/tree-align_n_indels.cc.o src/libcommon.a.p/sequence_alphabet.cc.o src/libcommon.a.p/sequence_doublets.cc.o src/libcommon.a.p/sequence_RNAEdits.cc.o src/libcommon.a.p/sequence_triplets.cc.o src/libcommon.a.p/sequence_genetic_code.cc.o src/libcommon.a.p/sequence_codons.cc.o src/libcommon.a.p/sequence_sequence.cc.o src/libcommon.a.p/sequence_sequence-format.cc.o src/libcommon.a.p/tools_read-trees.cc.o src/libcommon.a.p/alignment_alignment-util.cc.o src/libcommon.a.p/alignment_load.cc.o src/libcommon.a.p/alignment_alignment.cc.o src/libcommon.a.p/alignment_alignment-random.cc.o src/libcommon.a.p/alignment_index-matrix.cc.o src/libcommon.a.p/tree-align_link.cc.o src/libcommon.a.p/models_path.cc.o src/libcommon.a.p/tools_statistics.cc.o src/libcommon.a.p/tools_partition.cc.o src/libcommon.a.p/tools_tree-dist.cc.o src/libcommon.a.p/tools_parsimony.cc.o src/libcommon.a.p/tools_mctree.cc.o src/libcommon.a.p/tools_stats-table.cc.o src/libcommon.a.p/tools_findroot.cc.o src/libcommon.a.p/tools_optimize.cc.o src/libcommon.a.p/tools_distance-report.cc.o src/libcommon.a.p/tools_inverse.cc.o src/libcommon.a.p/tools_joint-A-T.cc.o src/libcommon.a.p/tools_distance-methods.cc.o src/libcommon.a.p/tools_consensus-tree.cc.o
+[199/379] rm -f src/computation/libcomputation.a && gcc-ar csrDT src/computation/libcomputation.a src/computation/libcomputation.a.p/object.cc.o src/computation/libcomputation.a.p/closure.cc.o src/computation/libcomputation.a.p/program.cc.o src/computation/libcomputation.a.p/preprocess.cc.o src/computation/libcomputation.a.p/module.cc.o src/computation/libcomputation.a.p/symbols.cc.o src/computation/libcomputation.a.p/data_con_info.cc.o src/computation/libcomputation.a.p/instance_info.cc.o src/computation/libcomputation.a.p/loader.cc.o src/computation/libcomputation.a.p/context.cc.o src/computation/libcomputation.a.p/operations.cc.o src/computation/libcomputation.a.p/param.cc.o src/computation/libcomputation.a.p/fresh_vars.cc.o src/computation/libcomputation.a.p/message.cc.o src/computation/libcomputation.a.p/parser_driver.cc.o src/computation/libcomputation.a.p/parser_lexer.cc.o src/computation/libcomputation.a.p/parser_parser.cc.o src/computation/libcomputation.a.p/rename_rename.cc.o src/computation/libcomputation.a.p/rename_expression.cc.o src/computation/libcomputation.a.p/rename_pattern.cc.o src/computation/libcomputation.a.p/rename_decls.cc.o src/computation/libcomputation.a.p/rename_stmt.cc.o src/computation/libcomputation.a.p/rename_match.cc.o src/computation/libcomputation.a.p/rename_infix.cc.o src/computation/libcomputation.a.p/rename_types.cc.o src/computation/libcomputation.a.p/desugar_desugar.cc.o src/computation/libcomputation.a.p/desugar_desugar-case.cc.o src/computation/libcomputation.a.p/haskell_haskell.cc.o src/computation/libcomputation.a.p/haskell_pattern.cc.o src/computation/libcomputation.a.p/haskell_var.cc.o src/computation/libcomputation.a.p/haskell_literal.cc.o src/computation/libcomputation.a.p/haskell_ids.cc.o src/computation/libcomputation.a.p/haskell_type.cc.o src/computation/libcomputation.a.p/haskell_core.cc.o src/computation/libcomputation.a.p/haskell_coretype.cc.o src/computation/libcomputation.a.p/haskell_extensions.cc.o src/computation/libcomputation.a.p/core_wrap.cc.o src/computation/libcomputation.a.p/core_func.cc.o src/computation/libcomputation.a.p/expression_expression.cc.o src/computation/libcomputation.a.p/expression_constructor.cc.o src/computation/libcomputation.a.p/expression_expression_ref.cc.o src/computation/libcomputation.a.p/expression_core.cc.o src/computation/libcomputation.a.p/expression_apply.cc.o src/computation/libcomputation.a.p/expression_substitute.cc.o src/computation/libcomputation.a.p/expression_indexify.cc.o src/computation/libcomputation.a.p/expression_let.cc.o src/computation/libcomputation.a.p/expression_case.cc.o src/computation/libcomputation.a.p/expression_trim.cc.o src/computation/libcomputation.a.p/expression_tuple.cc.o src/computation/libcomputation.a.p/expression_list.cc.o src/computation/libcomputation.a.p/expression_var.cc.o src/computation/libcomputation.a.p/expression_lambda.cc.o src/computation/libcomputation.a.p/expression_modifiable.cc.o src/computation/libcomputation.a.p/expression_interchangeable.cc.o src/computation/libcomputation.a.p/expression_reg_var.cc.o src/computation/libcomputation.a.p/expression_convert.cc.o src/computation/libcomputation.a.p/expression_bool.cc.o src/computation/libcomputation.a.p/expression_maybe.cc.o src/computation/libcomputation.a.p/expression_do_block.cc.o src/computation/libcomputation.a.p/machine_args.cc.o src/computation/libcomputation.a.p/machine_tokens.cc.o src/computation/libcomputation.a.p/machine_graph_register.cc.o src/computation/libcomputation.a.p/machine_show_graph.cc.o src/computation/libcomputation.a.p/machine_evaluate.cc.o src/computation/libcomputation.a.p/machine_sums.cc.o src/computation/libcomputation.a.p/machine_gc.cc.o src/computation/libcomputation.a.p/machine_reroot.cc.o src/computation/libcomputation.a.p/machine_effects.cc.o src/computation/libcomputation.a.p/machine_mapping.cc.o src/computation/libcomputation.a.p/machine_gcobject.cc.o src/computation/libcomputation.a.p/typecheck_kind.cc.o src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o src/computation/libcomputation.a.p/typecheck_typecheck.cc.o src/computation/libcomputation.a.p/typecheck_substitution.cc.o src/computation/libcomputation.a.p/typecheck_env.cc.o src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o src/computation/libcomputation.a.p/typecheck_types.cc.o src/computation/libcomputation.a.p/typecheck_instance.cc.o src/computation/libcomputation.a.p/typecheck_class.cc.o src/computation/libcomputation.a.p/typecheck_expression.cc.o src/computation/libcomputation.a.p/typecheck_pattern.cc.o src/computation/libcomputation.a.p/typecheck_match.cc.o src/computation/libcomputation.a.p/typecheck_quals.cc.o src/computation/libcomputation.a.p/typecheck_binds.cc.o src/computation/libcomputation.a.p/typecheck_solver.cc.o src/computation/libcomputation.a.p/typecheck_default.cc.o src/computation/libcomputation.a.p/typecheck_type_groups.cc.o src/computation/libcomputation.a.p/typecheck_constraints.cc.o src/computation/libcomputation.a.p/typecheck_expected.cc.o src/computation/libcomputation.a.p/typecheck_unify.cc.o src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o src/computation/libcomputation.a.p/typecheck_context.cc.o src/computation/libcomputation.a.p/typecheck_errors.cc.o src/computation/libcomputation.a.p/typecheck_tidy.cc.o src/computation/libcomputation.a.p/typecheck_data.cc.o src/computation/libcomputation.a.p/optimization_free-vars.cc.o src/computation/libcomputation.a.p/optimization_set-levels.cc.o src/computation/libcomputation.a.p/optimization_float-out.cc.o src/computation/libcomputation.a.p/optimization_occurrence.cc.o src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o src/computation/libcomputation.a.p/optimization_inliner.cc.o src/computation/libcomputation.a.p/optimization_simplifier.cc.o
+[200/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_logger.cc.o -MF src/libbaliphy.a.p/models_logger.cc.o.d -o src/libbaliphy.a.p/models_logger.cc.o -c ../src/models/logger.cc
+[201/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_parse.cc.o -MF src/libbaliphy.a.p/models_parse.cc.o.d -o src/libbaliphy.a.p/models_parse.cc.o -c ../src/models/parse.cc
+[202/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_TreeInterface.cc.o -MF src/libbaliphy.a.p/models_TreeInterface.cc.o.d -o src/libbaliphy.a.p/models_TreeInterface.cc.o -c ../src/models/TreeInterface.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/machine/gcobject.H:5,
@@ -7886,198 +8044,66 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[214/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_unification.cc.o -MF src/libbaliphy.a.p/models_unification.cc.o.d -o src/libbaliphy.a.p/models_unification.cc.o -c ../src/models/unification.cc
-[215/379] c++ -Isrc/computation/libcomputation.a.p -Isrc/computation -I../src/computation -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/computation/libcomputation.a.p/module.cc.o -MF src/computation/libcomputation.a.p/module.cc.o.d -o src/computation/libcomputation.a.p/module.cc.o -c ../src/computation/module.cc
-In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
-                 from ../external/immer/immer/map.hpp:12,
-                 from ../src/computation/machine/gcobject.H:5,
-                 from ../src/computation/machine/effect.H:3,
-                 from ../src/computation/machine/effects.H:3,
-                 from ../src/computation/machine/graph_register.H:22,
-                 from ../src/computation/module.cc:18:
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In file included from ../external/immer/immer/memory_policy.hpp:11,
-                 from ../external/immer/immer/map.hpp:14:
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/detail/hamts/node.hpp:271:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [32]’ [-Warray-bounds=]
-  271 |         p->impl.d.data.inner.nodemap = bitmap_t{1u} << idx;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t, immer::detail::hamts::count_t, node_t*) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:270:52,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_merged(immer::detail::hamts::shift_t, T, immer::detail::hamts::hash_t, T, immer::detail::hamts::hash_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:991:40:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 32 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
-../external/immer/immer/detail/hamts/node.hpp:234:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  234 |         p->impl.d.data.inner.nodemap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
-../external/immer/immer/detail/hamts/node.hpp:235:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  235 |         p->impl.d.data.inner.datamap = 0;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-In static member function ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
-../external/immer/immer/detail/hamts/node.hpp:236:38: warning: array subscript ‘immer::detail::hamts::node<std::pair<Haskell::Var, Type>, immer::map<Haskell::Var, Type>::hash_key, immer::map<Haskell::Var, Type>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
-  236 |         p->impl.d.data.inner.values  = nullptr;
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
-In static member function ‘static void* immer::cpp_heap::allocate(std::size_t, Tags ...) [with Tags = {}]’,
-    inlined from ‘static void* immer::identity_heap<Base>::allocate(std::size_t, Tags ...) [with Tags = {}; Base = immer::cpp_heap]’ at ../external/immer/immer/heap/identity_heap.hpp:24:30,
-    inlined from ‘static immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::node<T, Hash, Equal, MemoryPolicy, B>::make_inner_n(immer::detail::hamts::count_t) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/node.hpp:228:32,
-    inlined from ‘static immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::node_t* immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::empty() [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:142:54,
-    inlined from ‘immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>::champ(immer::detail::hamts::champ<T, Hash, Equal, MemoryPolicy, B>&&) [with T = std::pair<Haskell::Var, Type>; Hash = immer::map<Haskell::Var, Type>::hash_key; Equal = immer::map<Haskell::Var, Type>::equal_key; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/detail/hamts/champ.hpp:158:24,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B>::map(impl_t) [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:544:11,
-    inlined from ‘immer::map<K, T, Hash, Equal, MemoryPolicy, B> immer::map<K, T, Hash, Equal, MemoryPolicy, B>::insert(value_type) const & [with K = Haskell::Var; T = Type; Hash = std::hash<Haskell::Var>; Equal = std::equal_to<Haskell::Var>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5]’ at ../external/immer/immer/map.hpp:385:42,
-    inlined from ‘void load(Archive&, immer::map<Key, Value>&) [with Archive = cereal::BinaryInputArchive; Key = Haskell::Var; Value = Type]’ at ../src/computation/typecheck/env.H:44:14:
-../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
-   28 |         return ::operator new(size);
-      |                ~~~~~~~~~~~~~~^~~~~~
-[216/379] rm -f src/computation/libcomputation.a && gcc-ar csrDT src/computation/libcomputation.a src/computation/libcomputation.a.p/object.cc.o src/computation/libcomputation.a.p/closure.cc.o src/computation/libcomputation.a.p/program.cc.o src/computation/libcomputation.a.p/preprocess.cc.o src/computation/libcomputation.a.p/module.cc.o src/computation/libcomputation.a.p/symbols.cc.o src/computation/libcomputation.a.p/data_con_info.cc.o src/computation/libcomputation.a.p/instance_info.cc.o src/computation/libcomputation.a.p/loader.cc.o src/computation/libcomputation.a.p/context.cc.o src/computation/libcomputation.a.p/operations.cc.o src/computation/libcomputation.a.p/param.cc.o src/computation/libcomputation.a.p/fresh_vars.cc.o src/computation/libcomputation.a.p/message.cc.o src/computation/libcomputation.a.p/parser_driver.cc.o src/computation/libcomputation.a.p/parser_lexer.cc.o src/computation/libcomputation.a.p/parser_parser.cc.o src/computation/libcomputation.a.p/rename_rename.cc.o src/computation/libcomputation.a.p/rename_expression.cc.o src/computation/libcomputation.a.p/rename_pattern.cc.o src/computation/libcomputation.a.p/rename_decls.cc.o src/computation/libcomputation.a.p/rename_stmt.cc.o src/computation/libcomputation.a.p/rename_match.cc.o src/computation/libcomputation.a.p/rename_infix.cc.o src/computation/libcomputation.a.p/rename_types.cc.o src/computation/libcomputation.a.p/desugar_desugar.cc.o src/computation/libcomputation.a.p/desugar_desugar-case.cc.o src/computation/libcomputation.a.p/haskell_haskell.cc.o src/computation/libcomputation.a.p/haskell_pattern.cc.o src/computation/libcomputation.a.p/haskell_var.cc.o src/computation/libcomputation.a.p/haskell_literal.cc.o src/computation/libcomputation.a.p/haskell_ids.cc.o src/computation/libcomputation.a.p/haskell_type.cc.o src/computation/libcomputation.a.p/haskell_core.cc.o src/computation/libcomputation.a.p/haskell_coretype.cc.o src/computation/libcomputation.a.p/haskell_extensions.cc.o src/computation/libcomputation.a.p/core_wrap.cc.o src/computation/libcomputation.a.p/core_func.cc.o src/computation/libcomputation.a.p/expression_expression.cc.o src/computation/libcomputation.a.p/expression_constructor.cc.o src/computation/libcomputation.a.p/expression_expression_ref.cc.o src/computation/libcomputation.a.p/expression_core.cc.o src/computation/libcomputation.a.p/expression_apply.cc.o src/computation/libcomputation.a.p/expression_substitute.cc.o src/computation/libcomputation.a.p/expression_indexify.cc.o src/computation/libcomputation.a.p/expression_let.cc.o src/computation/libcomputation.a.p/expression_case.cc.o src/computation/libcomputation.a.p/expression_trim.cc.o src/computation/libcomputation.a.p/expression_tuple.cc.o src/computation/libcomputation.a.p/expression_list.cc.o src/computation/libcomputation.a.p/expression_var.cc.o src/computation/libcomputation.a.p/expression_lambda.cc.o src/computation/libcomputation.a.p/expression_modifiable.cc.o src/computation/libcomputation.a.p/expression_interchangeable.cc.o src/computation/libcomputation.a.p/expression_reg_var.cc.o src/computation/libcomputation.a.p/expression_convert.cc.o src/computation/libcomputation.a.p/expression_bool.cc.o src/computation/libcomputation.a.p/expression_maybe.cc.o src/computation/libcomputation.a.p/expression_do_block.cc.o src/computation/libcomputation.a.p/machine_args.cc.o src/computation/libcomputation.a.p/machine_tokens.cc.o src/computation/libcomputation.a.p/machine_graph_register.cc.o src/computation/libcomputation.a.p/machine_show_graph.cc.o src/computation/libcomputation.a.p/machine_evaluate.cc.o src/computation/libcomputation.a.p/machine_sums.cc.o src/computation/libcomputation.a.p/machine_gc.cc.o src/computation/libcomputation.a.p/machine_reroot.cc.o src/computation/libcomputation.a.p/machine_effects.cc.o src/computation/libcomputation.a.p/machine_mapping.cc.o src/computation/libcomputation.a.p/machine_gcobject.cc.o src/computation/libcomputation.a.p/typecheck_kind.cc.o src/computation/libcomputation.a.p/typecheck_kindcheck.cc.o src/computation/libcomputation.a.p/typecheck_typecheck.cc.o src/computation/libcomputation.a.p/typecheck_substitution.cc.o src/computation/libcomputation.a.p/typecheck_env.cc.o src/computation/libcomputation.a.p/typecheck_alphabetize.cc.o src/computation/libcomputation.a.p/typecheck_types.cc.o src/computation/libcomputation.a.p/typecheck_instance.cc.o src/computation/libcomputation.a.p/typecheck_class.cc.o src/computation/libcomputation.a.p/typecheck_expression.cc.o src/computation/libcomputation.a.p/typecheck_pattern.cc.o src/computation/libcomputation.a.p/typecheck_match.cc.o src/computation/libcomputation.a.p/typecheck_quals.cc.o src/computation/libcomputation.a.p/typecheck_binds.cc.o src/computation/libcomputation.a.p/typecheck_solver.cc.o src/computation/libcomputation.a.p/typecheck_default.cc.o src/computation/libcomputation.a.p/typecheck_type_groups.cc.o src/computation/libcomputation.a.p/typecheck_constraints.cc.o src/computation/libcomputation.a.p/typecheck_expected.cc.o src/computation/libcomputation.a.p/typecheck_unify.cc.o src/computation/libcomputation.a.p/typecheck_solver_canonicalize.cc.o src/computation/libcomputation.a.p/typecheck_solver_rewrite.cc.o src/computation/libcomputation.a.p/typecheck_context.cc.o src/computation/libcomputation.a.p/typecheck_errors.cc.o src/computation/libcomputation.a.p/typecheck_tidy.cc.o src/computation/libcomputation.a.p/typecheck_data.cc.o src/computation/libcomputation.a.p/optimization_free-vars.cc.o src/computation/libcomputation.a.p/optimization_set-levels.cc.o src/computation/libcomputation.a.p/optimization_float-out.cc.o src/computation/libcomputation.a.p/optimization_occurrence.cc.o src/computation/libcomputation.a.p/optimization_occurrence_info.cc.o src/computation/libcomputation.a.p/optimization_inliner.cc.o src/computation/libcomputation.a.p/optimization_simplifier.cc.o
-[217/379] c++ -Isrc/builtins/Pair.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Pair.so.p/Pair.cc.o -MF src/builtins/Pair.so.p/Pair.cc.o.d -o src/builtins/Pair.so.p/Pair.cc.o -c ../src/builtins/Pair.cc
-[218/379] c++ -Isrc/builtins/Data.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Data.so.p/Data.cc.o -MF src/builtins/Data.so.p/Data.cc.o.d -o src/builtins/Data.so.p/Data.cc.o -c ../src/builtins/Data.cc
-[219/379] c++ -Isrc/builtins/Array.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Array.so.p/Array.cc.o -MF src/builtins/Array.so.p/Array.cc.o.d -o src/builtins/Array.so.p/Array.cc.o -c ../src/builtins/Array.cc
-[220/379] c++ -Isrc/builtins/Modifiables.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Modifiables.so.p/Modifiables.cc.o -MF src/builtins/Modifiables.so.p/Modifiables.cc.o.d -o src/builtins/Modifiables.so.p/Modifiables.cc.o -c ../src/builtins/Modifiables.cc
-[221/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/link-partitions.cc.o -MF src/bali-phy/bali-phy.p/link-partitions.cc.o.d -o src/bali-phy/bali-phy.p/link-partitions.cc.o -c ../src/bali-phy/link-partitions.cc
-[222/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/files.cc.o -MF src/bali-phy/bali-phy.p/files.cc.o.d -o src/bali-phy/bali-phy.p/files.cc.o -c ../src/bali-phy/files.cc
-[223/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/math_exponential.cc.o -MF src/libbaliphy.a.p/math_exponential.cc.o.d -o src/libbaliphy.a.p/math_exponential.cc.o -c ../src/math/exponential.cc
-[224/379] c++ -Isrc/builtins/Range.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Range.so.p/Range.cc.o -MF src/builtins/Range.so.p/Range.cc.o.d -o src/builtins/Range.so.p/Range.cc.o -c ../src/builtins/Range.cc
-[225/379] c++ -Isrc/builtins/Vector.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Vector.so.p/Vector.cc.o -MF src/builtins/Vector.so.p/Vector.cc.o.d -o src/builtins/Vector.so.p/Vector.cc.o -c ../src/builtins/Vector.cc
-[226/379] c++ -Isrc/builtins/Alphabet.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Alphabet.so.p/Alphabet.cc.o -MF src/builtins/Alphabet.so.p/Alphabet.cc.o.d -o src/builtins/Alphabet.so.p/Alphabet.cc.o -c ../src/builtins/Alphabet.cc
-[227/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/help.cc.o -MF src/bali-phy/bali-phy.p/help.cc.o.d -o src/bali-phy/bali-phy.p/help.cc.o -c ../src/bali-phy/help.cc
-[228/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_compile.cc.o -MF src/libbaliphy.a.p/models_compile.cc.o.d -o src/libbaliphy.a.p/models_compile.cc.o -c ../src/models/compile.cc
-[229/379] c++ -Isrc/builtins/Environment.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Environment.so.p/Environment.cc.o -MF src/builtins/Environment.so.p/Environment.cc.o.d -o src/builtins/Environment.so.p/Environment.cc.o -c ../src/builtins/Environment.cc
-[230/379] c++ -Isrc/builtins/Char.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Char.so.p/Char.cc.o -MF src/builtins/Char.so.p/Char.cc.o.d -o src/builtins/Char.so.p/Char.cc.o -c ../src/builtins/Char.cc
-[231/379] c++ -Isrc/builtins/Prelude.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Prelude.so.p/Prelude.cc.o -MF src/builtins/Prelude.so.p/Prelude.cc.o.d -o src/builtins/Prelude.so.p/Prelude.cc.o -c ../src/builtins/Prelude.cc
-[232/379] c++ -Isrc/model_P.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/model_P.p/tools_model_P.cc.o -MF src/model_P.p/tools_model_P.cc.o.d -o src/model_P.p/tools_model_P.cc.o -c ../src/tools/model_P.cc
-[233/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_code-generation.cc.o -MF src/libbaliphy.a.p/models_code-generation.cc.o.d -o src/libbaliphy.a.p/models_code-generation.cc.o -c ../src/models/code-generation.cc
-[234/379] c++ -Isrc/builtins/PopGen.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/PopGen.so.p/PopGen.cc.o -MF src/builtins/PopGen.so.p/PopGen.cc.o.d -o src/builtins/PopGen.so.p/PopGen.cc.o -c ../src/builtins/PopGen.cc
-[235/379] c++ -Isrc/builtins/Foreign.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Foreign.so.p/Foreign.cc.o -MF src/builtins/Foreign.so.p/Foreign.cc.o.d -o src/builtins/Foreign.so.p/Foreign.cc.o -c ../src/builtins/Foreign.cc
-[236/379] c++ -Isrc/builtins/Real.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Real.so.p/Real.cc.o -MF src/builtins/Real.so.p/Real.cc.o.d -o src/builtins/Real.so.p/Real.cc.o -c ../src/builtins/Real.cc
-[237/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/cmd_line.cc.o -MF src/bali-phy/bali-phy.p/cmd_line.cc.o.d -o src/bali-phy/bali-phy.p/cmd_line.cc.o -c ../src/bali-phy/cmd_line.cc
-[238/379] c++ -Isrc/builtins/Text.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Text.so.p/Text.cc.o -MF src/builtins/Text.so.p/Text.cc.o.d -o src/builtins/Text.so.p/Text.cc.o -c ../src/builtins/Text.cc
-[239/379] c++ -Isrc/stats-select.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/stats-select.p/tools_stats-select.cc.o -MF src/stats-select.p/tools_stats-select.cc.o.d -o src/stats-select.p/tools_stats-select.cc.o -c ../src/tools/stats-select.cc
-[240/379] c++ -Isrc/builtins/Distribution.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Distribution.so.p/Distribution.cc.o -MF src/builtins/Distribution.so.p/Distribution.cc.o.d -o src/builtins/Distribution.so.p/Distribution.cc.o -c ../src/builtins/Distribution.cc
-[241/379] c++ -Isrc/alignment-find.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-find.p/tools_alignment-find.cc.o -MF src/alignment-find.p/tools_alignment-find.cc.o.d -o src/alignment-find.p/tools_alignment-find.cc.o -c ../src/tools/alignment-find.cc
-[242/379] c++ -Isrc/trees-bootstrap.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-bootstrap.p/tools_bootstrap.cc.o -MF src/trees-bootstrap.p/tools_bootstrap.cc.o.d -o src/trees-bootstrap.p/tools_bootstrap.cc.o -c ../src/tools/bootstrap.cc
-[243/379] c++ -Isrc/alignment-draw.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-draw.p/tools_colors.cc.o -MF src/alignment-draw.p/tools_colors.cc.o.d -o src/alignment-draw.p/tools_colors.cc.o -c ../src/tools/colors.cc
-[244/379] c++ -Isrc/builtins/Bits.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Bits.so.p/Bits.cc.o -MF src/builtins/Bits.so.p/Bits.cc.o.d -o src/builtins/Bits.so.p/Bits.cc.o -c ../src/builtins/Bits.cc
-[245/379] c++ -Isrc/builtins/MCMC.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/MCMC.so.p/MCMC.cc.o -MF src/builtins/MCMC.so.p/MCMC.cc.o.d -o src/builtins/MCMC.so.p/MCMC.cc.o -c ../src/builtins/MCMC.cc
-[246/379] c++ -Isrc/alignment-chop-internal.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o -MF src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o.d -o src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o -c ../src/tools/alignment-chop-internal.cc
-[247/379] c++  -o src/builtins/Array.so src/builtins/Array.so.p/Array.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[248/379] c++  -o src/builtins/Data.so src/builtins/Data.so.p/Data.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[249/379] c++  -o src/builtins/Alphabet.so src/builtins/Alphabet.so.p/Alphabet.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[250/379] c++  -o src/builtins/Prelude.so src/builtins/Prelude.so.p/Prelude.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[251/379] c++ -Isrc/builtins/LikelihoodSEV.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o -MF src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o.d -o src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o -c ../src/builtins/LikelihoodSEV.cc
-[252/379] c++  -o src/builtins/Pair.so src/builtins/Pair.so.p/Pair.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[253/379] c++  -o src/builtins/Modifiables.so src/builtins/Modifiables.so.p/Modifiables.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[254/379] c++  -o src/builtins/Distribution.so src/builtins/Distribution.so.p/Distribution.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[255/379] c++  -o src/builtins/PopGen.so src/builtins/PopGen.so.p/PopGen.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[256/379] c++  -o src/builtins/Range.so src/builtins/Range.so.p/Range.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[257/379] c++  -o src/builtins/Vector.so src/builtins/Vector.so.p/Vector.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[258/379] c++  -o src/builtins/MCMC.so src/builtins/MCMC.so.p/MCMC.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[259/379] c++ -Isrc/builtins/IntSet.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/IntSet.so.p/IntSet.cc.o -MF src/builtins/IntSet.so.p/IntSet.cc.o.d -o src/builtins/IntSet.so.p/IntSet.cc.o -c ../src/builtins/IntSet.cc
+[203/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_parameters.cc.o -MF src/libbaliphy.a.p/models_parameters.cc.o.d -o src/libbaliphy.a.p/models_parameters.cc.o -c ../src/models/parameters.cc
+[204/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/probability_probability.cc.o -MF src/libbaliphy.a.p/probability_probability.cc.o.d -o src/libbaliphy.a.p/probability_probability.cc.o -c ../src/probability/probability.cc
+[205/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/version.cc.o -MF src/libbaliphy.a.p/version.cc.o.d -o src/libbaliphy.a.p/version.cc.o -c ../src/version.cc
+../src/version.cc:67:8: warning: macro "__DATE__" might prevent reproducible builds [-Wdate-time]
+   67 |     s<<__DATE__<<" "<<__TIME__;
+      |        ^~~~~~~~
+../src/version.cc:67:23: warning: macro "__TIME__" might prevent reproducible builds [-Wdate-time]
+   67 |     s<<__DATE__<<" "<<__TIME__;
+      |                       ^~~~~~~~
+[206/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/alignment_alignment-constraint.cc.o -MF src/libbaliphy.a.p/alignment_alignment-constraint.cc.o.d -o src/libbaliphy.a.p/alignment_alignment-constraint.cc.o -c ../src/alignment/alignment-constraint.cc
+[207/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_rules.cc.o -MF src/libbaliphy.a.p/models_rules.cc.o.d -o src/libbaliphy.a.p/models_rules.cc.o -c ../src/models/rules.cc
+[208/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/system.cc.o -MF src/bali-phy/bali-phy.p/system.cc.o.d -o src/bali-phy/bali-phy.p/system.cc.o -c ../src/bali-phy/system.cc
+[209/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/tree-align_link2.cc.o -MF src/libbaliphy.a.p/tree-align_link2.cc.o.d -o src/libbaliphy.a.p/tree-align_link2.cc.o -c ../src/tree-align/link2.cc
+[210/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/math_exponential.cc.o -MF src/libbaliphy.a.p/math_exponential.cc.o.d -o src/libbaliphy.a.p/math_exponential.cc.o -c ../src/math/exponential.cc
+[211/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/paths.cc.o -MF src/bali-phy/bali-phy.p/paths.cc.o.d -o src/bali-phy/bali-phy.p/paths.cc.o -c ../src/bali-phy/paths.cc
+[212/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/alignment_alignment-util2.cc.o -MF src/libbaliphy.a.p/alignment_alignment-util2.cc.o.d -o src/libbaliphy.a.p/alignment_alignment-util2.cc.o -c ../src/alignment/alignment-util2.cc
+[213/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_typecheck.cc.o -MF src/libbaliphy.a.p/models_typecheck.cc.o.d -o src/libbaliphy.a.p/models_typecheck.cc.o -c ../src/models/typecheck.cc
+[214/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/tree-align_n_indels2.cc.o -MF src/libbaliphy.a.p/tree-align_n_indels2.cc.o.d -o src/libbaliphy.a.p/tree-align_n_indels2.cc.o -c ../src/tree-align/n_indels2.cc
+[215/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/imodel_imodel.cc.o -MF src/libbaliphy.a.p/imodel_imodel.cc.o.d -o src/libbaliphy.a.p/imodel_imodel.cc.o -c ../src/imodel/imodel.cc
+../src/imodel/imodel.cc: In member function ‘virtual indel::PairTransducer FS_Transducer::get_branch_Transducer(double) const’:
+../src/imodel/imodel.cc:1129:12: warning: unused variable ‘mu_s’ [-Wunused-variable]
+ 1129 |     double mu_s = lambda_s/sigma_s;                       // s = lambda/mu
+      |            ^~~~
+../src/imodel/imodel.cc:1132:12: warning: unused variable ‘mu_f’ [-Wunused-variable]
+ 1132 |     double mu_f = lambda_f/sigma_f;                       // s = lambda/mu
+      |            ^~~~
+[216/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_unification.cc.o -MF src/libbaliphy.a.p/models_unification.cc.o.d -o src/libbaliphy.a.p/models_unification.cc.o -c ../src/models/unification.cc
+[217/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/tools_parsimony2.cc.o -MF src/libbaliphy.a.p/tools_parsimony2.cc.o.d -o src/libbaliphy.a.p/tools_parsimony2.cc.o -c ../src/tools/parsimony2.cc
+[218/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_compile.cc.o -MF src/libbaliphy.a.p/models_compile.cc.o.d -o src/libbaliphy.a.p/models_compile.cc.o -c ../src/models/compile.cc
+[219/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_A-T-prog.cc.o -MF src/libbaliphy.a.p/models_A-T-prog.cc.o.d -o src/libbaliphy.a.p/models_A-T-prog.cc.o -c ../src/models/A-T-prog.cc
+[220/379] c++ -Isrc/builtins/Array.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Array.so.p/Array.cc.o -MF src/builtins/Array.so.p/Array.cc.o.d -o src/builtins/Array.so.p/Array.cc.o -c ../src/builtins/Array.cc
+[221/379] c++ -Isrc/builtins/Data.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Data.so.p/Data.cc.o -MF src/builtins/Data.so.p/Data.cc.o.d -o src/builtins/Data.so.p/Data.cc.o -c ../src/builtins/Data.cc
+[222/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/link-partitions.cc.o -MF src/bali-phy/bali-phy.p/link-partitions.cc.o.d -o src/bali-phy/bali-phy.p/link-partitions.cc.o -c ../src/bali-phy/link-partitions.cc
+[223/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/help.cc.o -MF src/bali-phy/bali-phy.p/help.cc.o.d -o src/bali-phy/bali-phy.p/help.cc.o -c ../src/bali-phy/help.cc
+[224/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_code-generation.cc.o -MF src/libbaliphy.a.p/models_code-generation.cc.o.d -o src/libbaliphy.a.p/models_code-generation.cc.o -c ../src/models/code-generation.cc
+[225/379] rm -f src/libbaliphy.a && gcc-ar csrDT src/libbaliphy.a src/libbaliphy.a.p/dp_dp_hmm.cc.o src/libbaliphy.a.p/dp_hmm.cc.o src/libbaliphy.a.p/dp_dp-engine.cc.o src/libbaliphy.a.p/dp_dp-array.cc.o src/libbaliphy.a.p/dp_dp-matrix.cc.o src/libbaliphy.a.p/dp_dp-cube.cc.o src/libbaliphy.a.p/dp_2way.cc.o src/libbaliphy.a.p/dp_3way.cc.o src/libbaliphy.a.p/dp_4way.cc.o src/libbaliphy.a.p/dp_5way.cc.o src/libbaliphy.a.p/dp_alignment-sums.cc.o src/libbaliphy.a.p/mcmc_result.cc.o src/libbaliphy.a.p/mcmc_slice-sampling.cc.o src/libbaliphy.a.p/mcmc_moves.cc.o src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o src/libbaliphy.a.p/mcmc_sample-alignment.cc.o src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o src/libbaliphy.a.p/mcmc_sample-A4.cc.o src/libbaliphy.a.p/mcmc_sample-A5.cc.o src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o src/libbaliphy.a.p/mcmc_sample-node.cc.o src/libbaliphy.a.p/mcmc_sample-cube.cc.o src/libbaliphy.a.p/mcmc_sample-tri.cc.o src/libbaliphy.a.p/substitution_ops.cc.o src/libbaliphy.a.p/substitution_cache.cc.o src/libbaliphy.a.p/substitution_likelihood.cc.o src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o src/libbaliphy.a.p/substitution_parsimony.cc.o src/libbaliphy.a.p/math_exponential.cc.o src/libbaliphy.a.p/math_pow2.cc.o src/libbaliphy.a.p/models_TreeInterface.cc.o src/libbaliphy.a.p/models_parameters.cc.o src/libbaliphy.a.p/models_A-T-prog.cc.o src/libbaliphy.a.p/models_rules.cc.o src/libbaliphy.a.p/models_parse.cc.o src/libbaliphy.a.p/models_driver.cc.o src/libbaliphy.a.p/models_parser.cc.o src/libbaliphy.a.p/models_lexer.cc.o src/libbaliphy.a.p/models_compile.cc.o src/libbaliphy.a.p/models_typecheck.cc.o src/libbaliphy.a.p/models_unification.cc.o src/libbaliphy.a.p/models_code-generation.cc.o src/libbaliphy.a.p/models_logger.cc.o src/libbaliphy.a.p/tree-align_link2.cc.o src/libbaliphy.a.p/probability_choose.cc.o src/libbaliphy.a.p/probability_probability.cc.o src/libbaliphy.a.p/imodel_imodel.cc.o src/libbaliphy.a.p/alignment_alignment-constraint.cc.o src/libbaliphy.a.p/alignment_alignment-util2.cc.o src/libbaliphy.a.p/tree-align_n_indels2.cc.o src/libbaliphy.a.p/tools_parsimony2.cc.o src/libbaliphy.a.p/version.cc.o
+[226/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/files.cc.o -MF src/bali-phy/bali-phy.p/files.cc.o.d -o src/bali-phy/bali-phy.p/files.cc.o -c ../src/bali-phy/files.cc
+[227/379] c++ -Isrc/builtins/Pair.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Pair.so.p/Pair.cc.o -MF src/builtins/Pair.so.p/Pair.cc.o.d -o src/builtins/Pair.so.p/Pair.cc.o -c ../src/builtins/Pair.cc
+[228/379] c++ -Isrc/builtins/Modifiables.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Modifiables.so.p/Modifiables.cc.o -MF src/builtins/Modifiables.so.p/Modifiables.cc.o.d -o src/builtins/Modifiables.so.p/Modifiables.cc.o -c ../src/builtins/Modifiables.cc
+[229/379] c++ -Isrc/builtins/Range.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Range.so.p/Range.cc.o -MF src/builtins/Range.so.p/Range.cc.o.d -o src/builtins/Range.so.p/Range.cc.o -c ../src/builtins/Range.cc
+[230/379] c++ -Isrc/builtins/Prelude.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Prelude.so.p/Prelude.cc.o -MF src/builtins/Prelude.so.p/Prelude.cc.o.d -o src/builtins/Prelude.so.p/Prelude.cc.o -c ../src/builtins/Prelude.cc
+[231/379] c++ -Isrc/builtins/Alphabet.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Alphabet.so.p/Alphabet.cc.o -MF src/builtins/Alphabet.so.p/Alphabet.cc.o.d -o src/builtins/Alphabet.so.p/Alphabet.cc.o -c ../src/builtins/Alphabet.cc
+[232/379] c++ -Isrc/builtins/PopGen.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/PopGen.so.p/PopGen.cc.o -MF src/builtins/PopGen.so.p/PopGen.cc.o.d -o src/builtins/PopGen.so.p/PopGen.cc.o -c ../src/builtins/PopGen.cc
+[233/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/cmd_line.cc.o -MF src/bali-phy/bali-phy.p/cmd_line.cc.o.d -o src/bali-phy/bali-phy.p/cmd_line.cc.o -c ../src/bali-phy/cmd_line.cc
+[234/379] c++ -Isrc/builtins/Distribution.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Distribution.so.p/Distribution.cc.o -MF src/builtins/Distribution.so.p/Distribution.cc.o.d -o src/builtins/Distribution.so.p/Distribution.cc.o -c ../src/builtins/Distribution.cc
+[235/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/A-T-model.cc.o -MF src/bali-phy/bali-phy.p/A-T-model.cc.o.d -o src/bali-phy/bali-phy.p/A-T-model.cc.o -c ../src/bali-phy/A-T-model.cc
+[236/379] c++ -Isrc/builtins/Environment.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Environment.so.p/Environment.cc.o -MF src/builtins/Environment.so.p/Environment.cc.o.d -o src/builtins/Environment.so.p/Environment.cc.o -c ../src/builtins/Environment.cc
+[237/379] c++ -Isrc/builtins/Vector.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Vector.so.p/Vector.cc.o -MF src/builtins/Vector.so.p/Vector.cc.o.d -o src/builtins/Vector.so.p/Vector.cc.o -c ../src/builtins/Vector.cc
+[238/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/bali-phy.cc.o -MF src/bali-phy/bali-phy.p/bali-phy.cc.o.d -o src/bali-phy/bali-phy.p/bali-phy.cc.o -c ../src/bali-phy/bali-phy.cc
+../src/bali-phy/bali-phy.cc: In function ‘void report_mem()’:
+../src/bali-phy/bali-phy.cc:124:9: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
+  124 |   system(cmd.str().c_str());
+      |   ~~~~~~^~~~~~~~~~~~~~~~~~~
+[239/379] c++ -Isrc/builtins/Char.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Char.so.p/Char.cc.o -MF src/builtins/Char.so.p/Char.cc.o.d -o src/builtins/Char.so.p/Char.cc.o -c ../src/builtins/Char.cc
+[240/379] c++ -Isrc/builtins/Foreign.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Foreign.so.p/Foreign.cc.o -MF src/builtins/Foreign.so.p/Foreign.cc.o.d -o src/builtins/Foreign.so.p/Foreign.cc.o -c ../src/builtins/Foreign.cc
+[241/379] c++ -Isrc/builtins/Real.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Real.so.p/Real.cc.o -MF src/builtins/Real.so.p/Real.cc.o.d -o src/builtins/Real.so.p/Real.cc.o -c ../src/builtins/Real.cc
+[242/379] c++ -Isrc/builtins/MCMC.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/MCMC.so.p/MCMC.cc.o -MF src/builtins/MCMC.so.p/MCMC.cc.o.d -o src/builtins/MCMC.so.p/MCMC.cc.o -c ../src/builtins/MCMC.cc
+[243/379] c++ -Isrc/builtins/Bits.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Bits.so.p/Bits.cc.o -MF src/builtins/Bits.so.p/Bits.cc.o.d -o src/builtins/Bits.so.p/Bits.cc.o -c ../src/builtins/Bits.cc
+[244/379] c++ -Isrc/builtins/Text.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Text.so.p/Text.cc.o -MF src/builtins/Text.so.p/Text.cc.o.d -o src/builtins/Text.so.p/Text.cc.o -c ../src/builtins/Text.cc
+[245/379] c++ -Isrc/builtins/IntSet.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/IntSet.so.p/IntSet.cc.o -MF src/builtins/IntSet.so.p/IntSet.cc.o.d -o src/builtins/IntSet.so.p/IntSet.cc.o -c ../src/builtins/IntSet.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/machine/gcobject.H:5,
@@ -8136,87 +8162,14 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 20 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[260/379] c++  -o src/builtins/Real.so src/builtins/Real.so.p/Real.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[261/379] c++ -Isrc/alignment-consensus.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-consensus.p/tools_alignment-consensus.cc.o -MF src/alignment-consensus.p/tools_alignment-consensus.cc.o.d -o src/alignment-consensus.p/tools_alignment-consensus.cc.o -c ../src/tools/alignment-consensus.cc
-[262/379] c++  -o src/builtins/Environment.so src/builtins/Environment.so.p/Environment.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[263/379] c++  -o src/builtins/Bits.so src/builtins/Bits.so.p/Bits.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[264/379] c++  -o src/builtins/Foreign.so src/builtins/Foreign.so.p/Foreign.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[265/379] c++  -o src/builtins/Char.so src/builtins/Char.so.p/Char.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[266/379] c++  -o src/model_P src/model_P.p/tools_model_P.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[267/379] c++  -o src/builtins/LikelihoodSEV.so src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[268/379] c++  -o src/builtins/IntSet.so src/builtins/IntSet.so.p/IntSet.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[269/379] c++  -o src/builtins/Text.so src/builtins/Text.so.p/Text.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[270/379] c++ -Isrc/alignment-translate.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-translate.p/tools_alignment-translate.cc.o -MF src/alignment-translate.p/tools_alignment-translate.cc.o.d -o src/alignment-translate.p/tools_alignment-translate.cc.o -c ../src/tools/alignment-translate.cc
-[271/379] c++ -Isrc/builtins/Likelihood.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Likelihood.so.p/Likelihood.cc.o -MF src/builtins/Likelihood.so.p/Likelihood.cc.o.d -o src/builtins/Likelihood.so.p/Likelihood.cc.o -c ../src/builtins/Likelihood.cc
-[272/379] c++ -Isrc/alignment-info.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-info.p/tools_alignment-info.cc.o -MF src/alignment-info.p/tools_alignment-info.cc.o.d -o src/alignment-info.p/tools_alignment-info.cc.o -c ../src/tools/alignment-info.cc
-[273/379] c++  -o src/stats-select src/stats-select.p/tools_stats-select.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[274/379] c++  -o src/builtins/Likelihood.so src/builtins/Likelihood.so.p/Likelihood.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[275/379] /usr/bin/meson --internal exe --capture doc/bali-phy.1 -- /usr/bin/pandoc -s -t man ../doc/man/bali-phy.md
-[276/379] c++  -o src/alignment-consensus src/alignment-consensus.p/tools_alignment-consensus.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[277/379] c++ -Isrc/statreport.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/statreport.p/tools_statreport.cc.o -MF src/statreport.p/tools_statreport.cc.o.d -o src/statreport.p/tools_statreport.cc.o -c ../src/tools/statreport.cc
-[278/379] c++  -o src/alignment-find src/alignment-find.p/tools_alignment-find.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[279/379] /usr/bin/meson --internal exe --capture doc/model_P.1 -- /usr/bin/pandoc -s -t man ../doc/man/model_P.md
-[280/379] c++  -o src/alignment-translate src/alignment-translate.p/tools_alignment-translate.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[281/379] /usr/bin/meson --internal exe --capture doc/statreport.1 -- /usr/bin/pandoc -s -t man ../doc/man/statreport.md
-[282/379] /usr/bin/meson --internal exe --capture doc/alignment-gild.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-gild.md
-[283/379] c++  -o src/alignment-chop-internal src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[284/379] /usr/bin/meson --internal exe --capture doc/stats-select.1 -- /usr/bin/pandoc -s -t man ../doc/man/stats-select.md
-[285/379] /usr/bin/meson --internal exe --capture doc/alignment-consensus.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-consensus.md
-[286/379] c++  -o src/alignment-info src/alignment-info.p/tools_alignment-info.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[287/379] /usr/bin/meson --internal exe --capture doc/alignment-max.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-max.md
-[288/379] /usr/bin/meson --internal exe --capture doc/alignment-indices.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-indices.md
-[289/379] /usr/bin/meson --internal exe --capture doc/alignment-info.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-info.md
-[290/379] /usr/bin/meson --internal exe --capture doc/alignment-chop-internal.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-chop-internal.md
-[291/379] /usr/bin/meson --internal exe --capture doc/alignment-cat.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-cat.md
-[292/379] c++  -o src/statreport src/statreport.p/tools_statreport.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[293/379] /usr/bin/meson --internal exe --capture doc/alignment-translate.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-translate.md
-[294/379] /usr/bin/meson --internal exe --capture doc/alignment-find.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-find.md
-[295/379] /usr/bin/meson --internal exe --capture doc/tree-mean-lengths.1 -- /usr/bin/pandoc -s -t man ../doc/man/tree-mean-lengths.md
-[296/379] c++ -Isrc/builtins/Num.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Num.so.p/Num.cc.o -MF src/builtins/Num.so.p/Num.cc.o.d -o src/builtins/Num.so.p/Num.cc.o -c ../src/builtins/Num.cc
-[297/379] /usr/bin/meson --internal exe --capture doc/pickout.1 -- /usr/bin/pandoc -s -t man ../doc/man/pickout.md
-[298/379] /usr/bin/meson --internal exe --capture doc/trees-to-SRQ.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-to-SRQ.md
-[299/379] /usr/bin/meson --internal exe --capture doc/trees-consensus.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-consensus.md
-[300/379] /usr/bin/meson --internal exe --capture doc/mctree-mean-lengths.1 -- /usr/bin/pandoc -s -t man ../doc/man/mctree-mean-lengths.md
-[301/379] /usr/bin/meson --internal exe --capture doc/cut-range.1 -- /usr/bin/pandoc -s -t man ../doc/man/cut-range.md
-[302/379] /usr/bin/meson --internal exe --capture doc/tree-tool.1 -- /usr/bin/pandoc -s -t man ../doc/man/tree-tool.md
-[303/379] /usr/bin/meson --internal exe --capture doc/trees-distances.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-distances.md
-[304/379] /usr/bin/meson --internal exe --capture doc/alignment-thin.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-thin.md
-[305/379] /usr/bin/meson --internal exe --capture doc/alignment-distances.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-distances.md
-[306/379] /usr/bin/meson --internal exe --capture doc/alignments-diff.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignments-diff.md
-[307/379] /usr/bin/meson --internal exe --capture doc/alignment-draw.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-draw.md
-[308/379] /usr/bin/meson --internal exe --capture doc/trees-bootstrap.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-bootstrap.md
-[309/379] /usr/bin/meson --internal exe --capture doc/summarize-ancestors.1 -- /usr/bin/pandoc -s -t man ../doc/man/summarize-ancestors.md
-[310/379] /usr/bin/meson --internal exe --capture doc/draw-tree.1 -- /usr/bin/pandoc -s -t man ../doc/man/draw-tree.md
-[311/379] /usr/bin/meson --internal exe --capture doc/extract-ancestors.1 -- /usr/bin/pandoc -s -t man ../doc/man/extract-ancestors.md
-[312/379] c++  -o src/builtins/Num.so src/builtins/Num.so.p/Num.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[313/379] /usr/bin/meson --internal exe --capture doc/mcon-tool.1 -- /usr/bin/pandoc -s -t man ../doc/man/mcon-tool.md
-[314/379] /usr/bin/meson --internal exe --capture doc/bali-subsample.1 -- /usr/bin/pandoc -s -t man ../doc/man/bali-subsample.md
-[315/379] c++ -Isrc/libbaliphy.a.p -Isrc -I../src -I. -I.. -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/libbaliphy.a.p/models_A-T-prog.cc.o -MF src/libbaliphy.a.p/models_A-T-prog.cc.o.d -o src/libbaliphy.a.p/models_A-T-prog.cc.o -c ../src/models/A-T-prog.cc
-[316/379] /usr/bin/meson --internal exe --capture doc/bp-analyze.1 -- /usr/bin/pandoc -s -t man ../doc/man/bp-analyze.md
-[317/379] /usr/bin/meson --internal exe --capture doc/bali-phy-pkg.1 -- /usr/bin/pandoc -s -t man ../doc/man/bali-phy-pkg.md
-[318/379] rm -f src/libbaliphy.a && gcc-ar csrDT src/libbaliphy.a src/libbaliphy.a.p/dp_dp_hmm.cc.o src/libbaliphy.a.p/dp_hmm.cc.o src/libbaliphy.a.p/dp_dp-engine.cc.o src/libbaliphy.a.p/dp_dp-array.cc.o src/libbaliphy.a.p/dp_dp-matrix.cc.o src/libbaliphy.a.p/dp_dp-cube.cc.o src/libbaliphy.a.p/dp_2way.cc.o src/libbaliphy.a.p/dp_3way.cc.o src/libbaliphy.a.p/dp_4way.cc.o src/libbaliphy.a.p/dp_5way.cc.o src/libbaliphy.a.p/dp_alignment-sums.cc.o src/libbaliphy.a.p/mcmc_result.cc.o src/libbaliphy.a.p/mcmc_slice-sampling.cc.o src/libbaliphy.a.p/mcmc_moves.cc.o src/libbaliphy.a.p/mcmc_sample-branch-lengths.cc.o src/libbaliphy.a.p/mcmc_sample-alignment.cc.o src/libbaliphy.a.p/mcmc_sample-topology-SPR.cc.o src/libbaliphy.a.p/mcmc_sample-topology-NNI.cc.o src/libbaliphy.a.p/mcmc_sample-A4.cc.o src/libbaliphy.a.p/mcmc_sample-A5.cc.o src/libbaliphy.a.p/mcmc_sample-A5-2D.cc.o src/libbaliphy.a.p/mcmc_sample-node.cc.o src/libbaliphy.a.p/mcmc_sample-cube.cc.o src/libbaliphy.a.p/mcmc_sample-tri.cc.o src/libbaliphy.a.p/substitution_ops.cc.o src/libbaliphy.a.p/substitution_cache.cc.o src/libbaliphy.a.p/substitution_likelihood.cc.o src/libbaliphy.a.p/substitution_likelihoodSEV.cc.o src/libbaliphy.a.p/substitution_parsimony.cc.o src/libbaliphy.a.p/math_exponential.cc.o src/libbaliphy.a.p/math_pow2.cc.o src/libbaliphy.a.p/models_TreeInterface.cc.o src/libbaliphy.a.p/models_parameters.cc.o src/libbaliphy.a.p/models_A-T-prog.cc.o src/libbaliphy.a.p/models_rules.cc.o src/libbaliphy.a.p/models_parse.cc.o src/libbaliphy.a.p/models_driver.cc.o src/libbaliphy.a.p/models_parser.cc.o src/libbaliphy.a.p/models_lexer.cc.o src/libbaliphy.a.p/models_compile.cc.o src/libbaliphy.a.p/models_typecheck.cc.o src/libbaliphy.a.p/models_unification.cc.o src/libbaliphy.a.p/models_code-generation.cc.o src/libbaliphy.a.p/models_logger.cc.o src/libbaliphy.a.p/tree-align_link2.cc.o src/libbaliphy.a.p/probability_choose.cc.o src/libbaliphy.a.p/probability_probability.cc.o src/libbaliphy.a.p/imodel_imodel.cc.o src/libbaliphy.a.p/alignment_alignment-constraint.cc.o src/libbaliphy.a.p/alignment_alignment-util2.cc.o src/libbaliphy.a.p/tree-align_n_indels2.cc.o src/libbaliphy.a.p/tools_parsimony2.cc.o src/libbaliphy.a.p/version.cc.o
-[319/379] c++ -Isrc/alignment-gild.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-gild.p/tools_alignment-gild.cc.o -MF src/alignment-gild.p/tools_alignment-gild.cc.o.d -o src/alignment-gild.p/tools_alignment-gild.cc.o -c ../src/tools/alignment-gild.cc
-[320/379] c++ -Isrc/builtins/Parsimony.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Parsimony.so.p/Parsimony.cc.o -MF src/builtins/Parsimony.so.p/Parsimony.cc.o.d -o src/builtins/Parsimony.so.p/Parsimony.cc.o -c ../src/builtins/Parsimony.cc
-[321/379] c++  -o src/builtins/Parsimony.so src/builtins/Parsimony.so.p/Parsimony.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[322/379] c++  -o src/alignment-gild src/alignment-gild.p/tools_alignment-gild.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[323/379] c++ -Isrc/trees-to-SRQ.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o -MF src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o.d -o src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o -c ../src/tools/trees-to-SRQ.cc
-[324/379] c++ -Isrc/tree-mean-lengths.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o -MF src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o.d -o src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o -c ../src/tools/tree-mean-lengths.cc
-[325/379] c++ -Isrc/alignment-indices.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-indices.p/tools_alignment-indices.cc.o -MF src/alignment-indices.p/tools_alignment-indices.cc.o.d -o src/alignment-indices.p/tools_alignment-indices.cc.o -c ../src/tools/alignment-indices.cc
-[326/379] c++  -o src/tree-mean-lengths src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[327/379] c++  -o src/trees-to-SRQ src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[328/379] c++  -o src/alignment-indices src/alignment-indices.p/tools_alignment-indices.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[329/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/bali-phy.cc.o -MF src/bali-phy/bali-phy.p/bali-phy.cc.o.d -o src/bali-phy/bali-phy.p/bali-phy.cc.o -c ../src/bali-phy/bali-phy.cc
-../src/bali-phy/bali-phy.cc: In function ‘void report_mem()’:
-../src/bali-phy/bali-phy.cc:124:9: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
-  124 |   system(cmd.str().c_str());
-      |   ~~~~~~^~~~~~~~~~~~~~~~~~~
-[330/379] c++ -Isrc/cut-range.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/cut-range.p/tools_cut-range.cc.o -MF src/cut-range.p/tools_cut-range.cc.o.d -o src/cut-range.p/tools_cut-range.cc.o -c ../src/tools/cut-range.cc
-[331/379] c++ -Isrc/builtins/File.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/File.so.p/File.cc.o -MF src/builtins/File.so.p/File.cc.o.d -o src/builtins/File.so.p/File.cc.o -c ../src/builtins/File.cc
-[332/379] c++  -o src/cut-range src/cut-range.p/tools_cut-range.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[333/379] c++  -o src/builtins/File.so src/builtins/File.so.p/File.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[334/379] c++ -Isrc/mctree-mean-lengths.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o -MF src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o.d -o src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o -c ../src/tools/mctree-mean-lengths.cc
-[335/379] c++ -Isrc/pickout.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/pickout.p/tools_pickout.cc.o -MF src/pickout.p/tools_pickout.cc.o.d -o src/pickout.p/tools_pickout.cc.o -c ../src/tools/pickout.cc
-[336/379] c++ -Isrc/builtins/IntMap.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/IntMap.so.p/IntMap.cc.o -MF src/builtins/IntMap.so.p/IntMap.cc.o.d -o src/builtins/IntMap.so.p/IntMap.cc.o -c ../src/builtins/IntMap.cc
+[246/379] c++ -Isrc/model_P.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/model_P.p/tools_model_P.cc.o -MF src/model_P.p/tools_model_P.cc.o.d -o src/model_P.p/tools_model_P.cc.o -c ../src/tools/model_P.cc
+[247/379] c++ -Isrc/builtins/Num.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Num.so.p/Num.cc.o -MF src/builtins/Num.so.p/Num.cc.o.d -o src/builtins/Num.so.p/Num.cc.o -c ../src/builtins/Num.cc
+[248/379] c++ -Isrc/builtins/SModel.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/SModel.so.p/SModel.cc.o -MF src/builtins/SModel.so.p/SModel.cc.o.d -o src/builtins/SModel.so.p/SModel.cc.o -c ../src/builtins/SModel.cc
+[249/379] c++ -Isrc/builtins/Parsimony.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Parsimony.so.p/Parsimony.cc.o -MF src/builtins/Parsimony.so.p/Parsimony.cc.o.d -o src/builtins/Parsimony.so.p/Parsimony.cc.o -c ../src/builtins/Parsimony.cc
+[250/379] c++ -Isrc/builtins/Likelihood.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Likelihood.so.p/Likelihood.cc.o -MF src/builtins/Likelihood.so.p/Likelihood.cc.o.d -o src/builtins/Likelihood.so.p/Likelihood.cc.o -c ../src/builtins/Likelihood.cc
+[251/379] c++ -Isrc/builtins/LikelihoodSEV.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o -MF src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o.d -o src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o -c ../src/builtins/LikelihoodSEV.cc
+[252/379] c++ -Isrc/builtins/Alignment.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Alignment.so.p/Alignment.cc.o -MF src/builtins/Alignment.so.p/Alignment.cc.o.d -o src/builtins/Alignment.so.p/Alignment.cc.o -c ../src/builtins/Alignment.cc
+[253/379] c++ -Isrc/builtins/IntMap.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/IntMap.so.p/IntMap.cc.o -MF src/builtins/IntMap.so.p/IntMap.cc.o.d -o src/builtins/IntMap.so.p/IntMap.cc.o -c ../src/builtins/IntMap.cc
 In file included from ../external/immer/immer/detail/hamts/champ.hpp:12,
                  from ../external/immer/immer/map.hpp:12,
                  from ../src/computation/machine/gcobject.H:5,
@@ -8692,184 +8645,201 @@
 ../external/immer/immer/heap/cpp_heap.hpp:28:30: note: object of size 24 allocated by ‘operator new’
    28 |         return ::operator new(size);
       |                ~~~~~~~~~~~~~~^~~~~~
-[337/379] c++  -o src/pickout src/pickout.p/tools_pickout.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[338/379] c++ -Isrc/bali-phy/bali-phy.p -Isrc/bali-phy -I../src/bali-phy -I. -I.. -Isrc -I../src -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/bali-phy/bali-phy.p/A-T-model.cc.o -MF src/bali-phy/bali-phy.p/A-T-model.cc.o.d -o src/bali-phy/bali-phy.p/A-T-model.cc.o -c ../src/bali-phy/A-T-model.cc
-[339/379] c++  -o src/builtins/IntMap.so src/builtins/IntMap.so.p/IntMap.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[340/379] c++  -o src/mctree-mean-lengths src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[341/379] c++ -Isrc/tree-tool.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/tree-tool.p/tools_tree-tool.cc.o -MF src/tree-tool.p/tools_tree-tool.cc.o.d -o src/tree-tool.p/tools_tree-tool.cc.o -c ../src/tools/tree-tool.cc
-[342/379] c++  -o src/tree-tool src/tree-tool.p/tools_tree-tool.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[343/379] c++ -Isrc/alignments-diff.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignments-diff.p/tools_alignments-diff.cc.o -MF src/alignments-diff.p/tools_alignments-diff.cc.o.d -o src/alignments-diff.p/tools_alignments-diff.cc.o -c ../src/tools/alignments-diff.cc
-[344/379] c++ -Isrc/builtins/Alignment.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Alignment.so.p/Alignment.cc.o -MF src/builtins/Alignment.so.p/Alignment.cc.o.d -o src/builtins/Alignment.so.p/Alignment.cc.o -c ../src/builtins/Alignment.cc
-[345/379] c++  -o src/alignments-diff src/alignments-diff.p/tools_alignments-diff.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[346/379] c++  -o src/builtins/Alignment.so src/builtins/Alignment.so.p/Alignment.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[347/379] c++ -Isrc/trees-distances.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-distances.p/tools_trees-distances.cc.o -MF src/trees-distances.p/tools_trees-distances.cc.o.d -o src/trees-distances.p/tools_trees-distances.cc.o -c ../src/tools/trees-distances.cc
-[348/379] c++ -Isrc/alignment-max.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-max.p/tools_alignment-max.cc.o -MF src/alignment-max.p/tools_alignment-max.cc.o.d -o src/alignment-max.p/tools_alignment-max.cc.o -c ../src/tools/alignment-max.cc
-[349/379] c++  -o src/trees-distances src/trees-distances.p/tools_trees-distances.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[350/379] c++  -o src/alignment-max src/alignment-max.p/tools_alignment-max.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[351/379] c++ -Isrc/alignment-draw.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-draw.p/tools_alignment-draw.cc.o -MF src/alignment-draw.p/tools_alignment-draw.cc.o.d -o src/alignment-draw.p/tools_alignment-draw.cc.o -c ../src/tools/alignment-draw.cc
-[352/379] c++  -o src/alignment-draw src/alignment-draw.p/tools_alignment-draw.cc.o src/alignment-draw.p/tools_colors.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[353/379] c++ -Isrc/bali-subsample.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/bali-subsample.p/tools_subsample.cc.o -MF src/bali-subsample.p/tools_subsample.cc.o.d -o src/bali-subsample.p/tools_subsample.cc.o -c ../src/tools/subsample.cc
-[354/379] c++  -o src/bali-subsample src/bali-subsample.p/tools_subsample.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[355/379] c++ -Isrc/builtins/SModel.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/SModel.so.p/SModel.cc.o -MF src/builtins/SModel.so.p/SModel.cc.o.d -o src/builtins/SModel.so.p/SModel.cc.o -c ../src/builtins/SModel.cc
-[356/379] c++ -Isrc/mcon-tool.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/mcon-tool.p/tools_mcon-tool.cc.o -MF src/mcon-tool.p/tools_mcon-tool.cc.o.d -o src/mcon-tool.p/tools_mcon-tool.cc.o -c ../src/tools/mcon-tool.cc
-[357/379] c++ -Isrc/alignment-thin.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-thin.p/tools_alignment-thin.cc.o -MF src/alignment-thin.p/tools_alignment-thin.cc.o.d -o src/alignment-thin.p/tools_alignment-thin.cc.o -c ../src/tools/alignment-thin.cc
-[358/379] c++  -o src/builtins/SModel.so src/builtins/SModel.so.p/SModel.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
-[359/379] c++  -o src/mcon-tool src/mcon-tool.p/tools_mcon-tool.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[360/379] c++  -o src/alignment-thin src/alignment-thin.p/tools_alignment-thin.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[361/379] c++  -o src/bali-phy/bali-phy src/bali-phy/bali-phy.p/link-partitions.cc.o src/bali-phy/bali-phy.p/bali-phy.cc.o src/bali-phy/bali-phy.p/help.cc.o src/bali-phy/bali-phy.p/A-T-model.cc.o src/bali-phy/bali-phy.p/files.cc.o src/bali-phy/bali-phy.p/system.cc.o src/bali-phy/bali-phy.p/cmd_line.cc.o src/bali-phy/bali-phy.p/paths.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-export-dynamic -Wl,--whole-archive -Wl,--start-group src/util/libutil.a src/mcon/libmcon.a src/libcommon.a src/computation/libcomputation.a src/libbaliphy.a -Wl,--no-whole-archive -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -ldl -lm -lfmt -lfmt -lfmt -Wl,--end-group
-[362/379] c++ -Isrc/trees-consensus.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-consensus.p/tools_trees-consensus.cc.o -MF src/trees-consensus.p/tools_trees-consensus.cc.o.d -o src/trees-consensus.p/tools_trees-consensus.cc.o -c ../src/tools/trees-consensus.cc
+[254/379] c++ -Isrc/stats-select.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/stats-select.p/tools_stats-select.cc.o -MF src/stats-select.p/tools_stats-select.cc.o.d -o src/stats-select.p/tools_stats-select.cc.o -c ../src/tools/stats-select.cc
+[255/379] c++ -Isrc/alignment-info.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-info.p/tools_alignment-info.cc.o -MF src/alignment-info.p/tools_alignment-info.cc.o.d -o src/alignment-info.p/tools_alignment-info.cc.o -c ../src/tools/alignment-info.cc
+[256/379] c++ -Isrc/statreport.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/statreport.p/tools_statreport.cc.o -MF src/statreport.p/tools_statreport.cc.o.d -o src/statreport.p/tools_statreport.cc.o -c ../src/tools/statreport.cc
+[257/379] c++ -Isrc/alignment-chop-internal.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o -MF src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o.d -o src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o -c ../src/tools/alignment-chop-internal.cc
+[258/379] c++ -Isrc/alignment-gild.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-gild.p/tools_alignment-gild.cc.o -MF src/alignment-gild.p/tools_alignment-gild.cc.o.d -o src/alignment-gild.p/tools_alignment-gild.cc.o -c ../src/tools/alignment-gild.cc
+[259/379] c++ -Isrc/alignment-consensus.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-consensus.p/tools_alignment-consensus.cc.o -MF src/alignment-consensus.p/tools_alignment-consensus.cc.o.d -o src/alignment-consensus.p/tools_alignment-consensus.cc.o -c ../src/tools/alignment-consensus.cc
+[260/379] c++ -Isrc/alignment-indices.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-indices.p/tools_alignment-indices.cc.o -MF src/alignment-indices.p/tools_alignment-indices.cc.o.d -o src/alignment-indices.p/tools_alignment-indices.cc.o -c ../src/tools/alignment-indices.cc
+[261/379] c++ -Isrc/alignment-find.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-find.p/tools_alignment-find.cc.o -MF src/alignment-find.p/tools_alignment-find.cc.o.d -o src/alignment-find.p/tools_alignment-find.cc.o -c ../src/tools/alignment-find.cc
+[262/379] c++ -Isrc/alignment-draw.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-draw.p/tools_colors.cc.o -MF src/alignment-draw.p/tools_colors.cc.o.d -o src/alignment-draw.p/tools_colors.cc.o -c ../src/tools/colors.cc
+[263/379] c++ -Isrc/builtins/File.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/File.so.p/File.cc.o -MF src/builtins/File.so.p/File.cc.o.d -o src/builtins/File.so.p/File.cc.o -c ../src/builtins/File.cc
+[264/379] c++ -Isrc/alignment-translate.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-translate.p/tools_alignment-translate.cc.o -MF src/alignment-translate.p/tools_alignment-translate.cc.o.d -o src/alignment-translate.p/tools_alignment-translate.cc.o -c ../src/tools/alignment-translate.cc
+[265/379] c++ -Isrc/trees-bootstrap.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-bootstrap.p/tools_bootstrap.cc.o -MF src/trees-bootstrap.p/tools_bootstrap.cc.o.d -o src/trees-bootstrap.p/tools_bootstrap.cc.o -c ../src/tools/bootstrap.cc
+[266/379] c++ -Isrc/tree-mean-lengths.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o -MF src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o.d -o src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o -c ../src/tools/tree-mean-lengths.cc
+[267/379] c++ -Isrc/mctree-mean-lengths.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o -MF src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o.d -o src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o -c ../src/tools/mctree-mean-lengths.cc
+[268/379] c++ -Isrc/trees-to-SRQ.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o -MF src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o.d -o src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o -c ../src/tools/trees-to-SRQ.cc
+[269/379] c++ -Isrc/cut-range.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/cut-range.p/tools_cut-range.cc.o -MF src/cut-range.p/tools_cut-range.cc.o.d -o src/cut-range.p/tools_cut-range.cc.o -c ../src/tools/cut-range.cc
+[270/379] c++ -Isrc/alignment-max.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-max.p/tools_alignment-max.cc.o -MF src/alignment-max.p/tools_alignment-max.cc.o.d -o src/alignment-max.p/tools_alignment-max.cc.o -c ../src/tools/alignment-max.cc
+[271/379] c++  -o src/builtins/Array.so src/builtins/Array.so.p/Array.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[272/379] c++  -o src/builtins/Data.so src/builtins/Data.so.p/Data.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[273/379] c++  -o src/builtins/Prelude.so src/builtins/Prelude.so.p/Prelude.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[274/379] c++  -o src/builtins/Alphabet.so src/builtins/Alphabet.so.p/Alphabet.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[275/379] c++  -o src/builtins/Pair.so src/builtins/Pair.so.p/Pair.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[276/379] c++  -o src/builtins/Modifiables.so src/builtins/Modifiables.so.p/Modifiables.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[277/379] c++  -o src/builtins/Alignment.so src/builtins/Alignment.so.p/Alignment.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[278/379] c++  -o src/builtins/Distribution.so src/builtins/Distribution.so.p/Distribution.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[279/379] c++  -o src/builtins/PopGen.so src/builtins/PopGen.so.p/PopGen.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[280/379] c++  -o src/builtins/Range.so src/builtins/Range.so.p/Range.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[281/379] c++  -o src/builtins/SModel.so src/builtins/SModel.so.p/SModel.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[282/379] c++  -o src/builtins/MCMC.so src/builtins/MCMC.so.p/MCMC.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[283/379] c++ -Isrc/pickout.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/pickout.p/tools_pickout.cc.o -MF src/pickout.p/tools_pickout.cc.o.d -o src/pickout.p/tools_pickout.cc.o -c ../src/tools/pickout.cc
+[284/379] c++  -o src/builtins/Vector.so src/builtins/Vector.so.p/Vector.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[285/379] c++  -o src/builtins/Environment.so src/builtins/Environment.so.p/Environment.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[286/379] c++  -o src/builtins/Real.so src/builtins/Real.so.p/Real.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[287/379] c++  -o src/builtins/Bits.so src/builtins/Bits.so.p/Bits.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[288/379] c++  -o src/builtins/Foreign.so src/builtins/Foreign.so.p/Foreign.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[289/379] c++  -o src/builtins/Char.so src/builtins/Char.so.p/Char.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[290/379] c++  -o src/builtins/Text.so src/builtins/Text.so.p/Text.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[291/379] c++  -o src/builtins/IntSet.so src/builtins/IntSet.so.p/IntSet.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[292/379] c++  -o src/builtins/IntMap.so src/builtins/IntMap.so.p/IntMap.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[293/379] c++  -o src/builtins/Likelihood.so src/builtins/Likelihood.so.p/Likelihood.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[294/379] c++  -o src/builtins/Parsimony.so src/builtins/Parsimony.so.p/Parsimony.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[295/379] c++  -o src/builtins/LikelihoodSEV.so src/builtins/LikelihoodSEV.so.p/LikelihoodSEV.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[296/379] c++  -o src/builtins/Num.so src/builtins/Num.so.p/Num.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[297/379] c++  -o src/model_P src/model_P.p/tools_model_P.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[298/379] c++  -o src/builtins/File.so src/builtins/File.so.p/File.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[299/379] c++  -o src/statreport src/statreport.p/tools_statreport.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[300/379] c++  -o src/stats-select src/stats-select.p/tools_stats-select.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[301/379] c++  -o src/alignment-max src/alignment-max.p/tools_alignment-max.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[302/379] c++  -o src/alignment-consensus src/alignment-consensus.p/tools_alignment-consensus.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[303/379] c++  -o src/alignment-gild src/alignment-gild.p/tools_alignment-gild.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[304/379] c++  -o src/alignment-chop-internal src/alignment-chop-internal.p/tools_alignment-chop-internal.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[305/379] c++  -o src/alignment-indices src/alignment-indices.p/tools_alignment-indices.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[306/379] c++  -o src/alignment-info src/alignment-info.p/tools_alignment-info.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[307/379] c++  -o src/alignment-translate src/alignment-translate.p/tools_alignment-translate.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[308/379] c++  -o src/alignment-find src/alignment-find.p/tools_alignment-find.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[309/379] c++  -o src/tree-mean-lengths src/tree-mean-lengths.p/tools_tree-mean-lengths.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[310/379] c++  -o src/pickout src/pickout.p/tools_pickout.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[311/379] c++ -Isrc/tree-tool.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/tree-tool.p/tools_tree-tool.cc.o -MF src/tree-tool.p/tools_tree-tool.cc.o.d -o src/tree-tool.p/tools_tree-tool.cc.o -c ../src/tools/tree-tool.cc
+[312/379] c++  -o src/cut-range src/cut-range.p/tools_cut-range.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[313/379] c++  -o src/mctree-mean-lengths src/mctree-mean-lengths.p/tools_mctree-mean-lengths.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[314/379] c++  -o src/trees-to-SRQ src/trees-to-SRQ.p/tools_trees-to-SRQ.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[315/379] /usr/bin/meson --internal exe --capture doc/model_P.1 -- /usr/bin/pandoc -s -t man ../doc/man/model_P.md
+[316/379] /usr/bin/meson --internal exe --capture doc/bali-phy.1 -- /usr/bin/pandoc -s -t man ../doc/man/bali-phy.md
+[317/379] c++  -o src/tree-tool src/tree-tool.p/tools_tree-tool.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[318/379] /usr/bin/meson --internal exe --capture doc/statreport.1 -- /usr/bin/pandoc -s -t man ../doc/man/statreport.md
+[319/379] /usr/bin/meson --internal exe --capture doc/stats-select.1 -- /usr/bin/pandoc -s -t man ../doc/man/stats-select.md
+[320/379] /usr/bin/meson --internal exe --capture doc/alignment-gild.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-gild.md
+[321/379] /usr/bin/meson --internal exe --capture doc/alignment-consensus.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-consensus.md
+[322/379] /usr/bin/meson --internal exe --capture doc/alignment-max.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-max.md
+[323/379] c++ -Isrc/alignments-diff.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignments-diff.p/tools_alignments-diff.cc.o -MF src/alignments-diff.p/tools_alignments-diff.cc.o.d -o src/alignments-diff.p/tools_alignments-diff.cc.o -c ../src/tools/alignments-diff.cc
+[324/379] /usr/bin/meson --internal exe --capture doc/alignment-indices.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-indices.md
+[325/379] /usr/bin/meson --internal exe --capture doc/alignment-info.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-info.md
+[326/379] /usr/bin/meson --internal exe --capture doc/alignment-chop-internal.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-chop-internal.md
+[327/379] /usr/bin/meson --internal exe --capture doc/alignment-cat.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-cat.md
+[328/379] /usr/bin/meson --internal exe --capture doc/alignment-find.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-find.md
+[329/379] /usr/bin/meson --internal exe --capture doc/trees-consensus.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-consensus.md
+[330/379] /usr/bin/meson --internal exe --capture doc/alignment-translate.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-translate.md
+[331/379] /usr/bin/meson --internal exe --capture doc/tree-mean-lengths.1 -- /usr/bin/pandoc -s -t man ../doc/man/tree-mean-lengths.md
+[332/379] /usr/bin/meson --internal exe --capture doc/mctree-mean-lengths.1 -- /usr/bin/pandoc -s -t man ../doc/man/mctree-mean-lengths.md
+[333/379] c++ -Isrc/trees-distances.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-distances.p/tools_trees-distances.cc.o -MF src/trees-distances.p/tools_trees-distances.cc.o.d -o src/trees-distances.p/tools_trees-distances.cc.o -c ../src/tools/trees-distances.cc
+[334/379] /usr/bin/meson --internal exe --capture doc/trees-to-SRQ.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-to-SRQ.md
+[335/379] /usr/bin/meson --internal exe --capture doc/pickout.1 -- /usr/bin/pandoc -s -t man ../doc/man/pickout.md
+[336/379] c++  -o src/alignments-diff src/alignments-diff.p/tools_alignments-diff.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[337/379] /usr/bin/meson --internal exe --capture doc/cut-range.1 -- /usr/bin/pandoc -s -t man ../doc/man/cut-range.md
+[338/379] /usr/bin/meson --internal exe --capture doc/trees-distances.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-distances.md
+[339/379] c++ -Isrc/alignment-draw.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-draw.p/tools_alignment-draw.cc.o -MF src/alignment-draw.p/tools_alignment-draw.cc.o.d -o src/alignment-draw.p/tools_alignment-draw.cc.o -c ../src/tools/alignment-draw.cc
+[340/379] /usr/bin/meson --internal exe --capture doc/alignments-diff.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignments-diff.md
+[341/379] /usr/bin/meson --internal exe --capture doc/tree-tool.1 -- /usr/bin/pandoc -s -t man ../doc/man/tree-tool.md
+[342/379] /usr/bin/meson --internal exe --capture doc/alignment-thin.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-thin.md
+[343/379] /usr/bin/meson --internal exe --capture doc/alignment-distances.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-distances.md
+[344/379] /usr/bin/meson --internal exe --capture doc/alignment-draw.1 -- /usr/bin/pandoc -s -t man ../doc/man/alignment-draw.md
+[345/379] /usr/bin/meson --internal exe --capture doc/trees-bootstrap.1 -- /usr/bin/pandoc -s -t man ../doc/man/trees-bootstrap.md
+[346/379] /usr/bin/meson --internal exe --capture doc/draw-tree.1 -- /usr/bin/pandoc -s -t man ../doc/man/draw-tree.md
+[347/379] c++  -o src/trees-distances src/trees-distances.p/tools_trees-distances.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[348/379] /usr/bin/meson --internal exe --capture doc/summarize-ancestors.1 -- /usr/bin/pandoc -s -t man ../doc/man/summarize-ancestors.md
+[349/379] c++  -o src/alignment-draw src/alignment-draw.p/tools_alignment-draw.cc.o src/alignment-draw.p/tools_colors.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[350/379] /usr/bin/meson --internal exe --capture doc/extract-ancestors.1 -- /usr/bin/pandoc -s -t man ../doc/man/extract-ancestors.md
+[351/379] /usr/bin/meson --internal exe --capture doc/bp-analyze.1 -- /usr/bin/pandoc -s -t man ../doc/man/bp-analyze.md
+[352/379] /usr/bin/meson --internal exe --capture doc/mcon-tool.1 -- /usr/bin/pandoc -s -t man ../doc/man/mcon-tool.md
+[353/379] /usr/bin/meson --internal exe --capture doc/bali-phy-pkg.1 -- /usr/bin/pandoc -s -t man ../doc/man/bali-phy-pkg.md
+[354/379] /usr/bin/meson --internal exe --capture doc/bali-subsample.1 -- /usr/bin/pandoc -s -t man ../doc/man/bali-subsample.md
+[355/379] c++ -Isrc/trees-consensus.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-consensus.p/tools_trees-consensus.cc.o -MF src/trees-consensus.p/tools_trees-consensus.cc.o.d -o src/trees-consensus.p/tools_trees-consensus.cc.o -c ../src/tools/trees-consensus.cc
+[356/379] c++  -o src/trees-consensus src/trees-consensus.p/tools_trees-consensus.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[357/379] c++ -Isrc/alignment-cat.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-cat.p/tools_alignment-cat.cc.o -MF src/alignment-cat.p/tools_alignment-cat.cc.o.d -o src/alignment-cat.p/tools_alignment-cat.cc.o -c ../src/tools/alignment-cat.cc
+[358/379] c++ -Isrc/alignment-thin.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-thin.p/tools_alignment-thin.cc.o -MF src/alignment-thin.p/tools_alignment-thin.cc.o.d -o src/alignment-thin.p/tools_alignment-thin.cc.o -c ../src/tools/alignment-thin.cc
+[359/379] c++  -o src/bali-phy/bali-phy src/bali-phy/bali-phy.p/link-partitions.cc.o src/bali-phy/bali-phy.p/bali-phy.cc.o src/bali-phy/bali-phy.p/help.cc.o src/bali-phy/bali-phy.p/A-T-model.cc.o src/bali-phy/bali-phy.p/files.cc.o src/bali-phy/bali-phy.p/system.cc.o src/bali-phy/bali-phy.p/cmd_line.cc.o src/bali-phy/bali-phy.p/paths.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-export-dynamic -Wl,--whole-archive -Wl,--start-group src/util/libutil.a src/mcon/libmcon.a src/libcommon.a src/computation/libcomputation.a src/libbaliphy.a -Wl,--no-whole-archive -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -ldl -lm -lfmt -lfmt -lfmt -Wl,--end-group
+[360/379] c++  -o src/alignment-cat src/alignment-cat.p/tools_alignment-cat.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[361/379] c++  -o src/alignment-thin src/alignment-thin.p/tools_alignment-thin.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[362/379] c++ -Isrc/mcon-tool.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/mcon-tool.p/tools_mcon-tool.cc.o -MF src/mcon-tool.p/tools_mcon-tool.cc.o.d -o src/mcon-tool.p/tools_mcon-tool.cc.o -c ../src/tools/mcon-tool.cc
 [363/379] c++ -Isrc/alignment-distances.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-distances.p/tools_alignment-distances.cc.o -MF src/alignment-distances.p/tools_alignment-distances.cc.o.d -o src/alignment-distances.p/tools_alignment-distances.cc.o -c ../src/tools/alignment-distances.cc
-[364/379] c++  -o src/trees-consensus src/trees-consensus.p/tools_trees-consensus.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[365/379] c++  -o src/alignment-distances src/alignment-distances.p/tools_alignment-distances.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[366/379] c++ -Isrc/extract-ancestors.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/extract-ancestors.p/tools_extract-ancestors.cc.o -MF src/extract-ancestors.p/tools_extract-ancestors.cc.o.d -o src/extract-ancestors.p/tools_extract-ancestors.cc.o -c ../src/tools/extract-ancestors.cc
-[367/379] c++ -Isrc/alignment-cat.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/alignment-cat.p/tools_alignment-cat.cc.o -MF src/alignment-cat.p/tools_alignment-cat.cc.o.d -o src/alignment-cat.p/tools_alignment-cat.cc.o -c ../src/tools/alignment-cat.cc
-[368/379] c++  -o src/alignment-cat src/alignment-cat.p/tools_alignment-cat.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[364/379] c++  -o src/mcon-tool src/mcon-tool.p/tools_mcon-tool.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[365/379] c++ -Isrc/bali-subsample.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/bali-subsample.p/tools_subsample.cc.o -MF src/bali-subsample.p/tools_subsample.cc.o.d -o src/bali-subsample.p/tools_subsample.cc.o -c ../src/tools/subsample.cc
+[366/379] c++  -o src/alignment-distances src/alignment-distances.p/tools_alignment-distances.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[367/379] c++  -o src/bali-subsample src/bali-subsample.p/tools_subsample.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
+[368/379] c++ -Isrc/extract-ancestors.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/extract-ancestors.p/tools_extract-ancestors.cc.o -MF src/extract-ancestors.p/tools_extract-ancestors.cc.o.d -o src/extract-ancestors.p/tools_extract-ancestors.cc.o -c ../src/tools/extract-ancestors.cc
 [369/379] c++  -o src/extract-ancestors src/extract-ancestors.p/tools_extract-ancestors.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
 [370/379] c++ -Isrc/summarize-ancestors.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/summarize-ancestors.p/tools_summarize-ancestors.cc.o -MF src/summarize-ancestors.p/tools_summarize-ancestors.cc.o.d -o src/summarize-ancestors.p/tools_summarize-ancestors.cc.o -c ../src/tools/summarize-ancestors.cc
-[371/379] c++  -o src/summarize-ancestors src/summarize-ancestors.p/tools_summarize-ancestors.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[372/379] c++ -Isrc/trees-bootstrap.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-bootstrap.p/tools_trees-bootstrap.cc.o -MF src/trees-bootstrap.p/tools_trees-bootstrap.cc.o.d -o src/trees-bootstrap.p/tools_trees-bootstrap.cc.o -c ../src/tools/trees-bootstrap.cc
+[371/379] c++ -Isrc/trees-bootstrap.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/trees-bootstrap.p/tools_trees-bootstrap.cc.o -MF src/trees-bootstrap.p/tools_trees-bootstrap.cc.o.d -o src/trees-bootstrap.p/tools_trees-bootstrap.cc.o -c ../src/tools/trees-bootstrap.cc
+[372/379] c++  -o src/summarize-ancestors src/summarize-ancestors.p/tools_summarize-ancestors.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
 [373/379] c++  -o src/trees-bootstrap src/trees-bootstrap.p/tools_trees-bootstrap.cc.o src/trees-bootstrap.p/tools_bootstrap.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm -lfmt -Wl,--end-group
-[374/379] c++ -Isrc/draw-tree.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1 -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/draw-tree.p/tools_draw-tree.cc.o -MF src/draw-tree.p/tools_draw-tree.cc.o.d -o src/draw-tree.p/tools_draw-tree.cc.o -c ../src/tools/draw-tree.cc
-[375/379] c++  -o src/draw-tree src/draw-tree.p/tools_draw-tree.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm /usr/lib/x86_64-linux-gnu/libcairo.so -lfmt -Wl,--end-group
-[376/379] c++ -Isrc/builtins/SMC.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/SMC.so.p/SMC.cc.o -MF src/builtins/SMC.so.p/SMC.cc.o.d -o src/builtins/SMC.so.p/SMC.cc.o -c ../src/builtins/SMC.cc
+[374/379] c++ -Isrc/builtins/SMC.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/SMC.so.p/SMC.cc.o -MF src/builtins/SMC.so.p/SMC.cc.o.d -o src/builtins/SMC.so.p/SMC.cc.o -c ../src/builtins/SMC.cc
 ../src/builtins/SMC.cc: In function ‘log_double_t wilson_mcvean_2006_CSD(const alignment&, int, const Matrix&, const std::vector<double>&, const std::vector<Chunk>&, double)’:
 ../src/builtins/SMC.cc:1178:15: warning: unused variable ‘S’ [-Wunused-variable]
  1178 |     const int S = Q_.size1();
       |               ^
-[377/379] c++  -o src/builtins/SMC.so src/builtins/SMC.so.p/SMC.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[375/379] c++  -o src/builtins/SMC.so src/builtins/SMC.so.p/SMC.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
+[376/379] c++ -Isrc/draw-tree.p -Isrc -I../src -I. -I.. -I../src/util/include -I../src/mcon/include -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1 -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -MD -MQ src/draw-tree.p/tools_draw-tree.cc.o -MF src/draw-tree.p/tools_draw-tree.cc.o.d -o src/draw-tree.p/tools_draw-tree.cc.o -c ../src/tools/draw-tree.cc
+[377/379] c++  -o src/draw-tree src/draw-tree.p/tools_draw-tree.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXX -Wl,--start-group src/util/libutil.a src/libcommon.a src/mcon/libmcon.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -lm /usr/lib/x86_64-linux-gnu/libcairo.so -lfmt -Wl,--end-group
 [378/379] c++ -Isrc/builtins/Matrix.so.p -Isrc/builtins -I../src/builtins -I. -I.. -Isrc -I../src -I../src/mcon/include -I../src/util/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++20 -O3 -DHAVE_CONFIG_H -Wno-sign-compare -Wno-maybe-uninitialized -Woverloaded-virtual -Wstrict-aliasing -Wno-unknown-pragmas -fdiagnostics-show-template-tree -funroll-loops -fno-math-errno -fno-signed-zeros -DNDEBUG_DP -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -isystem/usr/include/eigen3 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_ALL_NO_LIB -isystem../external/immer -isystemexternal/immer/ -MD -MQ src/builtins/Matrix.so.p/Matrix.cc.o -MF src/builtins/Matrix.so.p/Matrix.cc.o.d -o src/builtins/Matrix.so.p/Matrix.cc.o -c ../src/builtins/Matrix.cc
 [379/379] c++  -o src/builtins/Matrix.so src/builtins/Matrix.so.p/Matrix.cc.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/build/reproducible-path/bali-phy-4.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_random.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.83.0 /usr/lib/x86_64-linux-gnu/libboost_json.so.1.83.0 -Wl,--end-group
    dh_auto_test -O--buildsystem=meson
-	cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb LC_ALL=C.UTF-8 MESON_TESTTHREADS=42 meson test --verbose
+	cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb LC_ALL=C.UTF-8 MESON_TESTTHREADS=20 meson test --verbose
 ninja: Entering directory `/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu'
 [1/4] Generating src/git-version.h with a custom command
   1/204 bali-phy version                                               RUNNING       
->>> MALLOC_PERTURB_=243 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --version
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=208 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --version
 
   2/204 bali-phy help                                                  RUNNING       
->>> MALLOC_PERTURB_=188 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=134 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --help
 
   3/204 bali-phy 5d test                                               RUNNING       
->>> MALLOC_PERTURB_=180 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/5d-muscle.fasta --test --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+>>> MALLOC_PERTURB_=99 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/5d-muscle.fasta --test --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
   4/204 bali-phy 5d +A 50                                              RUNNING       
->>> MALLOC_PERTURB_=65 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/5d-muscle.fasta --iter=50 -V --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=187 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/5d-muscle.fasta --iter=50 -V --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
   5/204 bali-phy 48 +A 3                                               RUNNING       
->>> MALLOC_PERTURB_=209 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/48-muscle.fasta --iter=3 -V --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=81 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/48-muscle.fasta --iter=3 -V --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
   6/204 bali-phy 5d -A 200                                             RUNNING       
->>> MALLOC_PERTURB_=188 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/5d-muscle.fasta --iter=200 -V --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0 -Inone
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=136 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/../examples/5S-rRNA/5d-muscle.fasta --iter=200 -V --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0 -Inone
 
   7/204 model_P --help                                                 RUNNING       
->>> MALLOC_PERTURB_=206 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/model_P --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=52 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/model_P --help
 
   8/204 statreport --help                                              RUNNING       
->>> MALLOC_PERTURB_=148 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/statreport --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=169 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/statreport --help
 
   9/204 stats-select --help                                            RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=120 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/stats-select --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=125 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/stats-select --help
 
  10/204 alignment-gild --help                                          RUNNING       
->>> MALLOC_PERTURB_=65 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-gild --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=7 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-gild --help
 
  11/204 alignment-consensus --help                                     RUNNING       
->>> MALLOC_PERTURB_=248 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-consensus --help
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=108 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-consensus --help
 
  12/204 alignment-max --help                                           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=166 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-max --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=28 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-max --help
 
  13/204 alignment-chop-internal --help                                 RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=174 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-chop-internal --help
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=63 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-chop-internal --help
 
  14/204 alignment-indices --help                                       RUNNING       
->>> MALLOC_PERTURB_=35 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-indices --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=103 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-indices --help
 
  15/204 alignment-info --help                                          RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=207 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-info --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=8 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-info --help
 
  16/204 alignment-cat --help                                           RUNNING       
->>> MALLOC_PERTURB_=238 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-cat --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=157 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-cat --help
 
  17/204 alignment-translate --help                                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=25 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-translate --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=149 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-translate --help
 
  18/204 alignment-find --help                                          RUNNING       
->>> MALLOC_PERTURB_=96 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-find --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=19 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-find --help
 
  19/204 trees-consensus --help                                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=98 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-consensus --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=72 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-consensus --help
 
  20/204 tree-mean-lengths --help                                       RUNNING       
->>> MALLOC_PERTURB_=213 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/tree-mean-lengths --help
-
- 21/204 mctree-mean-lengths --help                                     RUNNING       
->>> MALLOC_PERTURB_=60 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/mctree-mean-lengths --help
-
- 22/204 trees-to-SRQ --help                                            RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=198 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-to-SRQ --help
-
- 23/204 pickout --help                                                 RUNNING       
->>> MALLOC_PERTURB_=140 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/pickout --help
-
- 24/204 cut-range --help                                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=116 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/cut-range --help
-
- 25/204 trees-distances --help                                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=25 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-distances --help
-
- 26/204 alignment-thin --help                                          RUNNING       
->>> MALLOC_PERTURB_=46 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-thin --help
-
- 27/204 alignments-diff --help                                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=141 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignments-diff --help
-
- 28/204 tree-tool --help                                               RUNNING       
->>> MALLOC_PERTURB_=236 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/tree-tool --help
-
- 29/204 alignment-distances --help                                     RUNNING       
->>> MALLOC_PERTURB_=230 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-distances --help
-
- 30/204 alignment-draw --help                                          RUNNING       
->>> MALLOC_PERTURB_=94 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-draw --help
-
- 31/204 trees-bootstrap --help                                         RUNNING       
->>> MALLOC_PERTURB_=240 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-bootstrap --help
-
- 32/204 draw-tree --help                                               RUNNING       
->>> MALLOC_PERTURB_=129 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/draw-tree --help
-
- 33/204 extract-ancestors --help                                       RUNNING       
->>> MALLOC_PERTURB_=203 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/extract-ancestors --help
-
- 34/204 summarize-ancestors --help                                     RUNNING       
->>> MALLOC_PERTURB_=26 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/summarize-ancestors --help
-
- 35/204 mcon-tool --help                                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/mcon-tool --help
-
- 36/204 subsample --help                                               RUNNING       
->>> MALLOC_PERTURB_=219 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-subsample --help
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=188 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/tree-mean-lengths --help
 
- 37/204 bali-phy testsuite IO/errors/Codons/2                          RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=190 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 38/204 bali-phy testsuite IO/errors/Codons/3                          RUNNING       
->>> MALLOC_PERTURB_=143 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 39/204 bali-phy testsuite IO/errors/Codons/stop/2                     RUNNING       
->>> MALLOC_PERTURB_=124 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/stop/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 40/204 bali-phy testsuite IO/errors/Codons/stop/1                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=166 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/stop/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 41/204 bali-phy testsuite IO/errors/Codons/AUTGC                      RUNNING       
->>> MALLOC_PERTURB_=238 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/AUTGC /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 42/204 bali-phy testsuite IO/errors/Codons/1                          RUNNING       
->>> MALLOC_PERTURB_=195 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-  1/204 bali-phy version                                               OK               0.78s
+  1/204 bali-phy version                                               OK               0.74s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 VERSION: 4.0  [4.0]
 BUILD: Feb 28 2025 21:18:52
@@ -8877,7 +8847,7 @@
 COMPILER: gcc 14.2.0 x86_64
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-  2/204 bali-phy help                                                  OK               0.77s
+  2/204 bali-phy help                                                  OK               0.71s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Bayesian Inference of Alignment and Phylogeny
 Usage: bali-phy <sequence-file1> [<sequence-file2> ...] [OPTIONS]
@@ -8925,7 +8895,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-  7/204 model_P --help                                                 OK               0.69s
+  7/204 model_P --help                                                 OK               0.55s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compute marginal likelihoods using stabilized harmonic mean estimator
 Usage: model_P < in-file
@@ -8936,7 +8906,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-  8/204 statreport --help                                              OK               0.67s
+  8/204 statreport --help                                              OK               0.52s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compute summary statistics for tab-delimited data files.
 
@@ -8967,7 +8937,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-  9/204 stats-select --help                                            OK               0.66s
+  9/204 stats-select --help                                            OK               0.47s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Select columns from a Tracer-format data file.
 
@@ -8981,7 +8951,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 10/204 alignment-gild --help                                          OK               0.64s
+ 10/204 alignment-gild --help                                          OK               0.44s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Annotate each residue in the alignment according to the probability that it should align to the hypothetical root character in its column.
 
@@ -8999,7 +8969,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 11/204 alignment-consensus --help                                     OK               0.63s
+ 11/204 alignment-consensus --help                                     OK               0.42s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Construct a consensus alignment to summarize an alignment sample.
 
@@ -9019,7 +8989,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 12/204 alignment-max --help                                           OK               0.62s
+ 12/204 alignment-max --help                                           OK               0.39s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Construct a posterior decoding alignment to summarize an alignment sample.
 
@@ -9044,7 +9014,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 13/204 alignment-chop-internal --help                                 OK               0.60s
+ 13/204 alignment-chop-internal --help                                 OK               0.36s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Remove ancestral sequences from an alignment.
 
@@ -9059,7 +9029,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 14/204 alignment-indices --help                                       OK               0.58s
+ 14/204 alignment-indices --help                                       OK               0.33s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Show the alignment in terms of the index of each character in its sequence.
 
@@ -9079,7 +9049,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 15/204 alignment-info --help                                          OK               0.56s
+ 15/204 alignment-info --help                                          OK               0.31s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Show useful statistics about the alignment.
 
@@ -9097,7 +9067,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 16/204 alignment-cat --help                                           OK               0.55s
+ 16/204 alignment-cat --help                                           OK               0.28s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Concatenate several alignments (with the same sequence names) end-to-end.
 
@@ -9131,7 +9101,7 @@
     % alignment-cat filename1.fasta filename2.fasta > all.fasta
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 17/204 alignment-translate --help                                     OK               0.53s
+ 17/204 alignment-translate --help                                     OK               0.25s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Translate a DNA/RNA alignment into amino acids.
 
@@ -9157,7 +9127,7 @@
     % alignment-translate -rc --frame=2 < dna.fasta > aa2.fasta
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 18/204 alignment-find --help                                          OK               0.52s
+ 18/204 alignment-find --help                                          OK               0.23s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Find the last (or first) FASTA alignment in a file.
   (Alignments are ended by blank lines.)
@@ -9173,7 +9143,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 19/204 trees-consensus --help                                         OK               0.50s
+ 19/204 trees-consensus --help                                         OK               0.21s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Find consensus trees and supported splits.
 
@@ -9231,7 +9201,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 20/204 tree-mean-lengths --help                                       OK               0.48s
+ 20/204 tree-mean-lengths --help                                       OK               0.18s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compute the mean lengths for branches in the given topology.
 
@@ -9255,7 +9225,55 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 21/204 mctree-mean-lengths --help                                     OK               0.47s
+ 21/204 mctree-mean-lengths --help                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=248 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/mctree-mean-lengths --help
+
+ 22/204 trees-to-SRQ --help                                            RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=16 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-to-SRQ --help
+
+ 23/204 pickout --help                                                 RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=67 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/pickout --help
+
+ 24/204 cut-range --help                                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=103 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/cut-range --help
+
+ 25/204 trees-distances --help                                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=176 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-distances --help
+
+ 26/204 alignment-thin --help                                          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=123 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-thin --help
+
+ 27/204 alignments-diff --help                                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=16 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignments-diff --help
+
+ 28/204 tree-tool --help                                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=34 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/tree-tool --help
+
+ 29/204 alignment-distances --help                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=142 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-distances --help
+
+ 30/204 alignment-draw --help                                          RUNNING       
+>>> MALLOC_PERTURB_=171 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/alignment-draw --help
+
+ 31/204 trees-bootstrap --help                                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=104 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/trees-bootstrap --help
+
+ 32/204 draw-tree --help                                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=107 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/draw-tree --help
+
+ 33/204 extract-ancestors --help                                       RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=78 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/extract-ancestors --help
+
+ 34/204 summarize-ancestors --help                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=212 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/summarize-ancestors --help
+
+ 35/204 mcon-tool --help                                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=216 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/mcon-tool --help
+
+ 36/204 subsample --help                                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=11 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-subsample --help
+
+ 21/204 mctree-mean-lengths --help                                     OK               0.68s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compute the mean lengths for branches in the given topology.
 
@@ -9278,7 +9296,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 22/204 trees-to-SRQ --help                                            OK               0.45s
+ 22/204 trees-to-SRQ --help                                            OK               0.63s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Generate Scaled Regeneration Quantile (SRQ) plot
 Usage: tree-to-srq <predicates-file> <sampled-trees> [<sampled-trees> ...]
@@ -9298,7 +9316,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 23/204 pickout --help                                                 OK               0.44s
+ 23/204 pickout --help                                                 OK               0.61s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Generate table from key = value lines in file.
 
@@ -9312,7 +9330,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 24/204 cut-range --help                                               OK               0.42s
+ 24/204 cut-range --help                                               OK               0.57s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Select lines from multiple input files based on lines containing `key = value`.
 
@@ -9335,7 +9353,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 25/204 trees-distances --help                                         OK               0.40s
+ 25/204 trees-distances --help                                         OK               0.54s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compute autocorrelations or other functions of tree distances.
 
@@ -9391,7 +9409,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 26/204 alignment-thin --help                                          OK               0.39s
+ 26/204 alignment-thin --help                                          OK               0.49s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Remove sequences or columns from an alignment.
 
@@ -9457,7 +9475,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 27/204 alignments-diff --help                                         OK               0.37s
+ 27/204 alignments-diff --help                                         OK               0.46s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Align two alignments for comparison.
 
@@ -9480,7 +9498,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 28/204 tree-tool --help                                               OK               0.35s
+ 28/204 tree-tool --help                                               OK               0.42s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Perform various operations on Newick trees.
 
@@ -9511,7 +9529,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 29/204 alignment-distances --help                                     OK               0.34s
+ 29/204 alignment-distances --help                                     OK               0.38s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compute distances between alignments.
 
@@ -9564,7 +9582,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 30/204 alignment-draw --help                                          OK               0.30s
+ 30/204 alignment-draw --help                                          OK               0.34s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Draw an alignment to HTML, optionally coloring residues by AU.
 
@@ -9607,7 +9625,7 @@
     AA+contrast+fade+fade+fade+fade
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 31/204 trees-bootstrap --help                                         OK               0.28s
+ 31/204 trees-bootstrap --help                                         OK               0.32s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Compare support for partitions between different files.
 
@@ -9641,7 +9659,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 32/204 draw-tree --help                                               OK               0.27s
+ 32/204 draw-tree --help                                               OK               0.29s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Draw NEWICK (and some other) formatted files.
 
@@ -9681,7 +9699,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 33/204 extract-ancestors --help                                       OK               0.25s
+ 33/204 extract-ancestors --help                                       OK               0.26s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Extract and name ancestral sequences according to node- and branch- queries.
 
@@ -9710,7 +9728,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 34/204 summarize-ancestors --help                                     OK               0.24s
+ 34/204 summarize-ancestors --help                                     OK               0.22s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Construct alignments with internal sequences for labeled nodes in query tree.
 
@@ -9741,7 +9759,7 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 35/204 mcon-tool --help                                               OK               0.22s
+ 35/204 mcon-tool --help                                               OK               0.19s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Convert MCON files
 
@@ -9758,459 +9776,70 @@
 
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
- 36/204 subsample --help                                               OK               0.21s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Subsample lines in a file.
-
-Usage: subsample [OPTIONS] < in-file
-
-Allowed options:
-  -h [ --help ]            produce help message
-  -x [ --factor ] arg (=1) Factor by which to subsample.
-  --skip arg (=0)          Throw out some lines at the beginning.
-  --max arg                Maximum number of samples to keep
-  --header                 This file has a header - don't throw it out.
-
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+ 37/204 bali-phy testsuite haskell/math/RealFloat                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=104 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/math/RealFloat /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 43/204 bali-phy testsuite IO/errors/DNA-RNA/2                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=57 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/DNA-RNA/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 38/204 bali-phy testsuite haskell/Types/GADT/4                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=200 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 44/204 bali-phy testsuite IO/errors/DNA-RNA/3                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=251 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/DNA-RNA/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 39/204 bali-phy testsuite haskell/Types/GADT/2                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=106 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 45/204 bali-phy testsuite IO/errors/DNA-RNA/1                         RUNNING       
->>> MALLOC_PERTURB_=162 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/DNA-RNA/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 40/204 bali-phy testsuite haskell/Types/GADT/3                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=207 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 46/204 bali-phy testsuite IO/errors/Triplets/2                        RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=95 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Triplets/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 41/204 bali-phy testsuite haskell/Types/GADT/1                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=195 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 47/204 bali-phy testsuite IO/errors/Triplets/AUTGC                    RUNNING       
->>> MALLOC_PERTURB_=226 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Triplets/AUTGC /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 42/204 bali-phy testsuite haskell/Types/9                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=20 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/9 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 48/204 bali-phy testsuite IO/errors/Triplets/1                        RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=103 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Triplets/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 43/204 bali-phy testsuite haskell/Types/11                            RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=13 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/11 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 49/204 bali-phy testsuite haskell/IO/3                                RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=149 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/IO/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 44/204 bali-phy testsuite haskell/Types/4                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=42 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 50/204 bali-phy testsuite haskell/IO/1                                RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=144 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/IO/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 45/204 bali-phy testsuite haskell/Types/2                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=48 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 51/204 bali-phy testsuite haskell/Data/IntMap                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=106 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Data/IntMap /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 46/204 bali-phy testsuite haskell/Types/10                            RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=65 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/10 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 52/204 bali-phy testsuite haskell/Data/Map                            RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=30 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Data/Map /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 47/204 bali-phy testsuite haskell/Types/3                             RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=225 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 53/204 bali-phy testsuite haskell/Data/IntSet                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=199 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Data/IntSet /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 48/204 bali-phy testsuite haskell/Types/1                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=28 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 54/204 bali-phy testsuite haskell/Types/10                            RUNNING       
->>> MALLOC_PERTURB_=10 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/10 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 49/204 bali-phy testsuite haskell/Types/8                             RUNNING       
+>>> MALLOC_PERTURB_=69 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/8 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 55/204 bali-phy testsuite haskell/Types/7                             RUNNING       
->>> MALLOC_PERTURB_=226 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 50/204 bali-phy testsuite haskell/Types/5                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=34 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 56/204 bali-phy testsuite haskell/Types/GADT/2                        RUNNING       
->>> MALLOC_PERTURB_=241 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 51/204 bali-phy testsuite haskell/Types/TypeFamilies/4                RUNNING       
+>>> MALLOC_PERTURB_=159 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 57/204 bali-phy testsuite haskell/Types/GADT/4                        RUNNING       
->>> MALLOC_PERTURB_=162 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 58/204 bali-phy testsuite haskell/Types/GADT/3                        RUNNING       
->>> MALLOC_PERTURB_=241 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 59/204 bali-phy testsuite haskell/Types/GADT/1                        RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=134 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/GADT/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 60/204 bali-phy testsuite haskell/Types/2                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=8 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 61/204 bali-phy testsuite haskell/Types/4                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=51 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 62/204 bali-phy testsuite haskell/Types/5                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=32 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 63/204 bali-phy testsuite haskell/Types/3                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=246 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 64/204 bali-phy testsuite haskell/Types/TypeFamilies/2                RUNNING       
->>> MALLOC_PERTURB_=132 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 65/204 bali-phy testsuite haskell/Types/TypeFamilies/4                RUNNING       
->>> MALLOC_PERTURB_=253 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 66/204 bali-phy testsuite haskell/Types/TypeFamilies/5                RUNNING       
->>> MALLOC_PERTURB_=61 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 67/204 bali-phy testsuite haskell/Types/TypeFamilies/3                RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=189 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 68/204 bali-phy testsuite haskell/Types/TypeFamilies/1                RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=77 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 69/204 bali-phy testsuite haskell/Types/6                             RUNNING       
->>> MALLOC_PERTURB_=228 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 70/204 bali-phy testsuite haskell/Types/1                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=190 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 71/204 bali-phy testsuite haskell/Types/11                            RUNNING       
->>> MALLOC_PERTURB_=115 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/11 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 72/204 bali-phy testsuite haskell/Types/9                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=56 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/9 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 73/204 bali-phy testsuite haskell/Types/8                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=231 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/8 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 74/204 bali-phy testsuite haskell/math/RealFloat                      RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=51 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/math/RealFloat /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 39/204 bali-phy testsuite IO/errors/Codons/stop/2                     OK               0.76s
+ 36/204 subsample --help                                               OK               0.80s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 38/204 bali-phy testsuite IO/errors/Codons/3                          OK               0.79s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 75/204 bali-phy testsuite haskell/Ord/2                               RUNNING       
->>> MALLOC_PERTURB_=219 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Ord/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 76/204 bali-phy testsuite haskell/Ord/3                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=55 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Ord/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 41/204 bali-phy testsuite IO/errors/Codons/AUTGC                      OK               0.78s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 37/204 bali-phy testsuite IO/errors/Codons/2                          OK               0.85s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 77/204 bali-phy testsuite haskell/Ord/1                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=208 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Ord/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 78/204 bali-phy testsuite haskell/parse/1                             RUNNING       
->>> MALLOC_PERTURB_=122 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/parse/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 43/204 bali-phy testsuite IO/errors/DNA-RNA/2                         OK               0.69s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 44/204 bali-phy testsuite IO/errors/DNA-RNA/3                         OK               0.68s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 45/204 bali-phy testsuite IO/errors/DNA-RNA/1                         OK               0.67s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 46/204 bali-phy testsuite IO/errors/Triplets/2                        OK               0.66s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 47/204 bali-phy testsuite IO/errors/Triplets/AUTGC                    OK               0.64s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 48/204 bali-phy testsuite IO/errors/Triplets/1                        OK               0.63s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 54/204 bali-phy testsuite haskell/Types/10                            OK               0.53s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 57/204 bali-phy testsuite haskell/Types/GADT/4                        OK               0.47s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 59/204 bali-phy testsuite haskell/Types/GADT/1                        OK               0.44s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 61/204 bali-phy testsuite haskell/Types/4                             OK               0.40s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 62/204 bali-phy testsuite haskell/Types/5                             OK               0.38s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 65/204 bali-phy testsuite haskell/Types/TypeFamilies/4                OK               0.33s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 79/204 bali-phy testsuite prob_prog/sample_tree/2                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=181 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 80/204 bali-phy testsuite prob_prog/sample_tree/4                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=138 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 81/204 bali-phy testsuite prob_prog/sample_tree/5                     RUNNING       
->>> MALLOC_PERTURB_=101 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 82/204 bali-phy testsuite prob_prog/sample_tree/3                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=217 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 83/204 bali-phy testsuite prob_prog/sample_tree/1                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=164 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 84/204 bali-phy testsuite prob_prog/sample_tree/yule/1                RUNNING       
->>> MALLOC_PERTURB_=153 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/yule/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 85/204 bali-phy testsuite prob_prog/sample_tree/coalescent/2          RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=174 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/coalescent/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 86/204 bali-phy testsuite prob_prog/sample_tree/coalescent/1          RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=161 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/coalescent/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 87/204 bali-phy testsuite prob_prog/demos/variable-dim                RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=97 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/variable-dim /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 88/204 bali-phy testsuite prob_prog/demos/2                           RUNNING       
->>> MALLOC_PERTURB_=206 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 89/204 bali-phy testsuite prob_prog/demos/airline                     RUNNING       
->>> MALLOC_PERTURB_=241 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/airline /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 90/204 bali-phy testsuite prob_prog/demos/4                           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=85 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 64/204 bali-phy testsuite haskell/Types/TypeFamilies/2                OK               0.58s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 91/204 bali-phy testsuite prob_prog/demos/5                           RUNNING       
->>> MALLOC_PERTURB_=41 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 40/204 bali-phy testsuite IO/errors/Codons/stop/1                     OK               1.14s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 92/204 bali-phy testsuite prob_prog/demos/3                           RUNNING       
->>> MALLOC_PERTURB_=177 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 67/204 bali-phy testsuite haskell/Types/TypeFamilies/3                OK               0.59s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 68/204 bali-phy testsuite haskell/Types/TypeFamilies/1                OK               0.57s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 42/204 bali-phy testsuite IO/errors/Codons/1                          OK               1.14s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 69/204 bali-phy testsuite haskell/Types/6                             OK               0.56s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 72/204 bali-phy testsuite haskell/Types/9                             OK               0.51s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 93/204 bali-phy testsuite prob_prog/demos/6                           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=51 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 94/204 bali-phy testsuite prob_prog/demos/1                           RUNNING       
->>> MALLOC_PERTURB_=173 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 95/204 bali-phy testsuite prob_prog/examples.3/mixture_model          RUNNING       
->>> MALLOC_PERTURB_=118 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.3/mixture_model /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 96/204 bali-phy testsuite prob_prog/examples.3/glm_hierarchical_model RUNNING       
->>> MALLOC_PERTURB_=250 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.3/glm_hierarchical_model /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 97/204 bali-phy testsuite prob_prog/coal_mining                       RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=106 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/coal_mining /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 71/204 bali-phy testsuite haskell/Types/11                            OK               0.64s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 98/204 bali-phy testsuite prob_prog/hmm/1                             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=134 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/hmm/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 73/204 bali-phy testsuite haskell/Types/8                             OK               0.63s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
- 99/204 bali-phy testsuite prob_prog/regression                        RUNNING       
->>> MALLOC_PERTURB_=219 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/regression /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 58/204 bali-phy testsuite haskell/Types/GADT/3                        OK               1.48s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-100/204 bali-phy testsuite prob_prog/if-then-else/1                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=149 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/if-then-else/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 55/204 bali-phy testsuite haskell/Types/7                             OK               1.56s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-101/204 bali-phy testsuite prob_prog/observe/2                         RUNNING       
->>> MALLOC_PERTURB_=191 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/observe/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 60/204 bali-phy testsuite haskell/Types/2                             OK               1.51s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-102/204 bali-phy testsuite prob_prog/observe/3                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=66 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/observe/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 78/204 bali-phy testsuite haskell/parse/1                             OK               1.16s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-103/204 bali-phy testsuite prob_prog/observe/1                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=197 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/observe/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 56/204 bali-phy testsuite haskell/Types/GADT/2                        OK               1.80s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+Subsample lines in a file.
 
-104/204 bali-phy testsuite prob_prog/examples.1/GaussianMixture        RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=33 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/GaussianMixture /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+Usage: subsample [OPTIONS] < in-file
 
- 50/204 bali-phy testsuite haskell/IO/1                                OK               1.94s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
+Allowed options:
+  -h [ --help ]            produce help message
+  -x [ --factor ] arg (=1) Factor by which to subsample.
+  --skip arg (=0)          Throw out some lines at the beginning.
+  --max arg                Maximum number of samples to keep
+  --header                 This file has a header - don't throw it out.
 
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-105/204 bali-phy testsuite prob_prog/examples.1/PCFG                   RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=32 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/PCFG /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 52/204 bali-phy testsuite haskell/Types/TypeFamilies/2                RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=141 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 63/204 bali-phy testsuite haskell/Types/3                             OK               1.75s
+ 38/204 bali-phy testsuite haskell/Types/GADT/4                        OK               0.68s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10218,10 +9847,7 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-106/204 bali-phy testsuite prob_prog/examples.1/GaussianRandomWalk     RUNNING       
->>> MALLOC_PERTURB_=205 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/GaussianRandomWalk /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 49/204 bali-phy testsuite haskell/IO/3                                OK               2.18s
+ 41/204 bali-phy testsuite haskell/Types/GADT/1                        OK               0.60s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10229,10 +9855,7 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-107/204 bali-phy testsuite prob_prog/examples.1/LDA                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=79 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/LDA /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 76/204 bali-phy testsuite haskell/Ord/3                               OK               1.84s
+ 42/204 bali-phy testsuite haskell/Types/9                             OK               0.55s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10240,10 +9863,7 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-108/204 bali-phy testsuite prob_prog/examples.2/branching              RUNNING       
->>> MALLOC_PERTURB_=239 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.2/branching /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 70/204 bali-phy testsuite haskell/Types/1                             OK               2.02s
+ 43/204 bali-phy testsuite haskell/Types/11                            OK               0.52s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10251,10 +9871,7 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-109/204 bali-phy testsuite prob_prog/categorical                       RUNNING       
->>> MALLOC_PERTURB_=152 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/categorical /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 66/204 bali-phy testsuite haskell/Types/TypeFamilies/5                OK               2.14s
+ 44/204 bali-phy testsuite haskell/Types/4                             OK               0.49s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10262,32 +9879,22 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-110/204 bali-phy testsuite prob_prog/cluster/2                         RUNNING       
->>> MALLOC_PERTURB_=52 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/cluster/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
- 53/204 bali-phy testsuite haskell/Data/IntSet                         OK               2.55s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+ 53/204 bali-phy testsuite haskell/Types/TypeFamilies/3                RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=10 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-111/204 bali-phy testsuite prob_prog/cluster/1                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=13 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/cluster/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 54/204 bali-phy testsuite haskell/Types/TypeFamilies/1                RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=164 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 74/204 bali-phy testsuite haskell/math/RealFloat                      OK               2.23s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
+ 55/204 bali-phy testsuite haskell/Types/TypeFamilies/5                RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=83 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/TypeFamilies/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+ 56/204 bali-phy testsuite haskell/Types/7                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=62 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-112/204 bali-phy testsuite prob_prog/popgen/li_stephens                RUNNING       
->>> MALLOC_PERTURB_=15 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/popgen/li_stephens /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 57/204 bali-phy testsuite haskell/Types/6                             RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=88 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Types/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 77/204 bali-phy testsuite haskell/Ord/1                               OK               2.22s
+ 46/204 bali-phy testsuite haskell/Types/10                            OK               0.66s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10295,10 +9902,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-113/204 bali-phy testsuite prob_prog/functions/1                       RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=106 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/functions/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 58/204 bali-phy testsuite haskell/parse/1                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=41 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/parse/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 52/204 bali-phy testsuite haskell/Data/Map                            OK               2.79s
+ 49/204 bali-phy testsuite haskell/Types/8                             OK               0.60s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10306,10 +9913,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-114/204 bali-phy testsuite prob_prog/sample_crp                        RUNNING       
->>> MALLOC_PERTURB_=129 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_crp /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 59/204 bali-phy testsuite haskell/Ord/2                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=35 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Ord/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 75/204 bali-phy testsuite haskell/Ord/2                               OK               2.37s
+ 50/204 bali-phy testsuite haskell/Types/5                             OK               0.59s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10317,10 +9924,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-115/204 bali-phy testsuite prob_prog/lazy_sample/2                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=142 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/lazy_sample/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 60/204 bali-phy testsuite haskell/Ord/3                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=44 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Ord/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 51/204 bali-phy testsuite haskell/Data/IntMap                         OK               3.86s
+ 51/204 bali-phy testsuite haskell/Types/TypeFamilies/4                OK               0.59s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10328,10 +9935,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-116/204 bali-phy testsuite prob_prog/lazy_sample/3                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=196 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/lazy_sample/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 61/204 bali-phy testsuite haskell/Ord/1                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=117 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Ord/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 86/204 bali-phy testsuite prob_prog/sample_tree/coalescent/1          OK              49.61s
+ 52/204 bali-phy testsuite haskell/Types/TypeFamilies/2                OK               0.60s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10339,10 +9946,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-117/204 bali-phy testsuite prob_prog/lazy_sample/1                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=79 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/lazy_sample/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 62/204 bali-phy testsuite haskell/Data/Map                            RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=194 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Data/Map /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 80/204 bali-phy testsuite prob_prog/sample_tree/4                     OK              49.83s
+ 54/204 bali-phy testsuite haskell/Types/TypeFamilies/1                OK               0.49s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10350,10 +9957,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-118/204 bali-phy testsuite prob_prog/mcmc/propose                      RUNNING       
->>> MALLOC_PERTURB_=40 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/mcmc/propose /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 63/204 bali-phy testsuite haskell/Data/IntSet                         RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=136 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Data/IntSet /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-101/204 bali-phy testsuite prob_prog/observe/2                         OK              49.05s
+ 53/204 bali-phy testsuite haskell/Types/TypeFamilies/3                OK               0.59s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10361,10 +9968,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-119/204 bali-phy testsuite prob_prog/infer_tree/2                      RUNNING       
->>> MALLOC_PERTURB_=211 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 64/204 bali-phy testsuite haskell/Data/IntMap                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=68 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/Data/IntMap /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 91/204 bali-phy testsuite prob_prog/demos/5                           OK              49.89s
+ 57/204 bali-phy testsuite haskell/Types/6                             OK               0.54s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10372,10 +9979,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-120/204 bali-phy testsuite prob_prog/infer_tree/4                      RUNNING       
->>> MALLOC_PERTURB_=192 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 65/204 bali-phy testsuite haskell/IO/3                                RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=38 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/IO/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-115/204 bali-phy testsuite prob_prog/lazy_sample/2                     OK              48.00s
+ 56/204 bali-phy testsuite haskell/Types/7                             OK               4.08s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10383,10 +9990,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-121/204 bali-phy testsuite prob_prog/infer_tree/5                      RUNNING       
->>> MALLOC_PERTURB_=195 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 66/204 bali-phy testsuite haskell/IO/1                                RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=242 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run haskell/IO/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 90/204 bali-phy testsuite prob_prog/demos/4                           OK              50.31s
+ 45/204 bali-phy testsuite haskell/Types/2                             OK               5.17s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10394,10 +10001,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-122/204 bali-phy testsuite prob_prog/infer_tree/3                      RUNNING       
->>> MALLOC_PERTURB_=230 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 67/204 bali-phy testsuite mcmc/no-imodel                              RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=31 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/no-imodel /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 85/204 bali-phy testsuite prob_prog/sample_tree/coalescent/2          OK              50.48s
+ 40/204 bali-phy testsuite haskell/Types/GADT/3                        OK               5.44s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10405,10 +10012,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-123/204 bali-phy testsuite prob_prog/infer_tree/6                      RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=93 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 68/204 bali-phy testsuite mcmc/fixed-topology/rooted                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=237 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/fixed-topology/rooted /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-103/204 bali-phy testsuite prob_prog/observe/1                         OK              49.52s
+ 65/204 bali-phy testsuite haskell/IO/3                                OK               4.30s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10416,10 +10023,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-124/204 bali-phy testsuite prob_prog/infer_tree/1                      RUNNING       
->>> MALLOC_PERTURB_=46 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 69/204 bali-phy testsuite mcmc/fixed-topology/unrooted                RUNNING       
+>>> MALLOC_PERTURB_=171 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/fixed-topology/unrooted /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 94/204 bali-phy testsuite prob_prog/demos/1                           OK              50.36s
+ 47/204 bali-phy testsuite haskell/Types/3                             OK               5.46s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10427,10 +10034,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-125/204 bali-phy testsuite prob_prog/infer_tree/yule/1                 RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=214 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/yule/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 70/204 bali-phy testsuite mcmc/fixed-scale                            RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=29 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/fixed-scale /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 83/204 bali-phy testsuite prob_prog/sample_tree/1                     OK              50.67s
+ 63/204 bali-phy testsuite haskell/Data/IntSet                         OK               4.76s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10438,10 +10045,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-126/204 bali-phy testsuite prob_prog/infer_tree/coalescent/2           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=254 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/coalescent/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 71/204 bali-phy testsuite mcmc/with-imodel                            RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=53 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/with-imodel /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 88/204 bali-phy testsuite prob_prog/demos/2                           OK              50.64s
+ 39/204 bali-phy testsuite haskell/Types/GADT/2                        OK               6.13s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10449,10 +10056,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-127/204 bali-phy testsuite prob_prog/infer_tree/coalescent/1           RUNNING       
->>> MALLOC_PERTURB_=78 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/coalescent/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 72/204 bali-phy testsuite mcmc/two-sequences/1                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=12 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/two-sequences/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-112/204 bali-phy testsuite prob_prog/popgen/li_stephens                OK              48.78s
+ 59/204 bali-phy testsuite haskell/Ord/2                               OK               5.46s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10460,10 +10067,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-128/204 bali-phy testsuite prob_prog/infer_tree/m7                     RUNNING       
->>> MALLOC_PERTURB_=170 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/m7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 73/204 bali-phy testsuite mcmc/one-sequence/1                         RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=198 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/one-sequence/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-109/204 bali-phy testsuite prob_prog/categorical                       OK              49.10s
+ 48/204 bali-phy testsuite haskell/Types/1                             OK               6.16s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10471,10 +10078,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-129/204 bali-phy testsuite prob_prog/order-two                         RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=120 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/order-two /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 74/204 bali-phy testsuite mcmc/48-sequences/1                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=44 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/48-sequences/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 93/204 bali-phy testsuite prob_prog/demos/6                           OK              50.60s
+ 58/204 bali-phy testsuite haskell/parse/1                             OK               5.66s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10482,10 +10089,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-130/204 bali-phy testsuite prob_prog/no-resample/2                     RUNNING       
->>> MALLOC_PERTURB_=154 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/no-resample/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 75/204 bali-phy testsuite mcmc/two-partitions                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=104 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/two-partitions /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-114/204 bali-phy testsuite prob_prog/sample_crp                        OK              48.75s
+ 60/204 bali-phy testsuite haskell/Ord/3                               OK               6.38s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10493,10 +10100,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-131/204 bali-phy testsuite prob_prog/no-resample/1                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=86 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/no-resample/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 76/204 bali-phy testsuite parse/partitions/4                          RUNNING       
+>>> MALLOC_PERTURB_=99 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-104/204 bali-phy testsuite prob_prog/examples.1/GaussianMixture        OK              49.80s
+ 55/204 bali-phy testsuite haskell/Types/TypeFamilies/5                OK               6.90s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10504,10 +10111,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-132/204 bali-phy testsuite mcmc/fixed-topology/rooted                  RUNNING       
->>> MALLOC_PERTURB_=143 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/fixed-topology/rooted /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 77/204 bali-phy testsuite parse/partitions/2                          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=130 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 82/204 bali-phy testsuite prob_prog/sample_tree/3                     OK              51.07s
+ 66/204 bali-phy testsuite haskell/IO/1                                OK               2.80s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10515,10 +10122,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-133/204 bali-phy testsuite mcmc/fixed-topology/unrooted                RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=109 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/fixed-topology/unrooted /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 78/204 bali-phy testsuite parse/partitions/3                          RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=181 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-106/204 bali-phy testsuite prob_prog/examples.1/GaussianRandomWalk     OK              49.77s
+ 61/204 bali-phy testsuite haskell/Ord/1                               OK               6.80s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10526,10 +10133,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-134/204 bali-phy testsuite mcmc/one-sequence/1                         RUNNING       
->>> MALLOC_PERTURB_=69 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/one-sequence/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 79/204 bali-phy testsuite parse/partitions/1                          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=245 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 89/204 bali-phy testsuite prob_prog/demos/airline                     OK              51.09s
+ 76/204 bali-phy testsuite parse/partitions/4                          OK               0.54s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10537,10 +10144,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-135/204 bali-phy testsuite mcmc/two-sequences/1                        RUNNING       
->>> MALLOC_PERTURB_=69 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/two-sequences/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 80/204 bali-phy testsuite parse/partitions/link/9                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=104 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/9 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 92/204 bali-phy testsuite prob_prog/demos/3                           OK              51.06s
+ 37/204 bali-phy testsuite haskell/math/RealFloat                      OK               8.39s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10548,10 +10155,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-136/204 bali-phy testsuite mcmc/with-imodel                            RUNNING       
->>> MALLOC_PERTURB_=126 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/with-imodel /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 81/204 bali-phy testsuite parse/partitions/link/4                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=201 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-102/204 bali-phy testsuite prob_prog/observe/3                         OK              50.27s
+ 62/204 bali-phy testsuite haskell/Data/Map                            OK               7.77s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10559,10 +10166,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-137/204 bali-phy testsuite mcmc/no-imodel                              RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=207 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/no-imodel /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 82/204 bali-phy testsuite parse/partitions/link/2                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=219 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 81/204 bali-phy testsuite prob_prog/sample_tree/5                     OK              51.34s
+ 81/204 bali-phy testsuite parse/partitions/link/4                     OK               0.69s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10570,10 +10177,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-138/204 bali-phy testsuite mcmc/two-partitions                         RUNNING       
->>> MALLOC_PERTURB_=180 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/two-partitions /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 83/204 bali-phy testsuite parse/partitions/link/3                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=169 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-107/204 bali-phy testsuite prob_prog/examples.1/LDA                    OK              49.88s
+ 83/204 bali-phy testsuite parse/partitions/link/3                     OK               0.59s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10581,10 +10188,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-139/204 bali-phy testsuite mcmc/48-sequences/1                         RUNNING       
->>> MALLOC_PERTURB_=140 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/48-sequences/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 84/204 bali-phy testsuite parse/partitions/link/1                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=55 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-113/204 bali-phy testsuite prob_prog/functions/1                       OK              49.35s
+ 82/204 bali-phy testsuite parse/partitions/link/2                     OK               0.72s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10592,10 +10199,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-140/204 bali-phy testsuite mcmc/fixed-scale                            RUNNING       
->>> MALLOC_PERTURB_=239 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run mcmc/fixed-scale /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 85/204 bali-phy testsuite parse/partitions/link/8                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=232 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/8 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 79/204 bali-phy testsuite prob_prog/sample_tree/2                     OK              51.56s
+ 85/204 bali-phy testsuite parse/partitions/link/8                     OK               0.48s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10603,10 +10210,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-141/204 bali-phy testsuite print/2                                     RUNNING       
->>> MALLOC_PERTURB_=132 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run print/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 86/204 bali-phy testsuite parse/partitions/link/5                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=72 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 98/204 bali-phy testsuite prob_prog/hmm/1                             OK              51.17s
+ 86/204 bali-phy testsuite parse/partitions/link/5                     OK               0.55s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10614,10 +10221,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-142/204 bali-phy testsuite print/1                                     RUNNING       
->>> MALLOC_PERTURB_=193 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run print/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 87/204 bali-phy testsuite parse/partitions/link/7                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=6 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 87/204 bali-phy testsuite prob_prog/demos/variable-dim                OK              51.51s
+ 64/204 bali-phy testsuite haskell/Data/IntMap                         OK               9.82s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10625,10 +10232,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-143/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/2           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=164 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/dna/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 88/204 bali-phy testsuite parse/partitions/link/6                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=198 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 84/204 bali-phy testsuite prob_prog/sample_tree/yule/1                OK              51.69s
+ 87/204 bali-phy testsuite parse/partitions/link/7                     OK               0.59s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10636,10 +10243,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-144/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/3           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=89 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/dna/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 89/204 bali-phy testsuite parse/9                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=172 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/9 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-105/204 bali-phy testsuite prob_prog/examples.1/PCFG                   OK              50.48s
+ 88/204 bali-phy testsuite parse/partitions/link/6                     OK               0.56s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10647,10 +10254,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-145/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/1           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=166 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/dna/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 90/204 bali-phy testsuite parse/11                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=16 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/11 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-116/204 bali-phy testsuite prob_prog/lazy_sample/3                     OK              48.69s
+ 73/204 bali-phy testsuite mcmc/one-sequence/1                         OK             110.02s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10658,10 +10265,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-146/204 bali-phy testsuite parse/guess-alphabet/Codons/rna             RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=56 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/rna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 91/204 bali-phy testsuite parse/functions/1                           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=15 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/functions/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-108/204 bali-phy testsuite prob_prog/examples.2/branching              OK              50.29s
+ 80/204 bali-phy testsuite parse/partitions/link/9                     OK             109.10s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10669,10 +10276,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-147/204 bali-phy testsuite parse/guess-alphabet/dna                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=246 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/dna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 92/204 bali-phy testsuite parse/26                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=173 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/26 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 99/204 bali-phy testsuite prob_prog/regression                        OK              51.81s
+ 89/204 bali-phy testsuite parse/9                                     OK             106.88s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10680,10 +10287,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-148/204 bali-phy testsuite parse/guess-alphabet/rna                    RUNNING       
->>> MALLOC_PERTURB_=70 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/rna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 93/204 bali-phy testsuite parse/4                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=204 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-100/204 bali-phy testsuite prob_prog/if-then-else/1                    OK              51.28s
+ 72/204 bali-phy testsuite mcmc/two-sequences/1                        OK             112.94s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10691,10 +10298,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-149/204 bali-phy testsuite parse/guess-alphabet/aa                     RUNNING       
->>> MALLOC_PERTURB_=206 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/aa /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 94/204 bali-phy testsuite parse/18                                    RUNNING       
+>>> MALLOC_PERTURB_=101 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/18 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-110/204 bali-phy testsuite prob_prog/cluster/2                         OK              51.83s
+ 90/204 bali-phy testsuite parse/11                                    OK             107.58s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10702,10 +10309,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-150/204 bali-phy testsuite parse/guess-alphabet/Triplets/dna           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=56 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Triplets/dna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 95/204 bali-phy testsuite parse/10                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=48 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/10 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-  3/204 bali-phy 5d test                                               OK              55.31s
+  3/204 bali-phy 5d test                                               OK             121.72s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 tree ~ uniform_tree(taxa, gamma(0.5, 1/length(@taxa)))
 subst rates = constant
@@ -10727,19 +10334,19 @@
     rs07:rate ~ logLaplace(-4, 0.707)
     rs07:mean_length ~ shifted_exponential(10, 1)
 
-   iter = 0   prior = -4.552633401961565E1   likelihood = -1.6604381333331185E3   posterior = -1.7059644673527341E3   prior_A = -3.3885529304710055E1   |T| = 4.501618878117573E-1   scale1 = 2.1017854212161288E-1   scale1*|T| = 9.461436929898821E-2   #substs = 249   |indels| = 9   P1/|A| = 129   P1/#indels = 3   P1/|indels| = 9   P1/prior_A = -3.3885529304710055E1   P1/likelihood = -1.6604381333331185E3   P1/#substs = 249   scale = 2.1017854212161288E-1   scale*|T| = 9.461436929898821E-2   |A| = 129   #indels = 3   sigma = 5.9302424077082846E-2   tn93:kappaPur = 2.643243109377308E0   tn93:kappaPyr = 2.0574994591501223E0   tn93:pi[A] = 1.1628043414201245E-1   tn93:pi[C] = 3.566889852831252E-1   tn93:pi[G] = 6.612585247572722E-2   tn93:pi[T] = 4.60904728099135E-1   rs07:rate = 5.237359271982757E-3   rs07:mean_length = 2.1621803805433775E1
+   iter = 0   prior = -4.618020745079176E1   likelihood = -2.7390868976084503E3   posterior = -2.785267105059242E3   prior_A = -4.247692305067001E1   |T| = 2.393220739170454E-1   scale1 = 7.797887152099927E-3   scale1*|T| = 1.8662065254116374E-3   #substs = 251   |indels| = 9   P1/|A| = 129   P1/#indels = 3   P1/|indels| = 9   P1/prior_A = -4.247692305067001E1   P1/likelihood = -2.7390868976084503E3   P1/#substs = 251   scale = 7.797887152099927E-3   scale*|T| = 1.8662065254116374E-3   |A| = 129   #indels = 3   sigma = 2.565186777690049E-1   tn93:kappaPur = 2.2430212102093496E0   tn93:kappaPyr = 1.3632241923087691E0   tn93:pi[A] = 1.2829145417034544E-2   tn93:pi[C] = 2.4590039572110503E-1   tn93:pi[G] = 1.6973289450470944E-1   tn93:pi[T] = 5.715375643571511E-1   rs07:rate = 2.905003728371445E-2   rs07:mean_length = 3.4651715423894998E0
 
 Work:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:03:16 2026
-  total (elapsed) time: 3s (3.783s)
-  total (CPU) time: 1s (1.700s)
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:38:39 2025
+  total (elapsed) time: 5s (5.809s)
+  total (CPU) time: 2s (2.140s)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-151/204 bali-phy testsuite parse/guess-alphabet/Triplets/rna           RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=59 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Triplets/rna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 96/204 bali-phy testsuite parse/21                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=37 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/21 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 95/204 bali-phy testsuite prob_prog/examples.3/mixture_model          OK              53.59s
+ 77/204 bali-phy testsuite parse/partitions/2                          OK             112.99s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10747,10 +10354,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-152/204 bali-phy testsuite parse/let/1                                 RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=168 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/let/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 97/204 bali-phy testsuite parse/rates/1                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=109 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/rates/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-111/204 bali-phy testsuite prob_prog/cluster/1                         OK              53.10s
+ 67/204 bali-phy testsuite mcmc/no-imodel                              OK             115.51s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10758,10 +10365,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-153/204 bali-phy testsuite parse/18                                    RUNNING       
->>> MALLOC_PERTURB_=18 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/18 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 98/204 bali-phy testsuite parse/x3/4                                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=166 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-142/204 bali-phy testsuite print/1                                     OK               4.61s
+ 79/204 bali-phy testsuite parse/partitions/1                          OK             114.14s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10769,10 +10376,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-154/204 bali-phy testsuite parse/error/2                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=214 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+ 99/204 bali-phy testsuite parse/x3/2                                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=118 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 96/204 bali-phy testsuite prob_prog/examples.3/glm_hierarchical_model OK              55.87s
+ 78/204 bali-phy testsuite parse/partitions/3                          OK             117.31s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10780,10 +10387,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-155/204 bali-phy testsuite parse/error/4                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=189 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+100/204 bali-phy testsuite parse/x3/3                                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=50 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-155/204 bali-phy testsuite parse/error/4                               OK               0.22s
+ 84/204 bali-phy testsuite parse/partitions/link/1                     OK             115.55s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10791,10 +10398,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-156/204 bali-phy testsuite parse/error/3                               RUNNING       
->>> MALLOC_PERTURB_=150 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+101/204 bali-phy testsuite parse/x3/1                                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=102 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-154/204 bali-phy testsuite parse/error/2                               OK               0.30s
+ 70/204 bali-phy testsuite mcmc/fixed-scale                            OK             121.12s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10802,10 +10409,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-157/204 bali-phy testsuite parse/error/1                               RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=89 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+102/204 bali-phy testsuite parse/x3/5                                  RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=36 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-156/204 bali-phy testsuite parse/error/3                               OK               0.28s
+ 71/204 bali-phy testsuite mcmc/with-imodel                            OK             121.01s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10813,10 +10420,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-158/204 bali-phy testsuite parse/constraints/1                         RUNNING       
->>> MALLOC_PERTURB_=34 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/constraints/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+103/204 bali-phy testsuite parse/3                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=226 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-157/204 bali-phy testsuite parse/error/1                               OK               0.27s
+ 75/204 bali-phy testsuite mcmc/two-partitions                         OK             120.85s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10824,10 +10431,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-159/204 bali-phy testsuite parse/10                                    RUNNING       
->>> MALLOC_PERTURB_=240 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/10 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+104/204 bali-phy testsuite parse/error/4                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=91 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
- 97/204 bali-phy testsuite prob_prog/coal_mining                       OK              59.21s
+104/204 bali-phy testsuite parse/error/4                               OK               0.34s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10835,10 +10442,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-160/204 bali-phy testsuite parse/22                                    RUNNING       
->>> MALLOC_PERTURB_=153 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/22 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+105/204 bali-phy testsuite parse/error/2                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=7 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-141/204 bali-phy testsuite print/2                                     OK               8.78s
+105/204 bali-phy testsuite parse/error/2                               OK               0.37s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10846,10 +10453,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-161/204 bali-phy testsuite parse/26                                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=127 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/26 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+106/204 bali-phy testsuite parse/error/3                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=34 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-117/204 bali-phy testsuite prob_prog/lazy_sample/1                     OK              13.80s
+106/204 bali-phy testsuite parse/error/3                               OK               0.38s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10857,10 +10464,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-162/204 bali-phy testsuite parse/21                                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=252 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/21 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+107/204 bali-phy testsuite parse/error/1                               RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=93 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/error/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-118/204 bali-phy testsuite prob_prog/mcmc/propose                      OK              14.73s
+107/204 bali-phy testsuite parse/error/1                               OK               0.39s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10868,10 +10475,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-163/204 bali-phy testsuite parse/7                                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=215 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+108/204 bali-phy testsuite parse/int-to-double/2                       RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=235 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/int-to-double/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-120/204 bali-phy testsuite prob_prog/infer_tree/4                      OK              15.76s
+ 69/204 bali-phy testsuite mcmc/fixed-topology/unrooted                OK             128.65s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10879,10 +10486,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-164/204 bali-phy testsuite parse/14                                    RUNNING       
->>> MALLOC_PERTURB_=60 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/14 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+109/204 bali-phy testsuite parse/int-to-double/3                       RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=4 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/int-to-double/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-129/204 bali-phy testsuite prob_prog/order-two                         OK              15.45s
+ 68/204 bali-phy testsuite mcmc/fixed-topology/rooted                  OK             129.01s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -10890,139 +10497,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-165/204 bali-phy testsuite parse/4                                     RUNNING       
->>> MESON_TEST_ITERATION=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=160 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+110/204 bali-phy testsuite parse/int-to-double/1                       RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=177 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/int-to-double/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-123/204 bali-phy testsuite prob_prog/infer_tree/6                      OK              16.44s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... FAIL! ['exit'] (expected)
-     Created directory "ignore-1" for output files.
-     
-     bali-phy: Error! evaluating reg # 6419 (unchangeable): case <6417> of {(b, c) -> c}
-     
-     evaluating reg # 6417 (unchangeable): case <4827> of {_ -> case <2307> of {_ -> (<2307>, <4827>)}}
-     
-     evaluating reg # 4827 (unchangeable): MCMC:runMCMC 5 0 0
-     
-     evaluating reg # 8065 (unchangeable): case <9839> of {(b, c) -> c}
-     
-     evaluating reg # 9839 (unchangeable): case <9601> of {_ -> case <2307> of {_ -> (<2307>, <9601>)}}
-     
-     evaluating reg # 9601 (unchangeable): MCMC:sampleSPRAllRaw <285> 0 0
-     
-     Reg 8607 isn't modifiable!
-       [8607] = case %0 of {(,) -> Trim {0} %0} {5475}
-
-SUCCESS! (0 unexpected failures, 1 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-166/204 bali-phy testsuite parse/19                                    RUNNING       
->>> MALLOC_PERTURB_=35 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/19 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-119/204 bali-phy testsuite prob_prog/infer_tree/2                      OK              17.00s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-167/204 bali-phy testsuite parse/5                                     RUNNING       
->>> MALLOC_PERTURB_=253 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-137/204 bali-phy testsuite mcmc/no-imodel                              OK              15.81s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-168/204 bali-phy testsuite parse/25                                    RUNNING       
->>> MALLOC_PERTURB_=238 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/25 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-124/204 bali-phy testsuite prob_prog/infer_tree/1                      OK              17.21s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-169/204 bali-phy testsuite parse/3                                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=135 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-134/204 bali-phy testsuite mcmc/one-sequence/1                         OK              16.92s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-170/204 bali-phy testsuite parse/16                                    RUNNING       
->>> MALLOC_PERTURB_=145 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/16 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-158/204 bali-phy testsuite parse/constraints/1                         OK              11.98s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... FAIL! ['exit'] (expected)
-     BAliPhy.Main.hs:27.67: error:
-        • Could not derive 'Num (MkReversible Markov)' arising from a use of '(+)' at BAliPhy.Main.hs:27.67
-        • In equation `result  = ((SModel.Nucleotides.hky85_sym alpha kappa)
-          SModel.+> (SModel.ReversibleMarkov.plus_f' alpha pi)) Compiler.Num.+
-          ((SModel.Nucleotides.hky85_sym alpha kappa_2) SModel.+>
-          (SModel.ReversibleMarkov.plus_f' alpha pi_2))`
-        • In equation `sample_smodel alpha  = do {kappa <-
-          Probability.Random.sample (Probability.Distribution.Transform.logNormal
-          (Compiler.Floating.log 2) (1%4))`
-        |
-     27 | ;let {result = (hky85_sym alpha kappa +> SModel.plus_f' alpha pi) + (hky85_sym alpha kappa_2 +> SModel.plus_f' alpha pi_2)}
-        |                                                                   ^
-
-SUCCESS! (0 unexpected failures, 1 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-171/204 bali-phy testsuite parse/rates/1                               RUNNING       
->>> MALLOC_PERTURB_=37 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/rates/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-127/204 bali-phy testsuite prob_prog/infer_tree/coalescent/1           OK              17.98s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-172/204 bali-phy testsuite parse/24                                    RUNNING       
->>> MALLOC_PERTURB_=143 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/24 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-140/204 bali-phy testsuite mcmc/fixed-scale                            OK              18.15s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-173/204 bali-phy testsuite parse/int-to-double/2                       RUNNING       
->>> MALLOC_PERTURB_=10 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/int-to-double/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-149/204 bali-phy testsuite parse/guess-alphabet/aa                     OK              17.65s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-174/204 bali-phy testsuite parse/int-to-double/3                       RUNNING       
->>> MALLOC_PERTURB_=218 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/int-to-double/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-  6/204 bali-phy 5d -A 200                                             OK              71.54s
+  6/204 bali-phy 5d -A 200                                             OK             144.47s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 stdout:
 
@@ -11030,7 +10508,7 @@
   "/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins"
   "/build/reproducible-path/bali-phy-4.0"
 
-random seed = 12686265751603126806
+random seed = 17310888711508655183
 
 tree ~ uniform_tree(taxa, gamma(0.5, 1/length(@taxa)))
 subst rates = constant
@@ -11066,34 +10544,34 @@
 
 
 Setup:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:02:21 2026
-  total (elapsed) time: 50s (50.923s)
-  total (CPU) time: 24s (24.820s)
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:36:38 2025
+  total (elapsed) time: 1m 55s (115.418s)
+  total (CPU) time: 29s (29.340s)
 
 Work:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:03:32 2026
-  total (elapsed) time: 20s (20.491s)
-  total (CPU) time: 9s (9.430s)
-
-total likelihood evals = 3041
-total calc_root_prob evals = 42962
-total branches peeled = 227370
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:39:02 2025
+  total (elapsed) time: 28s (28.710s)
+  total (CPU) time: 10s (10.160s)
+
+total likelihood evals = 3081
+total calc_root_prob evals = 42513
+total branches peeled = 230440
 average root clv length = 97
 
 stderr:
 Created directory "5d-muscle-2" for output files.
 
 [ Loading Data.Bool ]
-[ Compiling Foreign.CList ]
+[ Loading Foreign.CList ]
 [ Compiling Foreign.String ]
-[ Compiling Compiler.Error ]
-[ Compiling Compiler.Base ]
+[ Loading Compiler.Error ]
+[ Loading Compiler.Base ]
 [ Compiling Compiler.Num ]
 [ Loading Data.Eq ]
 [ Loading Data.Function ]
-[ Compiling Data.Maybe ]
+[ Loading Data.Maybe ]
 [ Compiling Data.Ord ]
 [ Loading Data.List.NonEmpty ]
 [ Loading Data.Semigroup ]
@@ -11104,31 +10582,31 @@
 [ Compiling Data.OldList ]
 [ Loading Data.Foldable ]
 [ Loading Data.List ]
-[ Compiling Text.Show ]
+[ Loading Text.Show ]
 [ Loading Compiler.Classes ]
 [ Loading Compiler.Ratio ]
 [ Loading Compiler.Fractional ]
 [ Loading Compiler.Real ]
-[ Compiling Compiler.Integral ]
+[ Loading Compiler.Integral ]
 [ Compiling Compiler.Floating ]
 [ Loading Data.Functor ]
-[ Compiling Control.Applicative ]
-[ Compiling Control.Monad ]
+[ Loading Control.Applicative ]
+[ Loading Control.Monad ]
 [ Loading Compiler.IO ]
 [ Loading Compiler.RealFrac ]
 [ Loading Foreign.Pair ]
-[ Loading Compiler.RealFloat ]
+[ Compiling Compiler.RealFloat ]
 [ Loading Compiler.ST ]
 [ Loading Data.Either ]
 [ Loading Data.IORef ]
-[ Compiling Foreign.Vector ]
+[ Loading Foreign.Vector ]
 [ Loading Data.Typeable ]
 [ Loading Data.Exception ]
 [ Loading System.FilePath ]
 [ Loading Text.Read ]
 [ Compiling System.IO ]
 [ Loading Prelude ]
-[ Compiling Bio.Alignment.Class ]
+[ Loading Bio.Alignment.Class ]
 [ Loading Data.Ix ]
 [ Loading Data.Array ]
 [ Loading Foreign.Introspection ]
@@ -11144,8 +10622,8 @@
 [ Loading Data.IntMap ]
 [ Loading Data.Text.Display ]
 [ Compiling Graph ]
-[ Compiling Forest ]
-[ Loading Tree ]
+[ Loading Forest ]
+[ Compiling Tree ]
 [ Loading Bio.Alignment.Matrix ]
 [ Loading Data.Matrix ]
 [ Loading Data.Floating.Types ]
@@ -11156,9 +10634,9 @@
 [ Loading Foreign.Maybe ]
 [ Loading Range ]
 [ Loading Parameters ]
-[ Loading Bio.Alignment ]
-[ Compiling Data.Text.IO ]
-[ Compiling MCMC.Types ]
+[ Compiling Bio.Alignment ]
+[ Loading Data.Text.IO ]
+[ Loading MCMC.Types ]
 [ Loading MCMC.Loggers ]
 [ Loading MCMC.Moves.Alignment ]
 [ Loading MCMC.Moves.Integer ]
@@ -11166,7 +10644,7 @@
 [ Loading Probability.Dist ]
 [ Loading MCMC.Moves.MH ]
 [ Loading MCMC.Moves.Real ]
-[ Compiling MCMC.Moves.Tree ]
+[ Loading MCMC.Moves.Tree ]
 [ Loading MCMC.Moves ]
 [ Loading MCMC ]
 [ Loading Control.Monad.Fix ]
@@ -11175,43 +10653,43 @@
 [ Loading Data.Unique ]
 [ Loading EigenExp ]
 [ Loading SModel.Rate ]
-[ Loading Markov ]
+[ Compiling Markov ]
 [ Loading Numeric.Log ]
-[ Compiling Numeric.Prob ]
-[ Loading Probability.Random ]
+[ Loading Numeric.Prob ]
+[ Compiling Probability.Random ]
 [ Loading Probability.Distribution.Bernoulli ]
 [ Loading Probability.Distribution.Beta ]
-[ Compiling Probability.Distribution.Binomial ]
-[ Compiling Probability.Distribution.Categorical ]
-[ Compiling Probability.Distribution.Cauchy ]
+[ Loading Probability.Distribution.Binomial ]
+[ Loading Probability.Distribution.Categorical ]
+[ Loading Probability.Distribution.Cauchy ]
 [ Compiling Probability.Distribution.Uniform ]
 [ Compiling Probability.Distribution.Discrete ]
 [ Loading Probability.Distribution.Gamma ]
-[ Loading Probability.Distribution.Independent ]
-[ Loading Probability.Distribution.Tuple ]
+[ Compiling Probability.Distribution.Independent ]
+[ Compiling Probability.Distribution.Tuple ]
 [ Compiling Probability.Distribution.List ]
-[ Loading Probability.Distribution.Poisson ]
-[ Loading Probability.Distribution.Shifted ]
+[ Compiling Probability.Distribution.Poisson ]
+[ Compiling Probability.Distribution.Shifted ]
 [ Loading Probability.Distribution.Exponential ]
-[ Compiling Probability.Distribution.Laplace ]
+[ Loading Probability.Distribution.Laplace ]
 [ Loading Probability.Distribution.Normal ]
 [ Compiling Probability.Distribution.Transform ]
 [ Compiling Probability.Distribution.Changepoints ]
 [ Loading Probability.Distribution.Dirichlet ]
-[ Compiling Probability.Distribution.DirichletProcess ]
+[ Loading Probability.Distribution.DirichletProcess ]
 [ Loading Probability.Distribution.Geometric ]
 [ Loading Probability.Distribution.Markov ]
 [ Loading Probability.Distribution.Mixture ]
 [ Loading Probability.Distribution.Multinomial ]
-[ Loading Probability.Distribution.PhyloAlignment ]
+[ Compiling Probability.Distribution.PhyloAlignment ]
 [ Loading SModel.Simple ]
 [ Loading Probability.Distribution.PhyloCTMC.PhyloCTMC ]
 [ Loading SModel.Likelihood.CLV ]
 [ Loading Probability.Distribution.PhyloCTMC.Properties ]
 [ Loading SModel.Frequency ]
 [ Loading SModel.Markov ]
-[ Compiling SModel.ReversibleMarkov ]
-[ Compiling SModel.MixtureModel ]
+[ Loading SModel.ReversibleMarkov ]
+[ Loading SModel.MixtureModel ]
 [ Loading SModel.ASRV ]
 [ Loading SModel.BranchModel ]
 [ Loading SModel.BranchSiteMixture ]
@@ -11220,15 +10698,15 @@
 [ Loading SModel.Doublets ]
 [ Loading SModel.Empirical ]
 [ Compiling SModel.MarkovModulated ]
-[ Compiling SModel.MixtureModels ]
+[ Loading SModel.MixtureModels ]
 [ Loading SModel.MultiFrequency ]
-[ Compiling SModel.MutSel ]
+[ Loading SModel.MutSel ]
 [ Loading SModel.NonReversibleMarkov ]
 [ Compiling SModel.Parsimony ]
 [ Loading SModel.PosSelection ]
 [ Loading SModel.RNAEdit ]
-[ Compiling SModel ]
-[ Compiling SModel.Likelihood.FixedA ]
+[ Loading SModel ]
+[ Loading SModel.Likelihood.FixedA ]
 [ Compiling Probability.Distribution.PhyloCTMC.FixedA ]
 [ Loading SModel.Likelihood.VariableA ]
 [ Compiling Probability.Distribution.PhyloCTMC.VariableA ]
@@ -11239,15 +10717,15 @@
 [ Loading Probability.Distribution.Tree.UniformTimeTree ]
 [ Loading Probability.Distribution.Tree.Coalescent ]
 [ Loading Probability.Distribution.Tree.Moves ]
-[ Compiling Probability.Distribution.Tree.UniformTopology ]
-[ Compiling Probability.Distribution.Tree.Yule ]
+[ Loading Probability.Distribution.Tree.UniformTopology ]
+[ Loading Probability.Distribution.Tree.Yule ]
 [ Loading Probability.Distribution.Tree ]
 [ Loading Probability.Distribution.UniqueDist ]
 [ Loading Probability ]
 [ Loading Data.Unique.Id ]
 [ Loading Parse ]
 [ Compiling Tree.Newick ]
-[ Compiling Probability.Logger ]
+[ Loading Probability.Logger ]
 [ Loading System.Environment ]
 [ Compiling Main ]
 Expanding VM heap from 1 -> 16.
@@ -11370,6 +10848,7 @@
 iterations = 108
 iterations = 109
 iterations = 110
+calc_root_probability_SEV: probability is NaN!
 iterations = 111
 iterations = 112
 iterations = 113
@@ -11461,10 +10940,10 @@
 iterations = 199
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-175/204 bali-phy testsuite parse/int-to-double/1                       RUNNING       
->>> MALLOC_PERTURB_=188 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/int-to-double/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+111/204 bali-phy testsuite parse/8                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=230 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/8 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-135/204 bali-phy testsuite mcmc/two-sequences/1                        OK              18.88s
+ 93/204 bali-phy testsuite parse/4                                     OK              32.84s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -11472,10 +10951,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-176/204 bali-phy testsuite parse/functions/1                           RUNNING       
->>> MALLOC_PERTURB_=4 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/functions/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+112/204 bali-phy testsuite parse/12                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=5 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/12 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-151/204 bali-phy testsuite parse/guess-alphabet/Triplets/rna           OK              16.47s
+ 91/204 bali-phy testsuite parse/functions/1                           OK              35.21s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -11483,10 +10962,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-177/204 bali-phy testsuite parse/12                                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=85 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/12 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+113/204 bali-phy testsuite parse/23                                    RUNNING       
+>>> MALLOC_PERTURB_=171 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/23 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-130/204 bali-phy testsuite prob_prog/no-resample/2                     OK              19.52s
+ 95/204 bali-phy testsuite parse/10                                    OK              32.52s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -11494,10 +10973,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-178/204 bali-phy testsuite parse/17                                    RUNNING       
->>> MALLOC_PERTURB_=35 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/17 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+114/204 bali-phy testsuite parse/14                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=173 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/14 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-126/204 bali-phy testsuite prob_prog/infer_tree/coalescent/2           OK              19.71s
+ 74/204 bali-phy testsuite mcmc/48-sequences/1                         OK             148.61s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -11505,10 +10984,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-179/204 bali-phy testsuite parse/x3/2                                  RUNNING       
->>> MALLOC_PERTURB_=28 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+115/204 bali-phy testsuite parse/13                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=146 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/13 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-121/204 bali-phy testsuite prob_prog/infer_tree/5                      OK              20.50s
+ 92/204 bali-phy testsuite parse/26                                    OK              39.36s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -11516,219 +10995,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-180/204 bali-phy testsuite parse/x3/4                                  RUNNING       
->>> MALLOC_PERTURB_=64 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+116/204 bali-phy testsuite parse/let/1                                 RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=178 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/let/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-147/204 bali-phy testsuite parse/guess-alphabet/dna                    OK              18.97s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-181/204 bali-phy testsuite parse/x3/5                                  RUNNING       
->>> MALLOC_PERTURB_=253 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-148/204 bali-phy testsuite parse/guess-alphabet/rna                    OK              19.06s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-182/204 bali-phy testsuite parse/x3/3                                  RUNNING       
->>> MALLOC_PERTURB_=27 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-145/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/1           OK              19.54s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-183/204 bali-phy testsuite parse/x3/1                                  RUNNING       
->>> MALLOC_PERTURB_=64 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/x3/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-138/204 bali-phy testsuite mcmc/two-partitions                         OK              20.12s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-184/204 bali-phy testsuite parse/6                                     RUNNING       
->>> MALLOC_PERTURB_=248 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-144/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/3           OK              20.39s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-185/204 bali-phy testsuite parse/23                                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=95 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/23 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-152/204 bali-phy testsuite parse/let/1                                 OK              18.71s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-186/204 bali-phy testsuite parse/11                                    RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=166 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/11 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-128/204 bali-phy testsuite prob_prog/infer_tree/m7                     OK              22.18s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-187/204 bali-phy testsuite parse/partitions/link/7                     RUNNING       
->>> MALLOC_PERTURB_=195 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-150/204 bali-phy testsuite parse/guess-alphabet/Triplets/dna           OK              19.40s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-188/204 bali-phy testsuite parse/partitions/link/2                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=92 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-188/204 bali-phy testsuite parse/partitions/link/2                     OK               0.25s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-189/204 bali-phy testsuite parse/partitions/link/4                     RUNNING       
->>> MALLOC_PERTURB_=74 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-187/204 bali-phy testsuite parse/partitions/link/7                     OK               0.33s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-190/204 bali-phy testsuite parse/partitions/link/5                     RUNNING       
->>> MALLOC_PERTURB_=250 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-189/204 bali-phy testsuite parse/partitions/link/4                     OK               0.34s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-191/204 bali-phy testsuite parse/partitions/link/3                     RUNNING       
->>> MALLOC_PERTURB_=28 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-143/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/2           OK              22.07s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-192/204 bali-phy testsuite parse/partitions/link/6                     RUNNING       
->>> MALLOC_PERTURB_=16 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-190/204 bali-phy testsuite parse/partitions/link/5                     OK               0.41s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-193/204 bali-phy testsuite parse/partitions/link/1                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=95 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-192/204 bali-phy testsuite parse/partitions/link/6                     OK               0.27s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-194/204 bali-phy testsuite parse/partitions/link/9                     RUNNING       
->>> MALLOC_PERTURB_=38 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/9 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-191/204 bali-phy testsuite parse/partitions/link/3                     OK               0.39s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-195/204 bali-phy testsuite parse/partitions/link/8                     RUNNING       
->>> MALLOC_PERTURB_=193 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/link/8 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-146/204 bali-phy testsuite parse/guess-alphabet/Codons/rna             OK              22.28s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-196/204 bali-phy testsuite parse/partitions/2                          RUNNING       
->>> MALLOC_PERTURB_=179 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-195/204 bali-phy testsuite parse/partitions/link/8                     OK               0.39s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-197/204 bali-phy testsuite parse/partitions/4                          RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=49 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-136/204 bali-phy testsuite mcmc/with-imodel                            OK              23.38s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-198/204 bali-phy testsuite parse/partitions/3                          RUNNING       
->>> MALLOC_PERTURB_=218 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-197/204 bali-phy testsuite parse/partitions/4                          OK               0.36s
-――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
-Running tests for 'bali-phy':
-
-Running bali-phy test: .  ... ok
-SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
-――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
-
-199/204 bali-phy testsuite parse/partitions/1                          RUNNING       
->>> MALLOC_PERTURB_=249 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/partitions/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
-
-  4/204 bali-phy 5d +A 50                                              OK              77.39s
+  4/204 bali-phy 5d +A 50                                              OK             158.10s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 stdout:
 
@@ -11736,7 +11006,7 @@
   "/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins"
   "/build/reproducible-path/bali-phy-4.0"
 
-random seed = 8645347438080196250
+random seed = 5616520592437523945
 
 tree ~ uniform_tree(taxa, gamma(0.5, 1/length(@taxa)))
 subst rates = constant
@@ -11776,30 +11046,30 @@
 
 
 Setup:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:02:21 2026
-  total (elapsed) time: 51s (51.716s)
-  total (CPU) time: 24s (24.910s)
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:36:38 2025
+  total (elapsed) time: 1m 55s (115.184s)
+  total (CPU) time: 30s (30.700s)
 
 Work:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:03:38 2026
-  total (elapsed) time: 25s (25.569s)
-  total (CPU) time: 12s (12.190s)
-
-total likelihood evals = 1015
-total calc_root_prob evals = 13499
-total branches peeled = 32509
-average root clv length = 125
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:39:16 2025
+  total (elapsed) time: 42s (42.617s)
+  total (CPU) time: 14s (14.010s)
+
+total likelihood evals = 912
+total calc_root_prob evals = 13352
+total branches peeled = 31740
+average root clv length = 123
 
 stderr:
 Created directory "5d-muscle-1" for output files.
 
-[ Compiling Data.Bool ]
-[ Compiling Foreign.CList ]
-[ Compiling Foreign.String ]
-[ Compiling Compiler.Error ]
-[ Compiling Compiler.Base ]
+[ Loading Data.Bool ]
+[ Loading Foreign.CList ]
+[ Loading Foreign.String ]
+[ Loading Compiler.Error ]
+[ Loading Compiler.Base ]
 [ Compiling Compiler.Num ]
 [ Loading Data.Eq ]
 [ Loading Data.Function ]
@@ -11820,47 +11090,47 @@
 [ Loading Compiler.Fractional ]
 [ Loading Compiler.Real ]
 [ Loading Compiler.Integral ]
-[ Compiling Compiler.Floating ]
+[ Loading Compiler.Floating ]
 [ Loading Data.Functor ]
 [ Loading Control.Applicative ]
-[ Compiling Control.Monad ]
+[ Loading Control.Monad ]
 [ Loading Compiler.IO ]
 [ Loading Compiler.RealFrac ]
 [ Loading Foreign.Pair ]
 [ Compiling Compiler.RealFloat ]
 [ Loading Compiler.ST ]
 [ Loading Data.Either ]
-[ Loading Data.IORef ]
-[ Loading Foreign.Vector ]
+[ Compiling Data.IORef ]
+[ Compiling Foreign.Vector ]
 [ Loading Data.Typeable ]
 [ Loading Data.Exception ]
 [ Loading System.FilePath ]
 [ Loading Text.Read ]
 [ Compiling System.IO ]
 [ Loading Prelude ]
-[ Compiling Bio.Alignment.Class ]
+[ Loading Bio.Alignment.Class ]
 [ Loading Data.Ix ]
 [ Loading Data.Array ]
 [ Loading Foreign.Introspection ]
-[ Loading Control.DeepSeq ]
+[ Compiling Control.DeepSeq ]
 [ Compiling Data.Text ]
-[ Loading Bio.Alphabet ]
-[ Loading Data.BitVector ]
+[ Compiling Bio.Alphabet ]
+[ Compiling Data.BitVector ]
 [ Loading Data.Set ]
 [ Loading Data.Map ]
 [ Compiling Bio.Sequence ]
 [ Loading Data.IntSet ]
 [ Loading Data.JSON ]
-[ Compiling Data.IntMap ]
+[ Loading Data.IntMap ]
 [ Loading Data.Text.Display ]
 [ Compiling Graph ]
 [ Compiling Forest ]
-[ Loading Tree ]
-[ Loading Bio.Alignment.Matrix ]
-[ Loading Data.Matrix ]
+[ Compiling Tree ]
+[ Compiling Bio.Alignment.Matrix ]
+[ Compiling Data.Matrix ]
 [ Loading Data.Floating.Types ]
-[ Loading Numeric.LogDouble ]
-[ Loading Bio.Alignment.Pairwise ]
+[ Compiling Numeric.LogDouble ]
+[ Compiling Bio.Alignment.Pairwise ]
 [ Loading Foreign.IntMap ]
 [ Loading Effect ]
 [ Loading Foreign.Maybe ]
@@ -11885,12 +11155,12 @@
 [ Loading MCMC.Moves ]
 [ Loading MCMC ]
 [ Loading Numeric.Log ]
-[ Loading Numeric.Prob ]
-[ Loading Probability.Random ]
+[ Compiling Numeric.Prob ]
+[ Compiling Probability.Random ]
 [ Loading Probability.Distribution.Bernoulli ]
-[ Compiling Probability.Distribution.Beta ]
-[ Compiling Probability.Distribution.Binomial ]
-[ Loading Probability.Distribution.Categorical ]
+[ Loading Probability.Distribution.Beta ]
+[ Loading Probability.Distribution.Binomial ]
+[ Compiling Probability.Distribution.Categorical ]
 [ Compiling Probability.Distribution.Cauchy ]
 [ Compiling Probability.Distribution.Uniform ]
 [ Compiling Probability.Distribution.Discrete ]
@@ -11901,12 +11171,12 @@
 [ Loading Probability.Distribution.Poisson ]
 [ Loading Probability.Distribution.Shifted ]
 [ Loading Probability.Distribution.Exponential ]
-[ Compiling Probability.Distribution.Laplace ]
+[ Loading Probability.Distribution.Laplace ]
 [ Loading Probability.Distribution.Normal ]
-[ Compiling Probability.Distribution.Transform ]
-[ Loading Probability.Distribution.Changepoints ]
-[ Compiling Probability.Distribution.Dirichlet ]
-[ Compiling Probability.Distribution.DirichletProcess ]
+[ Loading Probability.Distribution.Transform ]
+[ Compiling Probability.Distribution.Changepoints ]
+[ Loading Probability.Distribution.Dirichlet ]
+[ Loading Probability.Distribution.DirichletProcess ]
 [ Loading Probability.Distribution.Geometric ]
 [ Loading Probability.Distribution.Markov ]
 [ Loading Probability.Distribution.Mixture ]
@@ -11926,19 +11196,19 @@
 [ Loading SModel.BranchModel ]
 [ Loading SModel.BranchSiteMixture ]
 [ Loading SModel.Nucleotides ]
-[ Compiling SModel.Codons ]
+[ Loading SModel.Codons ]
 [ Loading SModel.Doublets ]
 [ Loading SModel.Empirical ]
-[ Compiling SModel.MarkovModulated ]
+[ Loading SModel.MarkovModulated ]
 [ Loading SModel.MixtureModels ]
-[ Compiling SModel.MultiFrequency ]
+[ Loading SModel.MultiFrequency ]
 [ Loading SModel.MutSel ]
 [ Loading SModel.NonReversibleMarkov ]
-[ Compiling SModel.Parsimony ]
+[ Loading SModel.Parsimony ]
 [ Loading SModel.PosSelection ]
 [ Compiling SModel.RNAEdit ]
 [ Loading SModel ]
-[ Compiling SModel.Likelihood.FixedA ]
+[ Loading SModel.Likelihood.FixedA ]
 [ Compiling Probability.Distribution.PhyloCTMC.FixedA ]
 [ Loading SModel.Likelihood.VariableA ]
 [ Compiling Probability.Distribution.PhyloCTMC.VariableA ]
@@ -11948,15 +11218,15 @@
 [ Loading Probability.Distribution.Tree.Util ]
 [ Loading Probability.Distribution.Tree.UniformTimeTree ]
 [ Loading Probability.Distribution.Tree.Coalescent ]
-[ Loading Probability.Distribution.Tree.Moves ]
+[ Compiling Probability.Distribution.Tree.Moves ]
 [ Compiling Probability.Distribution.Tree.UniformTopology ]
-[ Compiling Probability.Distribution.Tree.Yule ]
+[ Loading Probability.Distribution.Tree.Yule ]
 [ Loading Probability.Distribution.Tree ]
 [ Loading Probability.Distribution.UniqueDist ]
 [ Loading Probability ]
-[ Compiling IModel ]
+[ Loading IModel ]
 [ Loading Data.Unique.Id ]
-[ Loading Parse ]
+[ Compiling Parse ]
 [ Compiling Tree.Newick ]
 [ Loading Probability.Logger ]
 [ Loading System.Environment ]
@@ -12023,10 +11293,10 @@
 iterations = 49
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-200/204 bali-phy testsuite parse/9                                     RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=189 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/9 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+117/204 bali-phy testsuite parse/16                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/16 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-133/204 bali-phy testsuite mcmc/fixed-topology/unrooted                OK              25.42s
+ 94/204 bali-phy testsuite parse/18                                    OK              38.63s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12034,10 +11304,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-201/204 bali-phy testsuite parse/13                                    RUNNING       
->>> MALLOC_PERTURB_=3 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/13 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+118/204 bali-phy testsuite parse/5                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=138 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-159/204 bali-phy testsuite parse/10                                    OK              19.85s
+ 96/204 bali-phy testsuite parse/21                                    OK              39.39s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12045,10 +11315,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-202/204 bali-phy testsuite parse/M3/2                                  RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=215 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/M3/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+119/204 bali-phy testsuite parse/22                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=18 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/22 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-153/204 bali-phy testsuite parse/18                                    OK              21.78s
+ 99/204 bali-phy testsuite parse/x3/2                                  OK              39.24s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12056,10 +11326,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-203/204 bali-phy testsuite parse/M3/1                                  RUNNING       
->>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=110 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/M3/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+120/204 bali-phy testsuite parse/24                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=83 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/24 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-132/204 bali-phy testsuite mcmc/fixed-topology/rooted                  OK              27.28s
+101/204 bali-phy testsuite parse/x3/1                                  OK              37.87s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12067,10 +11337,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-204/204 bali-phy testsuite parse/8                                     RUNNING       
->>> MALLOC_PERTURB_=83 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/8 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+121/204 bali-phy testsuite parse/19                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=182 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/19 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
 
-160/204 bali-phy testsuite parse/22                                    OK              20.66s
+ 98/204 bali-phy testsuite parse/x3/4                                  OK              42.40s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12078,7 +11348,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-163/204 bali-phy testsuite parse/7                                     OK              16.73s
+122/204 bali-phy testsuite parse/25                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=237 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/25 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+ 97/204 bali-phy testsuite parse/rates/1                               OK              43.65s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12086,7 +11359,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-161/204 bali-phy testsuite parse/26                                    OK              21.16s
+123/204 bali-phy testsuite parse/7                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=21 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+103/204 bali-phy testsuite parse/3                                     OK              37.67s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12094,7 +11370,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-122/204 bali-phy testsuite prob_prog/infer_tree/3                      OK              31.64s
+124/204 bali-phy testsuite parse/M3/2                                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=238 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/M3/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+100/204 bali-phy testsuite parse/x3/3                                  OK              42.68s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12102,7 +11381,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-164/204 bali-phy testsuite parse/14                                    OK              20.10s
+125/204 bali-phy testsuite parse/M3/1                                  RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=221 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/M3/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+108/204 bali-phy testsuite parse/int-to-double/2                       OK              39.56s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12110,7 +11392,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-167/204 bali-phy testsuite parse/5                                     OK              19.19s
+126/204 bali-phy testsuite parse/6                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=55 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+110/204 bali-phy testsuite parse/int-to-double/1                       OK              34.25s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12118,7 +11403,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-165/204 bali-phy testsuite parse/4                                     OK              20.05s
+127/204 bali-phy testsuite parse/17                                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=84 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/17 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+109/204 bali-phy testsuite parse/int-to-double/3                       OK              38.27s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12126,7 +11414,21 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-  5/204 bali-phy 48 +A 3                                               OK              88.17s
+128/204 bali-phy testsuite parse/guess-alphabet/dna                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=29 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/dna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+102/204 bali-phy testsuite parse/x3/5                                  OK              45.89s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+129/204 bali-phy testsuite parse/guess-alphabet/Triplets/dna           RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=225 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Triplets/dna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+  5/204 bali-phy 48 +A 3                                               OK             186.91s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 stdout:
 
@@ -12134,7 +11436,7 @@
   "/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins"
   "/build/reproducible-path/bali-phy-4.0"
 
-random seed = 18222502483998078337
+random seed = 10840574632081086313
 
 tree ~ uniform_tree(taxa, gamma(0.5, 1/length(@taxa)))
 subst rates = constant
@@ -12174,45 +11476,45 @@
 
 
 Setup:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:02:21 2026
-  total (elapsed) time: 52s (52.745s)
-  total (CPU) time: 23s (23.240s)
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:36:38 2025
+  total (elapsed) time: 1m 55s (115.829s)
+  total (CPU) time: 29s (29.000s)
 
 Work:
-  start: Fri Apr  3 15:02:21 2026
-    end: Fri Apr  3 15:03:49 2026
-  total (elapsed) time: 35s (35.273s)
-  total (CPU) time: 14s (14.980s)
-
-total likelihood evals = 7666
-total calc_root_prob evals = 16874
-total branches peeled = 48802
-average root clv length = 127
+  start: Sun Mar  2 11:36:38 2025
+    end: Sun Mar  2 11:39:45 2025
+  total (elapsed) time: 1m 10s (70.766s)
+  total (CPU) time: 20s (20.210s)
+
+total likelihood evals = 6399
+total calc_root_prob evals = 15850
+total branches peeled = 44560
+average root clv length = 143
 
 stderr:
 Created directory "48-muscle-1" for output files.
 
-[ Loading Data.Bool ]
-[ Loading Foreign.CList ]
-[ Loading Foreign.String ]
-[ Loading Compiler.Error ]
-[ Loading Compiler.Base ]
+[ Compiling Data.Bool ]
+[ Compiling Foreign.CList ]
+[ Compiling Foreign.String ]
+[ Compiling Compiler.Error ]
+[ Compiling Compiler.Base ]
 [ Compiling Compiler.Num ]
-[ Loading Data.Eq ]
-[ Loading Data.Function ]
-[ Loading Data.Maybe ]
+[ Compiling Data.Eq ]
+[ Compiling Data.Function ]
+[ Compiling Data.Maybe ]
 [ Compiling Data.Ord ]
-[ Loading Data.List.NonEmpty ]
-[ Loading Data.Semigroup ]
+[ Compiling Data.List.NonEmpty ]
+[ Compiling Data.Semigroup ]
 [ Compiling Data.Monoid ]
 [ Compiling Compiler.Enum ]
-[ Loading Data.Char ]
-[ Loading Data.Tuple ]
+[ Compiling Data.Char ]
+[ Compiling Data.Tuple ]
 [ Compiling Data.OldList ]
-[ Loading Data.Foldable ]
-[ Loading Data.List ]
-[ Loading Text.Show ]
+[ Compiling Data.Foldable ]
+[ Compiling Data.List ]
+[ Compiling Text.Show ]
 [ Loading Compiler.Classes ]
 [ Loading Compiler.Ratio ]
 [ Loading Compiler.Fractional ]
@@ -12221,35 +11523,35 @@
 [ Loading Compiler.Floating ]
 [ Loading Data.Functor ]
 [ Loading Control.Applicative ]
-[ Compiling Control.Monad ]
+[ Loading Control.Monad ]
 [ Loading Compiler.IO ]
 [ Loading Compiler.RealFrac ]
 [ Loading Foreign.Pair ]
 [ Loading Compiler.RealFloat ]
-[ Loading Compiler.ST ]
+[ Compiling Compiler.ST ]
 [ Loading Data.Either ]
 [ Loading Data.IORef ]
-[ Compiling Foreign.Vector ]
+[ Loading Foreign.Vector ]
 [ Loading Data.Typeable ]
 [ Loading Data.Exception ]
 [ Loading System.FilePath ]
 [ Loading Text.Read ]
 [ Compiling System.IO ]
 [ Loading Prelude ]
-[ Compiling Bio.Alignment.Class ]
+[ Loading Bio.Alignment.Class ]
 [ Loading Data.Ix ]
 [ Loading Data.Array ]
 [ Loading Foreign.Introspection ]
 [ Loading Control.DeepSeq ]
 [ Compiling Data.Text ]
 [ Loading Bio.Alphabet ]
-[ Compiling Data.BitVector ]
+[ Loading Data.BitVector ]
 [ Loading Data.Set ]
 [ Loading Data.Map ]
 [ Compiling Bio.Sequence ]
 [ Loading Data.IntSet ]
 [ Loading Data.JSON ]
-[ Compiling Data.IntMap ]
+[ Loading Data.IntMap ]
 [ Loading Data.Text.Display ]
 [ Compiling Graph ]
 [ Compiling Forest ]
@@ -12283,12 +11585,12 @@
 [ Loading MCMC.Moves ]
 [ Loading MCMC ]
 [ Loading Numeric.Log ]
-[ Loading Numeric.Prob ]
-[ Compiling Probability.Random ]
+[ Compiling Numeric.Prob ]
+[ Loading Probability.Random ]
 [ Loading Probability.Distribution.Bernoulli ]
 [ Loading Probability.Distribution.Beta ]
-[ Loading Probability.Distribution.Binomial ]
-[ Loading Probability.Distribution.Categorical ]
+[ Compiling Probability.Distribution.Binomial ]
+[ Compiling Probability.Distribution.Categorical ]
 [ Loading Probability.Distribution.Cauchy ]
 [ Compiling Probability.Distribution.Uniform ]
 [ Compiling Probability.Distribution.Discrete ]
@@ -12296,11 +11598,11 @@
 [ Loading Probability.Distribution.Independent ]
 [ Loading Probability.Distribution.Tuple ]
 [ Compiling Probability.Distribution.List ]
-[ Loading Probability.Distribution.Poisson ]
+[ Compiling Probability.Distribution.Poisson ]
 [ Loading Probability.Distribution.Shifted ]
 [ Loading Probability.Distribution.Exponential ]
 [ Loading Probability.Distribution.Laplace ]
-[ Loading Probability.Distribution.Normal ]
+[ Compiling Probability.Distribution.Normal ]
 [ Compiling Probability.Distribution.Transform ]
 [ Loading Probability.Distribution.Changepoints ]
 [ Loading Probability.Distribution.Dirichlet ]
@@ -12317,26 +11619,26 @@
 [ Loading SModel.Rate ]
 [ Loading Markov ]
 [ Loading SModel.Frequency ]
-[ Compiling SModel.Markov ]
+[ Loading SModel.Markov ]
 [ Loading SModel.ReversibleMarkov ]
 [ Loading SModel.MixtureModel ]
-[ Compiling SModel.ASRV ]
+[ Loading SModel.ASRV ]
 [ Loading SModel.BranchModel ]
 [ Loading SModel.BranchSiteMixture ]
 [ Loading SModel.Nucleotides ]
 [ Compiling SModel.Codons ]
 [ Loading SModel.Doublets ]
 [ Loading SModel.Empirical ]
-[ Compiling SModel.MarkovModulated ]
+[ Loading SModel.MarkovModulated ]
 [ Loading SModel.MixtureModels ]
 [ Loading SModel.MultiFrequency ]
 [ Loading SModel.MutSel ]
-[ Compiling SModel.NonReversibleMarkov ]
+[ Loading SModel.NonReversibleMarkov ]
 [ Compiling SModel.Parsimony ]
 [ Loading SModel.PosSelection ]
 [ Loading SModel.RNAEdit ]
-[ Compiling SModel ]
-[ Compiling SModel.Likelihood.FixedA ]
+[ Loading SModel ]
+[ Loading SModel.Likelihood.FixedA ]
 [ Compiling Probability.Distribution.PhyloCTMC.FixedA ]
 [ Loading SModel.Likelihood.VariableA ]
 [ Compiling Probability.Distribution.PhyloCTMC.VariableA ]
@@ -12347,12 +11649,12 @@
 [ Loading Probability.Distribution.Tree.UniformTimeTree ]
 [ Loading Probability.Distribution.Tree.Coalescent ]
 [ Loading Probability.Distribution.Tree.Moves ]
-[ Compiling Probability.Distribution.Tree.UniformTopology ]
+[ Loading Probability.Distribution.Tree.UniformTopology ]
 [ Loading Probability.Distribution.Tree.Yule ]
 [ Loading Probability.Distribution.Tree ]
 [ Loading Probability.Distribution.UniqueDist ]
-[ Compiling Probability ]
-[ Compiling IModel ]
+[ Loading Probability ]
+[ Loading IModel ]
 [ Loading Data.Unique.Id ]
 [ Loading Parse ]
 [ Compiling Tree.Newick ]
@@ -12377,15 +11679,77 @@
 Expanding VM heap from 24626 -> 28319.
 Expanding VM heap from 28319 -> 32566.
 Expanding VM heap from 32566 -> 37450.
-Expanding VM heap from 37450 -> 44088.
+Expanding VM heap from 37450 -> 45048.
 iterations = 0
-Expanding VM heap from 44088 -> 59987.
-Expanding VM heap from 59987 -> 97477.
+Expanding VM heap from 45048 -> 62551.
+Expanding VM heap from 62551 -> 99927.
 iterations = 1
+sample_A5_base( ): All paths have probability 0!
+column 31/187 is the first column with probability 0
+column 30 has probability -41.9238
+Pr = 0: option 1, partition 0 
 iterations = 2
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-162/204 bali-phy testsuite parse/21                                    OK              23.41s
+130/204 bali-phy testsuite parse/guess-alphabet/Triplets/rna           RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=170 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Triplets/rna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+114/204 bali-phy testsuite parse/14                                    OK              41.30s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+131/204 bali-phy testsuite parse/guess-alphabet/rna                    RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=155 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/rna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+111/204 bali-phy testsuite parse/8                                     OK              53.10s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+132/204 bali-phy testsuite parse/guess-alphabet/aa                     RUNNING       
+>>> MESON_TEST_ITERATION=1 MALLOC_PERTURB_=189 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/aa /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+118/204 bali-phy testsuite parse/5                                     OK              42.89s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+133/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/2           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=122 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/dna/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+113/204 bali-phy testsuite parse/23                                    OK              51.35s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+134/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/3           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=147 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/dna/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+112/204 bali-phy testsuite parse/12                                    OK              52.51s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+135/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/1           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=191 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/dna/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+115/204 bali-phy testsuite parse/13                                    OK              51.31s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12393,7 +11757,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-173/204 bali-phy testsuite parse/int-to-double/2                       OK              17.32s
+136/204 bali-phy testsuite parse/guess-alphabet/Codons/rna             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=231 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/guess-alphabet/Codons/rna /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+116/204 bali-phy testsuite parse/let/1                                 OK              50.12s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12401,7 +11768,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-170/204 bali-phy testsuite parse/16                                    OK              19.25s
+137/204 bali-phy testsuite parse/constraints/1                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=97 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run parse/constraints/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+117/204 bali-phy testsuite parse/16                                    OK              52.35s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12409,7 +11779,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-168/204 bali-phy testsuite parse/25                                    OK              20.18s
+138/204 bali-phy testsuite prob_prog/hmm/1                             RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=145 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/hmm/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+123/204 bali-phy testsuite parse/7                                     OK              54.62s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12417,7 +11790,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-184/204 bali-phy testsuite parse/6                                     OK              15.98s
+139/204 bali-phy testsuite prob_prog/functions/1                       RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=66 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/functions/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+125/204 bali-phy testsuite parse/M3/1                                  OK              52.70s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12425,7 +11801,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-169/204 bali-phy testsuite parse/3                                     OK              19.89s
+140/204 bali-phy testsuite prob_prog/mcmc/propose                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=81 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/mcmc/propose /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+120/204 bali-phy testsuite parse/24                                    OK              62.92s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12433,7 +11812,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-183/204 bali-phy testsuite parse/x3/1                                  OK              17.52s
+141/204 bali-phy testsuite prob_prog/sample_crp                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=150 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_crp /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+119/204 bali-phy testsuite parse/22                                    OK              65.11s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12441,7 +11823,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-177/204 bali-phy testsuite parse/12                                    OK              19.04s
+142/204 bali-phy testsuite prob_prog/if-then-else/1                    RUNNING       
+>>> MALLOC_PERTURB_=25 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/if-then-else/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+124/204 bali-phy testsuite parse/M3/2                                  OK              61.87s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12449,7 +11834,43 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-131/204 bali-phy testsuite prob_prog/no-resample/1                     OK              38.63s
+143/204 bali-phy testsuite prob_prog/no-resample/2                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=125 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/no-resample/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+129/204 bali-phy testsuite parse/guess-alphabet/Triplets/dna           OK              55.37s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+144/204 bali-phy testsuite prob_prog/no-resample/1                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=38 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/no-resample/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+121/204 bali-phy testsuite parse/19                                    OK              65.43s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+145/204 bali-phy testsuite prob_prog/categorical                       RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=191 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/categorical /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+126/204 bali-phy testsuite parse/6                                     OK              62.75s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+146/204 bali-phy testsuite prob_prog/lazy_sample/2                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=30 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/lazy_sample/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+127/204 bali-phy testsuite parse/17                                    OK              62.61s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12457,7 +11878,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-179/204 bali-phy testsuite parse/x3/2                                  OK              19.23s
+147/204 bali-phy testsuite prob_prog/lazy_sample/3                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=130 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/lazy_sample/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+128/204 bali-phy testsuite parse/guess-alphabet/dna                    OK              59.81s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12465,7 +11889,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-175/204 bali-phy testsuite parse/int-to-double/1                       OK              19.81s
+148/204 bali-phy testsuite prob_prog/lazy_sample/1                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=40 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/lazy_sample/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+122/204 bali-phy testsuite parse/25                                    OK              70.99s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12473,7 +11900,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-174/204 bali-phy testsuite parse/int-to-double/3                       OK              20.01s
+149/204 bali-phy testsuite prob_prog/regression                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=80 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/regression /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+130/204 bali-phy testsuite parse/guess-alphabet/Triplets/rna           OK              58.24s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12481,7 +11911,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-166/204 bali-phy testsuite parse/19                                    OK              23.05s
+150/204 bali-phy testsuite prob_prog/sample_tree/4                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=89 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+131/204 bali-phy testsuite parse/guess-alphabet/rna                    OK              56.31s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12489,7 +11922,34 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-176/204 bali-phy testsuite parse/functions/1                           OK              20.03s
+151/204 bali-phy testsuite prob_prog/sample_tree/2                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=192 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+137/204 bali-phy testsuite parse/constraints/1                         OK              48.42s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... FAIL! ['exit'] (expected)
+     BAliPhy.Main.hs:27.67: error:
+        • Could not derive 'Num (MkReversible Markov)' arising from a use of '(+)' at BAliPhy.Main.hs:27.67
+        • In equation `result  = ((SModel.Nucleotides.hky85_sym alpha kappa)
+          SModel.+> (SModel.ReversibleMarkov.plus_f' alpha pi)) Compiler.Num.+
+          ((SModel.Nucleotides.hky85_sym alpha kappa_2) SModel.+>
+          (SModel.ReversibleMarkov.plus_f' alpha pi_2))`
+        • In equation `sample_smodel alpha  = do {kappa <-
+          Probability.Random.sample (Probability.Distribution.Transform.logNormal
+          (Compiler.Floating.log 2) (1%4))`
+        |
+     27 | ;let {result = (hky85_sym alpha kappa +> SModel.plus_f' alpha pi) + (hky85_sym alpha kappa_2 +> SModel.plus_f' alpha pi_2)}
+        |                                                                   ^
+
+SUCCESS! (0 unexpected failures, 1 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+152/204 bali-phy testsuite prob_prog/sample_tree/coalescent/2          RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=154 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/coalescent/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+132/204 bali-phy testsuite parse/guess-alphabet/aa                     OK              60.73s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12497,7 +11957,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-171/204 bali-phy testsuite parse/rates/1                               OK              21.89s
+153/204 bali-phy testsuite prob_prog/sample_tree/coalescent/1          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=47 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/coalescent/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+138/204 bali-phy testsuite prob_prog/hmm/1                             OK              51.16s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12505,7 +11968,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-182/204 bali-phy testsuite parse/x3/3                                  OK              19.32s
+154/204 bali-phy testsuite prob_prog/sample_tree/3                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=238 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+135/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/1           OK              59.35s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12513,7 +11979,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-186/204 bali-phy testsuite parse/11                                    OK              18.42s
+155/204 bali-phy testsuite prob_prog/sample_tree/1                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=129 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+133/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/2           OK              64.47s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12521,7 +11990,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-180/204 bali-phy testsuite parse/x3/4                                  OK              20.44s
+156/204 bali-phy testsuite prob_prog/sample_tree/5                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=234 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+136/204 bali-phy testsuite parse/guess-alphabet/Codons/rna             OK              59.17s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12529,7 +12001,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-172/204 bali-phy testsuite parse/24                                    OK              22.41s
+157/204 bali-phy testsuite prob_prog/sample_tree/yule/1                RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=181 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/sample_tree/yule/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+139/204 bali-phy testsuite prob_prog/functions/1                       OK              49.02s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12537,7 +12012,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-181/204 bali-phy testsuite parse/x3/5                                  OK              20.83s
+158/204 bali-phy testsuite prob_prog/order-two                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=165 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/order-two /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+140/204 bali-phy testsuite prob_prog/mcmc/propose                      OK              50.92s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12545,7 +12023,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-178/204 bali-phy testsuite parse/17                                    OK              21.43s
+159/204 bali-phy testsuite prob_prog/cluster/2                         RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=108 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/cluster/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+134/204 bali-phy testsuite parse/guess-alphabet/Codons/dna/3           OK              73.30s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12553,7 +12034,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-139/204 bali-phy testsuite mcmc/48-sequences/1                         OK              40.52s
+160/204 bali-phy testsuite prob_prog/cluster/1                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=172 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/cluster/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+141/204 bali-phy testsuite prob_prog/sample_crp                        OK              52.87s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12561,7 +12045,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-194/204 bali-phy testsuite parse/partitions/link/9                     OK              18.16s
+161/204 bali-phy testsuite prob_prog/popgen/li_stephens                RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=64 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/popgen/li_stephens /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+145/204 bali-phy testsuite prob_prog/categorical                       OK              54.77s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12569,7 +12056,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-199/204 bali-phy testsuite parse/partitions/1                          OK              17.95s
+162/204 bali-phy testsuite prob_prog/infer_tree/4                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=13 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+142/204 bali-phy testsuite prob_prog/if-then-else/1                    OK              60.59s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12577,7 +12067,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-201/204 bali-phy testsuite parse/13                                    OK              16.38s
+163/204 bali-phy testsuite prob_prog/infer_tree/m7                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=46 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/m7 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+148/204 bali-phy testsuite prob_prog/lazy_sample/1                     OK              52.84s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12585,7 +12078,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-193/204 bali-phy testsuite parse/partitions/link/1                     OK              19.22s
+164/204 bali-phy testsuite prob_prog/infer_tree/2                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=93 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+147/204 bali-phy testsuite prob_prog/lazy_sample/3                     OK              54.26s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12593,7 +12089,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-185/204 bali-phy testsuite parse/23                                    OK              20.86s
+165/204 bali-phy testsuite prob_prog/infer_tree/coalescent/2           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=76 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/coalescent/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+146/204 bali-phy testsuite prob_prog/lazy_sample/2                     OK              56.60s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12601,7 +12100,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-203/204 bali-phy testsuite parse/M3/1                                  OK              16.39s
+166/204 bali-phy testsuite prob_prog/infer_tree/coalescent/1           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=61 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/coalescent/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+149/204 bali-phy testsuite prob_prog/regression                        OK              58.22s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12609,7 +12111,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-196/204 bali-phy testsuite parse/partitions/2                          OK              19.10s
+167/204 bali-phy testsuite prob_prog/infer_tree/3                      RUNNING       
+>>> MALLOC_PERTURB_=69 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+150/204 bali-phy testsuite prob_prog/sample_tree/4                     OK              56.76s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12617,7 +12122,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-200/204 bali-phy testsuite parse/9                                     OK              17.57s
+168/204 bali-phy testsuite prob_prog/infer_tree/1                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=219 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+143/204 bali-phy testsuite prob_prog/no-resample/2                     OK              74.85s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12625,7 +12133,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-198/204 bali-phy testsuite parse/partitions/3                          OK              18.90s
+169/204 bali-phy testsuite prob_prog/infer_tree/5                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=160 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+151/204 bali-phy testsuite prob_prog/sample_tree/2                     OK              53.24s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12633,7 +12144,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-204/204 bali-phy testsuite parse/8                                     OK              16.19s
+170/204 bali-phy testsuite prob_prog/infer_tree/yule/1                 RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=192 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/yule/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+153/204 bali-phy testsuite prob_prog/sample_tree/coalescent/1          OK              51.04s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12641,7 +12155,10 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-202/204 bali-phy testsuite parse/M3/2                                  OK              19.95s
+171/204 bali-phy testsuite prob_prog/infer_tree/6                      RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=54 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/infer_tree/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+152/204 bali-phy testsuite prob_prog/sample_tree/coalescent/2          OK              54.31s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12649,7 +12166,531 @@
 SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
-125/204 bali-phy testsuite prob_prog/infer_tree/yule/1                 OK              52.05s
+172/204 bali-phy testsuite prob_prog/examples.1/GaussianRandomWalk     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=234 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/GaussianRandomWalk /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+154/204 bali-phy testsuite prob_prog/sample_tree/3                     OK              53.16s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+173/204 bali-phy testsuite prob_prog/examples.1/PCFG                   RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=14 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/PCFG /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+156/204 bali-phy testsuite prob_prog/sample_tree/5                     OK              54.20s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+174/204 bali-phy testsuite prob_prog/examples.1/LDA                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=53 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/LDA /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+155/204 bali-phy testsuite prob_prog/sample_tree/1                     OK              57.53s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+175/204 bali-phy testsuite prob_prog/examples.1/GaussianMixture        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=30 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.1/GaussianMixture /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+157/204 bali-phy testsuite prob_prog/sample_tree/yule/1                OK              55.58s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+176/204 bali-phy testsuite prob_prog/examples.2/branching              RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=173 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.2/branching /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+158/204 bali-phy testsuite prob_prog/order-two                         OK              54.29s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+177/204 bali-phy testsuite prob_prog/observe/2                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=200 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/observe/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+161/204 bali-phy testsuite prob_prog/popgen/li_stephens                OK              56.85s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+178/204 bali-phy testsuite prob_prog/observe/3                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=42 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/observe/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+159/204 bali-phy testsuite prob_prog/cluster/2                         OK              68.18s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+179/204 bali-phy testsuite prob_prog/observe/1                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=113 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/observe/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+162/204 bali-phy testsuite prob_prog/infer_tree/4                      OK              59.66s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+180/204 bali-phy testsuite prob_prog/examples.3/mixture_model          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=217 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.3/mixture_model /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+164/204 bali-phy testsuite prob_prog/infer_tree/2                      OK              58.90s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+181/204 bali-phy testsuite prob_prog/examples.3/glm_hierarchical_model RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=106 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/examples.3/glm_hierarchical_model /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+166/204 bali-phy testsuite prob_prog/infer_tree/coalescent/1           OK              59.53s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+182/204 bali-phy testsuite prob_prog/coal_mining                       RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=214 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/coal_mining /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+165/204 bali-phy testsuite prob_prog/infer_tree/coalescent/2           OK              67.56s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+183/204 bali-phy testsuite prob_prog/demos/4                           RUNNING       
+>>> MALLOC_PERTURB_=101 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/4 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+160/204 bali-phy testsuite prob_prog/cluster/1                         OK              80.37s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+184/204 bali-phy testsuite prob_prog/demos/2                           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=236 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+144/204 bali-phy testsuite prob_prog/no-resample/1                     OK             128.72s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+185/204 bali-phy testsuite prob_prog/demos/variable-dim                RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=79 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/variable-dim /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+171/204 bali-phy testsuite prob_prog/infer_tree/6                      OK              51.25s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... FAIL! ['exit'] (expected)
+     Created directory "ignore-1" for output files.
+     
+     bali-phy: Error! evaluating reg # 6419 (unchangeable): case <6417> of {(b, c) -> c}
+     
+     evaluating reg # 6417 (unchangeable): case <4817> of {_ -> case <2307> of {_ -> (<2307>, <4817>)}}
+     
+     evaluating reg # 4817 (unchangeable): MCMC:runMCMC 5 0 0
+     
+     evaluating reg # 2309 (unchangeable): case <4908> of {(b, c) -> c}
+     
+     evaluating reg # 4908 (unchangeable): case <4916> of {_ -> case <2307> of {_ -> (<2307>, <4916>)}}
+     
+     evaluating reg # 4916 (unchangeable): MCMC:walkTreeSampleBranchLengthsRaw <285> 0 0
+     
+     Reg 8600 isn't modifiable!
+       [8600] = case %0 of {(,) -> Trim {0} %0} {2074}
+
+SUCCESS! (0 unexpected failures, 1 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+186/204 bali-phy testsuite prob_prog/demos/3                           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=187 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+163/204 bali-phy testsuite prob_prog/infer_tree/m7                     OK              74.27s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+187/204 bali-phy testsuite prob_prog/demos/1                           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=23 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+168/204 bali-phy testsuite prob_prog/infer_tree/1                      OK              62.65s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+188/204 bali-phy testsuite prob_prog/demos/5                           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=81 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/5 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+172/204 bali-phy testsuite prob_prog/examples.1/GaussianRandomWalk     OK              54.64s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+189/204 bali-phy testsuite prob_prog/demos/airline                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=65 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/airline /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+173/204 bali-phy testsuite prob_prog/examples.1/PCFG                   OK              55.41s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+190/204 bali-phy testsuite prob_prog/demos/6                           RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=175 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run prob_prog/demos/6 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+169/204 bali-phy testsuite prob_prog/infer_tree/5                      OK              69.22s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+191/204 bali-phy testsuite print/2                                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=75 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run print/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+175/204 bali-phy testsuite prob_prog/examples.1/GaussianMixture        OK              50.88s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+192/204 bali-phy testsuite print/1                                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=56 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run print/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+177/204 bali-phy testsuite prob_prog/observe/2                         OK              50.68s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+193/204 bali-phy testsuite IO/errors/Triplets/2                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=104 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Triplets/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+193/204 bali-phy testsuite IO/errors/Triplets/2                        OK               0.67s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+194/204 bali-phy testsuite IO/errors/Triplets/1                        RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=12 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Triplets/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+194/204 bali-phy testsuite IO/errors/Triplets/1                        OK               1.32s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+195/204 bali-phy testsuite IO/errors/Triplets/AUTGC                    RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=54 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Triplets/AUTGC /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+174/204 bali-phy testsuite prob_prog/examples.1/LDA                    OK              56.12s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+196/204 bali-phy testsuite IO/errors/DNA-RNA/2                         RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=83 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/DNA-RNA/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+195/204 bali-phy testsuite IO/errors/Triplets/AUTGC                    OK               0.83s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+197/204 bali-phy testsuite IO/errors/DNA-RNA/3                         RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=137 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/DNA-RNA/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+196/204 bali-phy testsuite IO/errors/DNA-RNA/2                         OK               0.79s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+198/204 bali-phy testsuite IO/errors/DNA-RNA/1                         RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=202 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/DNA-RNA/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+176/204 bali-phy testsuite prob_prog/examples.2/branching              OK              55.56s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+199/204 bali-phy testsuite IO/errors/Codons/2                          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=106 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+198/204 bali-phy testsuite IO/errors/DNA-RNA/1                         OK               0.61s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+200/204 bali-phy testsuite IO/errors/Codons/3                          RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 MALLOC_PERTURB_=239 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/3 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+197/204 bali-phy testsuite IO/errors/DNA-RNA/3                         OK               1.10s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+201/204 bali-phy testsuite IO/errors/Codons/1                          RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=215 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+201/204 bali-phy testsuite IO/errors/Codons/1                          OK               2.10s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+202/204 bali-phy testsuite IO/errors/Codons/stop/2                     RUNNING       
+>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=55 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/stop/2 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+199/204 bali-phy testsuite IO/errors/Codons/2                          OK               2.55s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+203/204 bali-phy testsuite IO/errors/Codons/stop/1                     RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=88 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/stop/1 /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+200/204 bali-phy testsuite IO/errors/Codons/3                          OK               2.76s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+204/204 bali-phy testsuite IO/errors/Codons/AUTGC                      RUNNING       
+>>> MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=137 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /build/reproducible-path/bali-phy-4.0/tests/run-tests.py run IO/errors/Codons/AUTGC /build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/bali-phy/bali-phy --package-path=/build/reproducible-path/bali-phy-4.0/obj-x86_64-linux-gnu/src/builtins:/build/reproducible-path/bali-phy-4.0
+
+204/204 bali-phy testsuite IO/errors/Codons/AUTGC                      OK               0.95s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+203/204 bali-phy testsuite IO/errors/Codons/stop/1                     OK               2.62s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+202/204 bali-phy testsuite IO/errors/Codons/stop/2                     OK               3.03s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+178/204 bali-phy testsuite prob_prog/observe/3                         OK              49.75s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+192/204 bali-phy testsuite print/1                                     OK              18.50s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+179/204 bali-phy testsuite prob_prog/observe/1                         OK              52.79s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+183/204 bali-phy testsuite prob_prog/demos/4                           OK              46.29s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+180/204 bali-phy testsuite prob_prog/examples.3/mixture_model          OK              56.94s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+191/204 bali-phy testsuite print/2                                     OK              30.37s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+184/204 bali-phy testsuite prob_prog/demos/2                           OK              45.01s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+187/204 bali-phy testsuite prob_prog/demos/1                           OK              42.48s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+186/204 bali-phy testsuite prob_prog/demos/3                           OK              44.45s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+167/204 bali-phy testsuite prob_prog/infer_tree/3                      OK             111.06s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+185/204 bali-phy testsuite prob_prog/demos/variable-dim                OK              47.42s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+181/204 bali-phy testsuite prob_prog/examples.3/glm_hierarchical_model OK              60.54s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+189/204 bali-phy testsuite prob_prog/demos/airline                     OK              44.30s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+188/204 bali-phy testsuite prob_prog/demos/5                           OK              45.69s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+190/204 bali-phy testsuite prob_prog/demos/6                           OK              42.37s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+182/204 bali-phy testsuite prob_prog/coal_mining                       OK              66.05s
+――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
+Running tests for 'bali-phy':
+
+Running bali-phy test: .  ... ok
+SUCCESS! (0 unexpected failures, 0 expected failures, 1 tests total)
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+
+170/204 bali-phy testsuite prob_prog/infer_tree/yule/1                 OK             146.82s
 ――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
 Running tests for 'bali-phy':
 
@@ -12674,563 +12715,563 @@
 [1/5] Generating src/git-version.h with a custom command
 [1/2] Installing files
 Installing subdir /build/reproducible-path/bali-phy-4.0/haskell to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Parse.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/IModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Parameters.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Tree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Forest.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Prelude.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Parameters.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/EigenExp.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Effect.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Forest.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Tree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Graph.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Markov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/BirthDeath.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Parse.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/IModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
 Installing /build/reproducible-path/bali-phy-4.0/haskell/PopGen.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Graph.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Range.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/EigenExp.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Markov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
 Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Maybe.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/CList.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Introspection.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/IntMap.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/String.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Vector.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Pair.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
-Installing /build/reproducible-path/bali-phy-4.0/haskell/BAliPhy/Util.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/BAliPhy
+Installing /build/reproducible-path/bali-phy-4.0/haskell/BirthDeath.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell
+Installing /build/reproducible-path/bali-phy-4.0/haskell/PopGen/Deploid.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/PopGen
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Functor.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Ratio.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/IntSet.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Traversable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Nat.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Array.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Eq.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/IntMap.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/CSV.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Floating.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Monoid.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Either.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Frame.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Ix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Word.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Bool.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Map.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Semigroup.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Matrix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/IORef.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Function.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Set.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Foldable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/String.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/List.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/ByteString.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Maybe.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/OldList.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Poset.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Unique.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/JSON.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Ord.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Exception.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/BitVector.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Typeable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Tuple.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Char.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/List/NonEmpty.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/List
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Floating/Types.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Floating
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Floating/Classes.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Floating
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Type/Bool.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Type
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text/Encoding.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Text
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text/IO.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Text
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text/Display.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Text
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Unique/Id.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Unique
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Numeric/LogDouble.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Numeric
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Numeric/Natural.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Numeric
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Numeric/Prob.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Numeric
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Numeric/Log.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Numeric
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Numeric/Natural.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Numeric
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Types.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Loggers.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Context.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Real.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Alignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Tree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/MH.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
-Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Integer.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Text/Show.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Text
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Text/Read.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Text
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Tree/Newick.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Doublets.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Codons.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MarkovModulated.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/RNAEdit.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/ASRV.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/BranchModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/BranchSiteMixture.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Empirical.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/PosSelection.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MultiFrequency.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MixtureModels.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Frequency.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Rate.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Parsimony.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Markov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/NonReversibleMarkov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/ReversibleMarkov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Simple.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MixtureModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MutSel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Nucleotides.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Likelihood/CLV.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel/Likelihood
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Likelihood/FixedA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel/Likelihood
+Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Likelihood/VariableA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel/Likelihood
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Random.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Logger.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Dist.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Poisson.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Shifted.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tuple.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Discrete.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/RecDist.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Logger.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/DirichletProcess.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/NegativeBinomial.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Beta.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Multinomial.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Changepoints.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Binomial.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PairwiseAlignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Bernoulli.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/UniqueDist.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Cauchy.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/List.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Gamma.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Exponential.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Transform.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Normal.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Categorical.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PairwiseAlignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/UniqueDist.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Mixture.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Multinomial.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloAlignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Laplace.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Gamma.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Markov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Mixture.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Independent.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Discrete.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Geometric.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Categorical.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Dirichlet.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Transform.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Normal.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Cauchy.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Binomial.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/RecDist.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/List.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Shifted.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Bernoulli.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Uniform.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC/PhyloCTMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/PhyloCTMC
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Poisson.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Markov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Dirichlet.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tuple.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Independent.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/NegativeBinomial.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC/Properties.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/PhyloCTMC
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC/VariableA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/PhyloCTMC
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC/FixedA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/PhyloCTMC
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/BirthDeath2.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC/VariableA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/PhyloCTMC
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/PhyloCTMC/PhyloCTMC.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/PhyloCTMC
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Yule.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Util.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Modifiable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/UniformTimeTree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/BirthDeath.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/UniformTopology.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Moves.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Coalescent.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Frequency.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MixtureModels.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/ReversibleMarkov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Nucleotides.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Codons.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/NonReversibleMarkov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/ASRV.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Doublets.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MarkovModulated.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MixtureModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/RNAEdit.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/BranchModel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Markov.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MultiFrequency.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Empirical.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Simple.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Parsimony.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/BranchSiteMixture.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/MutSel.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Rate.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/PosSelection.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Likelihood/VariableA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel/Likelihood
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Likelihood/CLV.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel/Likelihood
-Installing /build/reproducible-path/bali-phy-4.0/haskell/SModel/Likelihood/FixedA.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/SModel/Likelihood
-Installing /build/reproducible-path/bali-phy-4.0/haskell/System/Directory.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
-Installing /build/reproducible-path/bali-phy-4.0/haskell/System/IO.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
-Installing /build/reproducible-path/bali-phy-4.0/haskell/System/Environment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
-Installing /build/reproducible-path/bali-phy-4.0/haskell/System/FilePath.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Tree/Newick.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Tree
-Installing /build/reproducible-path/bali-phy-4.0/haskell/PopGen/Deploid.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/PopGen
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/Applicative.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/UniformTimeTree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/BirthDeath2.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Modifiable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/Moves.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Probability/Distribution/Tree/BirthDeath.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Probability/Distribution/Tree
+Installing /build/reproducible-path/bali-phy-4.0/haskell/BAliPhy/Util.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/BAliPhy
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/DeepSeq.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/Applicative.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/Monad.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/Monad/State.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control/Monad
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/Monad/Fix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control/Monad
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Control/Monad/IO/Class.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Control/Monad/IO
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/OldList.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Ord.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Poset.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Tuple.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Maybe.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Monoid.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Matrix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Floating.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Frame.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Functor.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Map.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/IORef.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Typeable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/ByteString.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Exception.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Set.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Traversable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/IntSet.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/BitVector.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/List.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Function.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Char.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/JSON.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/CSV.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Either.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Bool.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Array.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Foldable.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/IntMap.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Eq.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Word.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/String.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Semigroup.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Unique.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Ratio.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Ix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Nat.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text/IO.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Text
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text/Encoding.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Text
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Text/Display.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Text
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Floating/Classes.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Floating
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Floating/Types.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Floating
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Unique/Id.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Unique
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/List/NonEmpty.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/List
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Data/Type/Bool.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Data/Type
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Sequence.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alphabet.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment/Class.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio/Alignment
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment/Matrix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio/Alignment
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment/Pairwise.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio/Alignment
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Classes.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Num.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Types.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Loggers.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Tree.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Real.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/MH.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Integer.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Context.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
+Installing /build/reproducible-path/bali-phy-4.0/haskell/MCMC/Moves/Alignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/MCMC/Moves
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/RealFloat.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/RealFrac.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Ratio.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Classes.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/ST.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Integral.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Fractional.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Floating.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/RealFrac.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Real.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Base.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Enum.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/IO.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Fractional.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Real.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/ST.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
 Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Error.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Integral.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Enum.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
-Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Ratio.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Compiler/Num.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Compiler
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Vector.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/IntMap.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Pair.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/CList.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/String.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Maybe.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Foreign/Introspection.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Foreign
+Installing /build/reproducible-path/bali-phy-4.0/haskell/System/FilePath.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
+Installing /build/reproducible-path/bali-phy-4.0/haskell/System/Directory.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
+Installing /build/reproducible-path/bali-phy-4.0/haskell/System/Environment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
+Installing /build/reproducible-path/bali-phy-4.0/haskell/System/IO.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/System
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Sequence.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alphabet.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment/Pairwise.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio/Alignment
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment/Matrix.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio/Alignment
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Bio/Alignment/Class.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Bio/Alignment
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Text/Read.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Text
+Installing /build/reproducible-path/bali-phy-4.0/haskell/Text/Show.hs to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/haskell/Text
 Installing subdir /build/reproducible-path/bali-phy-4.0/bindings to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/normal.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/fixed_topology_tree.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet_on_dirichlet.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/iidMap.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/bernoulli.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logCauchy.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet_on.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform_tree.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logGamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/shifted_gamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/poisson.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/symmetric_dirichlet_on.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/cauchy.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform_int.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform_rooted_tree.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/laplace.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/shifted_exponential.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/binomial.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logLaplace.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/exponential.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/iid_on.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/iid.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/geometric.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/symmetric_dirichlet.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logNormal.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/yule.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/gamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/beta.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/codonsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/branch_length.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/replicate.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/num_branches.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/tripletsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/sub.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/uniform_discretize.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/getAminoAcids.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/quantile.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/zipWith.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/branches.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/rnaEditsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/dna.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/exp.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/mul.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/n_components.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/nonreversible.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/pow.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/max.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/lookup.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/letters.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/tan.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/div.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/ordered_letter_pairs.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/log.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/getNucleotides.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/zip.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/cdf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/branches_list.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/scaleTo.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/nodes.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/unit_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/sin.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/standard_code.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/min.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/doubletsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/add.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/length.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/intToDouble.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/cos.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/aa.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/map.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/letter_pairs.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/negate.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/identity.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/convertDiscrete.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/discrete.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/sqrt.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/take.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/scaleBy.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/rna.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/pdf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/number_pairs.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/constructors/Nil.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions/constructors
-Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/constructors/Cons.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions/constructors
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multi_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/parameter_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/inv.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m3.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/busted.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x2x2.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/markov_modulate_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multiMixtureModel.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mut_sel.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gy94_ext.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multi_rate.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f81.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/fMutSel.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/jtt.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mut_sel.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mg94k.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mut_sel_aa.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/jc69.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gtr.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rna_16a.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multi_rs07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/relaxed_rs07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gtr_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/nonEq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x2_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rna_edit.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/tn93_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mg94k.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m2a_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rs07_relaxed_rates.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mg94.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/nonrev.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/fMutSel.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gy94.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/equ.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/wag.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/tn93.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/hky85_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m3_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m8a_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m8a.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x3.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rs07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f61.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/branch_site_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x2.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/get_q.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/wag_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/pam.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x3_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mg94.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/lg08_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rs05.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m8a_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m2a.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f1x4.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/branch_site_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gy94_ext.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/equ.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/parameter_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m3_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x3.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gy94.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mnm.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/nonEq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m1a.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/tn93.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/k80.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/hky85.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/lg08_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/relaxed_rs07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/lg08.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multi_rate.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rs07_relaxed_rates.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x2.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multi_rs07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/multi_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f1x4.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/rs07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/empirical.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/fe.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/sample.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/density.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mut_sel_aa.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x3_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gtr.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m7.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gwF.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x2_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x3x3.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/k80.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f61.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mg94_ext.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/fe.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/jc69.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m8.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/dNdS.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/fMutSel0.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/markov_modulate_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/sample.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/branch_site.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gtr_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m7.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x3x3.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/gwF.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/nonrev.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/inv.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/f3x4.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/x2x2.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/branch_site.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/busted.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/busted_s.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/jtt.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/multi_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/wang07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m2a_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/tn93_sym.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m8.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/fMutSel0.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/get_q.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m1a.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/m2a.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/wag.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/pam.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Rates/gamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Rates
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Rates/log_normal.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Rates
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Rates/free.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Rates
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Frequencies/uniform.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Frequencies
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/gtr.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/ts98.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/huelsenbeck02_two.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/galtier01.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/huelsenbeck02_test.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/gtr.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/multi_freq.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
 Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/huelsenbeck02.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Frequencies/uniform.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Frequencies
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Rates/log_normal.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Rates
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Rates/free.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Rates
-Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Rates/gamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Rates
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/galtier01.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/wang07.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
+Installing /build/reproducible-path/bali-phy-4.0/bindings/models/Covarion/huelsenbeck02_two.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/models/Covarion
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/div.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/take.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/length.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/sin.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/convertDiscrete.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/letter_pairs.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/dna.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/intToDouble.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/replicate.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/log.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/pdf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/getAminoAcids.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/nonreversible.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/zip.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/cdf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/aa.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/branches_list.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/max.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/sub.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/num_branches.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/tan.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/number_pairs.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/scaleBy.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/lookup.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/codonsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/getNucleotides.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/branches.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/doubletsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/add.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/negate.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/map.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/scaleTo.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/uniform_discretize.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/tripletsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/rnaEditsOf.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/pow.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/nodes.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/cos.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/quantile.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/standard_code.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/n_components.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/branch_length.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/exp.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/mul.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/identity.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/unit_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/rna.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/min.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/ordered_letter_pairs.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/letters.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/zipWith.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/discrete.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/sqrt.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/constructors/Nil.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions/constructors
+Installing /build/reproducible-path/bali-phy-4.0/bindings/functions/constructors/Cons.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/functions/constructors
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet_on.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/poisson.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/iid.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/geometric.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logCauchy.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform_rooted_tree.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/normal.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/fixed_topology_tree.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logLaplace.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/shifted_gamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/exponential.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/binomial.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet_mixture.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/gamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/bernoulli.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/iid_on.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/cauchy.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/yule.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/iidMap.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/symmetric_dirichlet_on.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logGamma.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/shifted_exponential.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/laplace.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet_on_dirichlet.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/logNormal.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/symmetric_dirichlet.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/beta.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform_tree.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/dirichlet.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
+Installing /build/reproducible-path/bali-phy-4.0/bindings/distributions/uniform_int.json to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/bindings/distributions
 Installing subdir /build/reproducible-path/bali-phy-4.0/help to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help
 Installing /build/reproducible-path/bali-phy-4.0/help/alphabets.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help
 Installing /build/reproducible-path/bali-phy-4.0/help/parameters.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help
-Installing /build/reproducible-path/bali-phy-4.0/help/parameters/priors.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/parameters
-Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/Triplets.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
-Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/Doublets.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
-Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/genetic-code.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
-Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/Codons.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/unalign.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/alphabet.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/print.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/fix.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/smodel.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/package-path.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/disable.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/iterations.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/scale.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/name.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
 Installing /build/reproducible-path/bali-phy-4.0/help/commands/pre-burnin.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/version.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/verbose.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/set.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/subsample.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
 Installing /build/reproducible-path/bali-phy-4.0/help/commands/align.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/link.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/model.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/config.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/enable.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/smodel.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
 Installing /build/reproducible-path/bali-phy-4.0/help/commands/seed.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
 Installing /build/reproducible-path/bali-phy-4.0/help/commands/imodel.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/subsample.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/test.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/set.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/alphabet.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/verbose.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/disable.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
 Installing /build/reproducible-path/bali-phy-4.0/help/commands/tree.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/test.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/package-path.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/print.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/version.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/fix.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/scale.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/iterations.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
 Installing /build/reproducible-path/bali-phy-4.0/help/commands/Rao-Blackwellize.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/config.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/enable.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/link.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
-Installing /build/reproducible-path/bali-phy-4.0/help/commands/model.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/name.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/commands/unalign.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/commands
+Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/Triplets.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
+Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/Codons.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
+Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/genetic-code.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
+Installing /build/reproducible-path/bali-phy-4.0/help/alphabets/Doublets.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/alphabets
+Installing /build/reproducible-path/bali-phy-4.0/help/parameters/priors.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy/help/parameters
 Installing subdir /build/reproducible-path/bali-phy-4.0/examples to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/HIVSIV.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env-clustal.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/pol-common.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env-common.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/pol.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env-clustal-codons.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/pol-clustal.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/some.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/10-globins.xml to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/bglobin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/10-globins-Lunter.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/globins.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/many-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/many.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/legume_lectin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/lysozyme.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/subtilase.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/xylose_isomerase.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/lectin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/Starch_binding_domain.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/annexin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/parvalbumin-like.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/rr_receiver.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/papain.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/Src_homology_2_domains.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/haloperoxidase.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-t-coffee.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-c10.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-tcoffee.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-probcons-RNA-trained.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-t-coffee.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-GTR-LN8-WPD.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-probcons-RNA-trained.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-GTR-LN8-c50.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-muscle5.FastTree.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-consensus.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-t-coffee.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-tcoffee.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-MAP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-dialign2-2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-fsa.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-t-coffee.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-probcons-RNA.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-tcoffee.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-t-coffee.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-WPD.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-MAP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-GTR-LN8-c50.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-t-coffee.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-dialign2-2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-GTR-LN8-c50.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.command to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-dialign2-2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-probcons-RNA-trained.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-fsa.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-muscle5.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-probcons-RNA.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-t-coffee.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.trees to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-c10.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-consensus.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-fsa.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-t-coffee.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-probcons-RNA.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
 Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-GTR-DP6-MAP.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/5d-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/48-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-GTR-LN8-WPD.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-GTR-LN8-c50.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-probcons-RNA-trained.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-muscle5.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/cleaned.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
-Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/orig.nex to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
-Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/orig.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
-Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/config.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
-Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/README.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
-Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/config2.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
-Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc.rna.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc12.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/keep.pl to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc.gb to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/NOTES.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/lectin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/subtilase.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/Src_homology_2_domains.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/rr_receiver.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/parvalbumin-like.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/legume_lectin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/Starch_binding_domain.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/lysozyme.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/annexin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/haloperoxidase.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/xylose_isomerase.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
-Installing /build/reproducible-path/bali-phy-4.0/examples/Miklos-2008/papain.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Miklos-2008
+Installing /build/reproducible-path/bali-phy-4.0/examples/5S-rRNA/25-poy.trees to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/5S-rRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
 Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/12d-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/12d-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/12d.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
 Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
 Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/48b-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/48b.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/48b-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/12d.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
 Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/12d-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/5d-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/48b-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
+Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/48b.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
 Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/25-mafft.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/EF-Tu/12d-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/EF-Tu
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/tyr-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/trp-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/trp-tyr-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/tyr.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/trp.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA-hisF-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA-hisF-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisF-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
-Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisF.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
-Installing /build/reproducible-path/bali-phy-4.0/examples/Enolase/enolase-38.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Enolase
-Installing /build/reproducible-path/bali-phy-4.0/examples/Enolase/enolase-38-trimmed.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Enolase
-Installing /build/reproducible-path/bali-phy-4.0/examples/ITS/ITS1-trimmed.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ITS
-Installing /build/reproducible-path/bali-phy-4.0/examples/ITS/5.8S.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ITS
-Installing /build/reproducible-path/bali-phy-4.0/examples/ITS/ITS2-trimmed.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ITS
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-clustalw.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/other.accessions to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-clustalw.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
 Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
 Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30-clustalw.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/table1.accessions to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
 Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/paper.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/table1.accessions to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
 Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/other.accessions to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.aln to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-clustalw.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
+Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
 Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
 Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/additional.accessions to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/76-clustalw.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/37.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30.aln to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/microbotryum/30-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/microbotryum
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src-mafft.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-bali-phy-C20-gamma4.MAP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-prank.1.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.1.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-bali-phy-C20-gamma4.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.1.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-mafft.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-bali-phy-C20-gamma4-c50.PP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-prank.2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-prank.1.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-bali-phy-C20-gamma4-c50.PP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src-mafft.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-mafft.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-prank.2.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-bali-phy-C20-gamma4.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-bali-phy-C20-gamma4.MAP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.2.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-prank.2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-fsa.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.2.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.1.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-bali-phy-C20-gamma4.MAP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-prank.1.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-mafft.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.1.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/v-src.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
 Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-bali-phy-C20-gamma4.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/globins-prank.2.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
-Installing /build/reproducible-path/bali-phy-4.0/examples/Feng-Doolittle-1987/sod-bali-phy-C20-gamma4.MAP.tree to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Feng-Doolittle-1987
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/HIVSIV.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env-common.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/pol.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/pol-clustal.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env-clustal-codons.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/pol-common.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/HIV/chain-2005/env-clustal.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/HIV/chain-2005
+Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/NOTES.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc.rna.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/keep.pl to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc.gb to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/lrRNA/mollusc12.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/lrRNA
+Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/orig.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
+Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/config.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
+Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/cleaned.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
+Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/orig.nex to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
+Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/config2.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
+Installing /build/reproducible-path/bali-phy-4.0/examples/ferns/README.txt to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ferns
+Installing /build/reproducible-path/bali-phy-4.0/examples/ITS/ITS2-trimmed.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ITS
+Installing /build/reproducible-path/bali-phy-4.0/examples/ITS/ITS1-trimmed.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ITS
+Installing /build/reproducible-path/bali-phy-4.0/examples/ITS/5.8S.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/ITS
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/many.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few-clustalw.dnd to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/some.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/globins.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/many-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few-clustalw.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/10-globins.xml to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/bglobin.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/10-globins-Lunter.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Globins/few.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Globins
+Installing /build/reproducible-path/bali-phy-4.0/examples/Enolase/enolase-38.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Enolase
+Installing /build/reproducible-path/bali-phy-4.0/examples/Enolase/enolase-38-trimmed.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Enolase
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/trp.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/tyr-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/tyr.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/trp-tyr-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/trp-tyr/trp-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/trp-tyr
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisF-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA-hisF-muscle.ph to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisF.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
+Installing /build/reproducible-path/bali-phy-4.0/examples/Duplications/hisA-hisF/hisA-hisF-muscle.fasta to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/share/doc/bali-phy/examples/Duplications/hisA-hisF
 Installing src/bali-phy/bali-phy to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/bin
 Installing src/builtins/Array.so to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy
 Installing src/builtins/Data.so to /build/reproducible-path/bali-phy-4.0/debian/bali-phy/usr/lib/bali-phy
@@ -13348,8 +13389,8 @@
    dh_gencontrol -O--buildsystem=meson
    dh_md5sums -O--buildsystem=meson
    dh_builddeb -O--buildsystem=meson
-dpkg-deb: building package 'bali-phy-dbgsym' in '../bali-phy-dbgsym_4.0-1_amd64.deb'.
 dpkg-deb: building package 'bali-phy' in '../bali-phy_4.0-1_amd64.deb'.
+dpkg-deb: building package 'bali-phy-dbgsym' in '../bali-phy-dbgsym_4.0-1_amd64.deb'.
  dpkg-genbuildinfo --build=binary -O../bali-phy_4.0-1_amd64.buildinfo
  dpkg-genchanges --build=binary -O../bali-phy_4.0-1_amd64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -13357,12 +13398,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: including full source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/2803310/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/52854 and its subdirectories
-I: Current time: Fri Apr  3 15:09:32 -12 2026
-I: pbuilder-time-stamp: 1775272172
+I: removing directory /srv/workspace/pbuilder/2803310 and its subdirectories
+I: Current time: Sun Mar  2 12:01:01 +14 2025
+I: pbuilder-time-stamp: 1740866461