shithub: MicroHs

Download patch

ref: 6b608927ecf00942c7182df14636237dddcd45cc
parent: 7b429c10bb6f4fdbcda0aa146999839a39844c9b
author: Lennart Augustsson <lennart@augustsson.net>
date: Thu Jan 2 05:22:19 EST 2025

Add NFData1 and NFData2

--- a/Makefile
+++ b/Makefile
@@ -213,8 +213,8 @@
 
 ######
 
-VERSION=0.11.1.2
-HVERSION=0,11,1,2
+VERSION=0.11.1.3
+HVERSION=0,11,1,3
 MCABAL=$(HOME)/.mcabal
 MCABALMHS=$(MCABAL)/mhs-$(VERSION)
 MDATA=$(MCABALMHS)/packages/mhs-$(VERSION)/data
--- a/MicroHs.cabal
+++ b/MicroHs.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                MicroHs
-version:             0.11.1.2
+version:             0.11.1.3
                      -- *** When changing the version number, also
                      -- *** run 'sh updateversion.sh'
                      -- *** Yeah, it stinks.
--- a/generated/mhs.c
+++ b/generated/mhs.c
@@ -1,5 +1,5 @@
 static unsigned char data[] = {
-122,76,90,49,235,146,1,0,26,118,55,46,48,10,50,48,55,56,10,65,
+122,76,90,49,237,146,1,0,26,118,55,46,48,10,50,48,55,56,10,65,
 32,95,48,32,95,50,51,32,64,95,50,48,57,32,64,66,224,15,2,6,
 49,56,32,64,64,66,32,224,18,4,16,55,32,64,64,64,83,39,32,66,
 32,64,66,39,32,67,32,83,64,50,6,83,32,67,39,32,83,39,128,10,
@@ -4941,7 +4941,7 @@
 128,11,0,58,96,6,185,104,1,51,52,161,18,1,95,50,78,191,1,58,
 50,78,214,96,190,238,167,5,238,181,18,96,0,0,58,96,62,80,61,224,
 138,0,8,118,55,46,48,92,49,48,38,34,96,86,209,234,0,53,96,147,
-112,37,64,119,128,19,0,57,66,11,0,48,175,199,128,6,96,5,0,50,
+112,37,64,119,128,19,0,57,66,11,0,48,175,199,128,6,96,5,0,51,
 226,28,0,0,58,96,51,128,45,80,118,0,53,130,17,0,85,64,10,193,
 112,65,234,0,53,65,205,239,254,3,66,153,128,67,3,95,50,48,48,65,
 80,90,90,225,103,0,0,53,209,158,96,60,124,4,2,50,53,53,64,157,
@@ -5028,138 +5028,138 @@
 165,1,55,50,230,49,2,27,92,51,52,38,108,105,98,47,68,97,116,97,
 47,73,110,116,101,103,101,114,95,84,121,112,101,46,104,115,64,27,4,44,
 50,56,58,49,241,230,0,96,178,99,159,97,78,0,85,161,215,224,18,0,
-240,91,0,128,5,240,84,1,224,60,5,105,109,96,60,0,89,160,208,67,
-155,64,197,0,48,192,197,159,130,100,166,65,15,100,4,146,6,196,214,98,
-102,128,18,228,167,1,3,64,95,52,52,133,61,0,58,97,85,7,10,65,
-32,114,101,109,32,58,96,64,110,48,0,58,96,126,79,15,64,10,130,12,
-0,80,64,10,204,42,104,238,0,49,134,173,0,49,94,234,0,58,65,49,
-64,27,70,14,190,251,168,238,0,49,112,41,0,49,80,15,168,238,192,56,
-116,201,192,11,224,80,0,0,58,96,6,128,102,81,30,228,73,0,1,95,
-49,69,18,1,64,58,64,43,128,31,0,85,193,179,82,159,135,83,0,80,
-227,103,1,160,47,224,15,8,64,65,227,51,0,79,26,96,23,175,149,135,
-49,138,139,81,227,131,240,66,139,224,68,0,64,200,224,21,2,160,154,99,
-162,171,20,199,235,139,57,0,49,146,231,96,164,97,22,2,56,32,58,96,
-19,3,10,65,32,90,64,195,0,58,96,40,161,121,178,184,65,71,178,165,
-0,85,68,195,0,58,96,109,203,49,239,28,6,224,14,5,203,73,105,102,
-161,249,75,65,128,207,0,58,96,6,160,72,192,42,64,172,107,121,192,42,
-96,60,0,58,96,6,192,42,64,163,1,95,49,67,67,0,58,96,43,6,
-10,65,32,47,61,32,58,96,17,132,44,64,38,100,241,143,61,205,165,0,
-75,64,98,142,164,129,164,103,122,0,85,224,20,1,99,132,237,84,5,177,
-246,78,86,64,147,144,133,64,17,64,9,96,176,160,77,96,175,192,17,0,
-58,96,6,228,122,4,228,132,3,128,59,239,53,2,0,58,96,60,100,120,
-1,53,51,64,202,226,234,1,210,236,148,241,128,141,244,218,4,9,110,111,
-32,109,97,116,99,104,32,97,213,157,96,32,136,7,83,241,162,240,75,134,
-128,11,0,58,96,6,235,134,29,8,120,99,101,112,116,105,111,110,46,68,
-110,2,114,110,97,107,124,224,39,1,2,80,97,116,64,22,0,77,64,128,
-0,70,204,145,165,75,179,101,135,193,178,178,0,49,76,140,234,132,2,109,
-75,224,15,3,68,114,247,231,2,202,192,175,173,116,192,244,197,12,171,174,
-98,160,179,137,3,95,49,52,56,130,177,179,134,2,85,32,58,64,18,226,
-202,2,179,109,161,92,78,133,162,136,109,153,82,183,65,217,116,147,1,54,
-32,128,15,99,113,139,134,97,102,68,240,83,150,96,134,224,39,3,161,135,
-225,43,1,6,39,92,57,50,38,39,39,165,159,161,156,96,230,224,99,3,
-101,25,139,214,224,17,3,140,200,234,142,3,224,168,1,0,64,160,35,134,
-70,64,156,164,141,144,254,96,158,130,163,247,211,8,64,146,70,57,160,148,
-64,0,0,58,96,147,226,187,0,176,135,232,172,6,166,174,1,95,49,77,
-82,160,108,84,15,0,35,74,25,129,145,239,77,0,105,25,246,96,3,180,
-90,114,41,210,39,0,90,64,28,142,250,134,29,224,163,5,224,160,0,2,
-67,32,79,249,137,1,67,226,139,100,116,17,225,22,7,96,0,5,79,32,
-80,32,35,55,246,28,3,64,79,0,97,96,79,96,27,246,56,4,64,27,
-0,98,224,27,1,66,158,224,28,5,0,102,224,28,2,0,48,224,28,7,
-0,110,224,28,2,0,51,224,28,7,110,205,128,28,0,57,224,27,7,118,
-170,160,56,0,49,224,28,7,0,118,224,56,2,224,143,8,64,3,227,116,
-1,225,193,0,132,77,69,198,182,4,102,76,147,57,0,51,89,80,109,236,
-64,18,3,49,32,64,35,69,57,64,53,196,106,1,51,55,64,56,203,227,
-239,235,0,225,189,0,147,128,68,79,96,17,0,58,96,6,154,136,72,24,
-237,40,0,208,219,0,49,67,17,75,67,140,173,128,19,0,48,64,134,144,
-98,99,48,0,58,96,87,137,55,226,230,3,249,138,1,192,64,150,223,226,
-96,8,64,69,105,142,236,113,0,160,40,226,52,3,224,10,1,96,50,107,
-13,237,72,1,96,250,129,28,128,123,72,24,224,74,4,0,58,96,102,237,
-75,9,182,212,4,111,114,100,32,58,64,68,160,34,224,33,3,0,54,96,
-20,2,99,104,114,64,33,237,144,0,0,52,103,250,64,31,129,168,79,244,
-192,213,68,36,160,28,129,154,225,197,6,112,207,225,197,0,68,45,96,43,
-129,184,1,117,60,71,20,181,32,198,228,0,58,96,61,162,26,213,16,64,
-107,0,58,100,44,131,245,0,89,74,145,99,233,240,61,3,0,58,96,146,
-139,28,0,49,64,47,128,207,167,189,110,109,82,226,0,58,99,123,199,147,
-180,246,0,61,96,11,128,195,171,242,180,234,252,187,2,68,2,115,219,100,
-45,133,240,96,121,97,14,130,115,130,110,180,218,96,39,107,147,84,188,0,
-58,96,35,171,146,124,155,83,223,96,26,96,43,200,13,194,123,174,123,96,
-10,143,82,167,237,224,32,4,237,175,0,229,0,0,246,16,1,97,34,224,
-65,4,224,64,5,170,229,182,52,130,61,181,40,171,247,224,169,2,140,149,
-181,42,178,106,96,28,161,50,73,221,0,58,97,31,182,32,218,100,97,59,
-160,36,66,216,0,58,98,51,171,29,210,60,121,28,111,155,117,74,209,255,
-1,95,49,157,191,0,58,103,136,177,214,213,43,96,27,250,35,1,105,117,
-84,141,177,204,64,220,160,26,104,207,0,56,104,102,101,119,0,58,96,101,
-181,242,128,55,0,56,74,161,0,90,122,246,64,31,180,213,2,110,101,119,
-213,155,4,76,101,110,32,58,96,39,224,223,7,180,191,76,2,180,191,129,
-145,2,115,101,113,103,17,86,195,128,43,64,44,129,32,73,57,180,107,193,
-147,128,1,113,217,225,170,3,224,20,3,224,17,8,224,14,5,224,11,2,
-192,8,110,144,128,209,226,221,1,238,194,4,180,60,0,79,64,144,171,56,
-0,56,72,108,0,95,111,115,192,7,0,95,82,81,147,210,0,95,113,25,
-160,10,211,24,2,64,95,57,72,45,160,10,66,243,83,135,0,58,96,16,
-123,156,3,111,107,101,87,100,124,211,159,86,247,160,17,194,114,106,238,0,
-95,115,56,0,95,81,251,0,58,179,57,207,3,143,199,243,67,0,160,46,
-99,38,128,46,226,124,1,87,63,99,152,70,51,0,95,98,253,0,58,178,
-78,183,16,178,47,6,116,111,80,116,114,32,58,178,48,239,109,5,177,240,
-175,37,139,31,79,3,64,96,67,169,1,64,95,80,103,222,95,134,43,77,
-210,137,230,240,153,12,176,152,200,176,0,95,145,150,70,147,64,61,1,67,
-32,96,63,0,95,78,34,64,44,237,124,0,197,132,176,173,78,174,114,246,
-72,28,0,58,176,170,5,113,117,111,116,32,58,176,169,226,41,1,226,45,
-2,226,84,72,176,254,97,23,164,125,244,72,1,0,95,80,171,163,139,224,
-20,0,163,144,245,57,6,244,55,3,0,58,177,48,86,70,65,11,70,206,
-0,58,64,37,66,52,5,102,114,101,101,32,58,177,26,135,131,224,91,5,
-85,217,150,23,211,156,245,214,4,191,20,81,27,250,31,4,177,86,237,3,
-1,64,165,133,72,96,244,0,39,79,26,224,48,0,151,119,160,97,245,78,
-1,165,70,193,62,224,118,3,1,64,95,81,115,128,162,133,87,1,55,53,
-245,70,5,136,140,0,58,177,181,111,111,99,162,0,58,177,172,130,153,96,
-16,130,3,75,130,0,83,106,237,189,247,128,168,76,34,145,79,64,198,224,
-104,11,128,103,0,54,160,85,228,11,1,0,58,176,202,68,173,0,58,176,
-203,96,199,191,118,66,164,215,121,226,169,7,176,239,248,64,6,8,117,110,
-100,101,102,105,110,101,100,74,0,0,58,176,247,243,67,7,209,3,1,52,
-50,163,172,70,149,99,14,0,95,75,231,233,178,12,65,128,233,174,2,157,
-209,4,67,32,95,54,51,224,37,3,233,143,2,64,37,96,19,96,10,0,
-95,81,23,0,58,177,60,0,85,230,63,0,0,53,79,137,64,32,209,246,
-161,49,0,80,96,12,97,107,243,229,1,131,242,96,175,67,139,97,221,64,
-70,153,215,132,154,108,47,192,91,210,112,224,55,10,160,0,0,58,177,174,
-82,184,131,221,112,73,224,13,0,73,55,225,97,6,179,99,14,58,32,117,
-110,115,117,112,112,111,114,116,101,100,32,119,69,85,3,115,105,122,101,107,
-119,3,35,51,50,55,96,102,8,35,50,49,52,55,52,56,51,54,74,62,
-0,58,177,216,243,50,2,234,209,0,64,117,243,253,1,66,212,211,37,81,
-139,129,20,65,146,0,51,225,33,0,129,143,0,54,147,43,98,95,178,40,
-0,105,92,105,177,206,0,115,74,88,177,205,73,111,177,202,230,144,7,177,
-214,131,1,100,244,177,221,4,95,52,56,32,95,80,24,0,95,80,114,0,
-95,80,130,0,95,112,210,80,202,116,178,1,95,53,81,125,129,225,65,52,
-64,9,0,58,64,5,175,229,240,232,3,87,167,89,117,239,149,0,177,236,
-224,29,1,224,49,1,224,39,4,177,233,227,161,2,177,227,3,62,61,32,
-58,64,133,64,10,1,32,58,177,95,74,227,177,58,2,60,32,58,177,54,
-5,105,99,109,112,32,58,209,56,74,159,80,17,0,95,80,143,0,58,176,
-249,74,156,176,159,65,43,176,49,2,80,32,58,176,42,196,100,164,159,194,
-69,224,20,11,224,17,8,224,14,5,224,11,2,192,8,229,223,0,240,140,
-0,236,74,3,176,147,4,110,101,103,32,58,175,137,2,42,32,58,173,209,
-2,45,32,58,173,208,2,43,32,58,173,175,224,148,68,0,58,173,246,199,
-169,64,17,225,225,0,73,203,2,66,32,95,76,169,0,95,76,227,64,12,
-66,33,141,191,173,190,116,86,173,36,2,73,32,58,173,24,64,54,96,42,
-94,146,173,31,64,29,128,224,64,9,128,224,8,94,109,97,108,108,111,99,
-32,58,173,14,13,73,79,46,112,101,114,102,111,114,109,73,79,32,58,173,
-6,224,179,2,0,58,172,237,2,85,32,58,172,234,224,219,14,0,58,172,
-248,64,19,0,95,141,92,76,241,0,58,173,4,104,70,115,28,173,7,6,
-114,97,105,115,101,32,58,172,243,95,60,128,170,7,65,46,114,101,97,100,
-32,58,172,229,13,73,79,46,103,101,116,65,114,103,82,101,102,32,58,172,
-238,0,95,70,200,100,232,68,81,99,82,64,105,128,188,6,73,79,46,62,
-62,32,58,172,255,0,95,78,172,98,157,108,223,199,182,82,27,108,236,1,
-95,49,95,126,96,9,127,71,99,115,172,255,186,72,110,19,173,54,109,13,
-191,171,224,35,2,96,32,154,49,160,32,0,95,68,178,0,58,173,28,0,
-95,77,255,128,246,224,47,7,149,107,64,4,142,92,225,14,0,236,154,0,
-162,184,0,58,172,154,118,135,0,58,236,147,1,0,50,238,223,0,192,95,
-137,153,69,242,224,11,2,96,197,100,237,0,58,172,138,96,59,172,245,128,
-165,0,51,97,206,108,120,130,120,74,152,129,62,75,10,96,36,179,157,0,
-95,68,174,65,222,128,224,2,75,32,58,227,106,0,70,154,96,11,2,66,
-32,58,162,125,9,79,46,114,101,116,117,114,110,32,58,225,212,0,0,62,
-68,110,245,133,0,227,104,7,227,84,37,0,58,128,208,226,152,15,207,161,
-194,128,64,200,70,135,152,35,224,0,255,224,0,255,224,0,255,224,0,255,
-224,0,255,224,0,255,224,0,255,224,0,217,1,32,125,
+240,91,0,128,5,0,50,244,19,2,224,60,3,105,109,96,60,0,89,160,
+208,67,155,64,197,0,48,192,197,159,130,100,166,65,15,100,4,146,6,196,
+214,98,102,128,18,228,167,1,3,64,95,52,52,133,61,0,58,97,85,7,
+10,65,32,114,101,109,32,58,96,64,110,48,0,58,96,126,79,15,64,10,
+130,12,0,80,64,10,204,42,104,238,0,49,134,173,0,49,94,234,0,58,
+65,49,64,27,70,14,190,251,168,238,0,49,112,41,0,49,80,15,168,238,
+192,56,116,201,192,11,224,80,0,0,58,96,6,128,102,81,30,228,73,0,
+1,95,49,69,18,1,64,58,64,43,128,31,0,85,193,179,82,159,135,83,
+0,80,227,103,1,160,47,224,15,8,64,65,227,51,0,79,26,96,23,175,
+149,135,49,138,139,81,227,131,240,66,139,224,68,0,64,200,224,21,2,160,
+154,99,162,171,20,199,235,139,57,0,49,146,231,96,164,97,22,2,56,32,
+58,96,19,3,10,65,32,90,64,195,0,58,96,40,161,121,178,184,65,71,
+178,165,0,85,68,195,0,58,96,109,203,49,239,28,6,224,14,5,203,73,
+105,102,161,249,75,65,128,207,0,58,96,6,160,72,192,42,64,172,107,121,
+192,42,96,60,0,58,96,6,192,42,64,163,1,95,49,67,67,0,58,96,
+43,6,10,65,32,47,61,32,58,96,17,132,44,64,38,100,241,143,61,205,
+165,0,75,64,98,142,164,129,164,103,122,0,85,224,20,1,99,132,237,84,
+5,177,246,78,86,64,147,144,133,64,17,64,9,96,176,160,77,96,175,192,
+17,0,58,96,6,228,122,4,228,132,3,128,59,239,53,2,0,58,96,60,
+100,120,1,53,51,64,202,226,234,1,210,236,148,241,128,141,244,218,4,9,
+110,111,32,109,97,116,99,104,32,97,213,157,96,32,136,7,83,241,162,240,
+75,134,128,11,0,58,96,6,235,134,29,8,120,99,101,112,116,105,111,110,
+46,68,110,2,114,110,97,107,124,224,39,1,2,80,97,116,64,22,0,77,
+64,128,0,70,204,145,165,75,179,101,135,193,178,178,0,49,76,140,234,132,
+2,109,75,224,15,3,68,114,247,231,2,202,192,175,173,116,192,244,197,12,
+171,174,98,160,179,137,3,95,49,52,56,130,177,179,134,2,85,32,58,64,
+18,226,202,2,179,109,161,92,78,133,162,136,109,153,82,183,65,217,116,147,
+1,54,32,128,15,99,113,139,134,97,102,68,240,83,150,96,134,224,39,3,
+161,135,225,43,1,6,39,92,57,50,38,39,39,165,159,161,156,96,230,224,
+99,3,101,25,139,214,224,17,3,140,200,234,142,3,224,168,1,0,64,160,
+35,134,70,64,156,164,141,144,254,96,158,130,163,247,211,8,64,146,70,57,
+160,148,64,0,0,58,96,147,226,187,0,176,135,232,172,6,166,174,1,95,
+49,77,82,160,108,84,15,0,35,74,25,129,145,239,77,0,105,25,246,96,
+3,180,90,114,41,210,39,0,90,64,28,142,250,134,29,224,163,5,224,160,
+0,2,67,32,79,249,137,1,67,226,139,100,116,17,225,22,7,96,0,5,
+79,32,80,32,35,55,246,28,3,64,79,0,97,96,79,96,27,246,56,4,
+64,27,0,98,224,27,1,66,158,224,28,5,0,102,224,28,2,0,48,224,
+28,7,0,110,224,28,2,0,51,224,28,7,110,205,128,28,0,57,224,27,
+7,118,170,160,56,0,49,224,28,7,0,118,224,56,2,224,143,8,64,3,
+227,116,1,225,193,0,132,77,69,198,182,4,102,76,147,57,0,51,89,80,
+109,236,64,18,3,49,32,64,35,69,57,64,53,196,106,1,51,55,64,56,
+203,227,239,235,0,225,189,0,147,128,68,79,96,17,0,58,96,6,154,136,
+72,24,237,40,0,208,219,0,49,67,17,75,67,140,173,128,19,0,48,64,
+134,144,98,99,48,0,58,96,87,137,55,226,230,3,249,138,1,192,64,150,
+223,226,96,8,64,69,105,142,236,113,0,160,40,226,52,3,224,10,1,96,
+50,107,13,237,72,1,96,250,129,28,128,123,72,24,224,74,4,0,58,96,
+102,237,75,9,182,212,4,111,114,100,32,58,64,68,160,34,224,33,3,0,
+54,96,20,2,99,104,114,64,33,237,144,0,0,52,103,250,64,31,129,168,
+79,244,192,213,68,36,160,28,129,154,225,197,6,112,207,225,197,0,68,45,
+96,43,129,184,1,117,60,71,20,181,32,198,228,0,58,96,61,162,26,213,
+16,64,107,0,58,100,44,131,245,0,89,74,145,99,233,240,61,3,0,58,
+96,146,139,28,0,49,64,47,128,207,167,189,110,109,82,226,0,58,99,123,
+199,147,180,246,0,61,96,11,128,195,171,242,180,234,252,187,2,68,2,115,
+219,100,45,133,240,96,121,97,14,130,115,130,110,180,218,96,39,107,147,84,
+188,0,58,96,35,171,146,124,155,83,223,96,26,96,43,200,13,194,123,174,
+123,96,10,143,82,167,237,224,32,4,237,175,0,229,0,0,246,16,1,97,
+34,224,65,4,224,64,5,170,229,182,52,130,61,181,40,171,247,224,169,2,
+140,149,181,42,178,106,96,28,161,50,73,221,0,58,97,31,182,32,218,100,
+97,59,160,36,66,216,0,58,98,51,171,29,210,60,121,28,111,155,117,74,
+209,255,1,95,49,157,191,0,58,103,136,177,214,213,43,96,27,250,35,1,
+105,117,84,141,177,204,64,220,160,26,104,207,0,56,104,102,101,119,0,58,
+96,101,181,242,128,55,0,56,74,161,0,90,122,246,64,31,180,213,2,110,
+101,119,213,155,4,76,101,110,32,58,96,39,224,223,7,180,191,76,2,180,
+191,129,145,2,115,101,113,103,17,86,195,128,43,64,44,129,32,73,57,180,
+107,193,147,128,1,113,217,225,170,3,224,20,3,224,17,8,224,14,5,224,
+11,2,192,8,110,144,128,209,226,221,1,238,194,4,180,60,0,79,64,144,
+171,56,0,56,72,108,0,95,111,115,192,7,0,95,82,81,147,210,0,95,
+113,25,160,10,211,24,2,64,95,57,72,45,160,10,66,243,83,135,0,58,
+96,16,123,156,3,111,107,101,87,100,124,211,159,86,247,160,17,194,114,106,
+238,0,95,115,56,0,95,81,251,0,58,179,57,207,3,143,199,243,67,0,
+160,46,99,38,128,46,226,124,1,87,63,99,152,70,51,0,95,98,253,0,
+58,178,78,183,16,178,47,6,116,111,80,116,114,32,58,178,48,239,109,5,
+177,240,175,37,139,31,79,3,64,96,67,169,1,64,95,80,103,222,95,134,
+43,77,210,137,230,240,153,12,176,152,200,176,0,95,145,150,70,147,64,61,
+1,67,32,96,63,0,95,78,34,64,44,237,124,0,197,132,176,173,78,174,
+114,246,72,28,0,58,176,170,5,113,117,111,116,32,58,176,169,226,41,1,
+226,45,2,226,84,72,176,254,97,23,164,125,244,72,1,0,95,80,171,163,
+139,224,20,0,163,144,245,57,6,244,55,3,0,58,177,48,86,70,65,11,
+70,206,0,58,64,37,66,52,5,102,114,101,101,32,58,177,26,135,131,224,
+91,5,85,217,150,23,211,156,245,214,4,191,20,81,27,250,31,4,177,86,
+237,3,1,64,165,133,72,96,244,0,39,79,26,224,48,0,151,119,160,97,
+245,78,1,165,70,193,62,224,118,3,1,64,95,81,115,128,162,133,87,1,
+55,53,245,70,5,136,140,0,58,177,181,111,111,99,162,0,58,177,172,130,
+153,96,16,130,3,75,130,0,83,106,237,189,247,128,168,76,34,145,79,64,
+198,224,104,11,128,103,0,54,160,85,228,11,1,0,58,176,202,68,173,0,
+58,176,203,96,199,191,118,66,164,215,121,226,169,7,176,239,248,64,6,8,
+117,110,100,101,102,105,110,101,100,74,0,0,58,176,247,243,67,7,209,3,
+1,52,50,163,172,70,149,99,14,0,95,75,231,233,178,12,65,128,233,174,
+2,157,209,4,67,32,95,54,51,224,37,3,233,143,2,64,37,96,19,96,
+10,0,95,81,23,0,58,177,60,0,85,230,63,0,0,53,79,137,64,32,
+209,246,161,49,0,80,96,12,97,107,243,229,1,131,242,96,175,67,139,97,
+221,64,70,153,215,132,154,108,47,192,91,210,112,224,55,10,160,0,0,58,
+177,174,82,184,131,221,112,73,224,13,0,73,55,225,97,6,179,99,14,58,
+32,117,110,115,117,112,112,111,114,116,101,100,32,119,69,85,3,115,105,122,
+101,107,119,3,35,51,50,55,96,102,8,35,50,49,52,55,52,56,51,54,
+74,62,0,58,177,216,243,50,2,234,209,0,64,117,243,253,1,66,212,211,
+37,81,139,129,20,65,146,0,51,225,33,0,129,143,0,54,147,43,98,95,
+178,40,0,105,92,105,177,206,0,115,74,88,177,205,73,111,177,202,230,144,
+7,177,214,131,1,100,244,177,221,4,95,52,56,32,95,80,24,0,95,80,
+114,0,95,80,130,0,95,112,210,80,202,116,178,1,95,53,81,125,129,225,
+65,52,64,9,0,58,64,5,175,229,240,232,3,87,167,89,117,239,149,0,
+177,236,224,29,1,224,49,1,224,39,4,177,233,227,161,2,177,227,3,62,
+61,32,58,64,133,64,10,1,32,58,177,95,74,227,177,58,2,60,32,58,
+177,54,5,105,99,109,112,32,58,209,56,74,159,80,17,0,95,80,143,0,
+58,176,249,74,156,176,159,65,43,176,49,2,80,32,58,176,42,196,100,164,
+159,194,69,224,20,11,224,17,8,224,14,5,224,11,2,192,8,229,223,0,
+240,140,0,236,74,3,176,147,4,110,101,103,32,58,175,137,2,42,32,58,
+173,209,2,45,32,58,173,208,2,43,32,58,173,175,224,148,68,0,58,173,
+246,199,169,64,17,225,225,0,73,203,2,66,32,95,76,169,0,95,76,227,
+64,12,66,33,141,191,173,190,116,86,173,36,2,73,32,58,173,24,64,54,
+96,42,94,146,173,31,64,29,128,224,64,9,128,224,8,94,109,97,108,108,
+111,99,32,58,173,14,13,73,79,46,112,101,114,102,111,114,109,73,79,32,
+58,173,6,224,179,2,0,58,172,237,2,85,32,58,172,234,224,219,14,0,
+58,172,248,64,19,0,95,141,92,76,241,0,58,173,4,104,70,115,28,173,
+7,6,114,97,105,115,101,32,58,172,243,95,60,128,170,7,65,46,114,101,
+97,100,32,58,172,229,13,73,79,46,103,101,116,65,114,103,82,101,102,32,
+58,172,238,0,95,70,200,100,232,68,81,99,82,64,105,128,188,6,73,79,
+46,62,62,32,58,172,255,0,95,78,172,98,157,108,223,199,182,82,27,108,
+236,1,95,49,95,126,96,9,127,71,99,115,172,255,186,72,110,19,173,54,
+109,13,191,171,224,35,2,96,32,154,49,160,32,0,95,68,178,0,58,173,
+28,0,95,77,255,128,246,224,47,7,149,107,64,4,142,92,225,14,0,236,
+154,0,162,184,0,58,172,154,118,135,0,58,236,147,1,0,50,238,223,0,
+192,95,137,153,69,242,224,11,2,96,197,100,237,0,58,172,138,96,59,172,
+245,128,165,0,51,97,206,108,120,130,120,74,152,129,62,75,10,96,36,179,
+157,0,95,68,174,65,222,128,224,2,75,32,58,227,106,0,70,154,96,11,
+2,66,32,58,162,125,9,79,46,114,101,116,117,114,110,32,58,225,212,0,
+0,62,68,110,245,133,0,227,104,7,227,84,37,0,58,128,208,226,152,15,
+207,161,194,128,64,200,70,135,152,35,224,0,255,224,0,255,224,0,255,224,
+0,255,224,0,255,224,0,255,224,0,255,224,0,217,1,32,125,
 };
 unsigned char *combexpr = data;
-int combexprlen = 103155;
+int combexprlen = 103157;
 #include "mhsffi.h"
 static struct ffi_entry table[] = {
 { 0,0 }
--- a/lib/Control/DeepSeq.hs
+++ b/lib/Control/DeepSeq.hs
@@ -82,27 +82,39 @@
 instance NFData Word64
 
 instance NFData (Proxy a) where rnf Proxy = ()
+instance NFData1 Proxy where liftRnf _ Proxy = ()
 
 instance NFData a => NFData (Ratio a) where
   rnf x = rnf (numerator x, denominator x)
 
 instance NFData a => NFData (Maybe a) where
-  rnf Nothing = ()
-  rnf (Just a) = rnf a
+  rnf = rnf1
+instance NFData1 Maybe where
+  liftRnf _ Nothing = ()
+  liftRnf rnfa (Just a) = rnfa a
 
 instance NFData a => NFData [a] where
-  rnf = foldr (\ x r -> rnf x `seq` r) ()
+  rnf = rnf1
+instance NFData1 [] where
+  liftRnf rnfa = foldr (\ x r -> rnfa x `seq` r) ()
 
 instance (NFData a, NFData b) => NFData (Either a b) where
-  rnf (Left a) = rnf a
-  rnf (Right b) = rnf b
+  rnf = rnf2
+instance NFData2 Either where
+  liftRnf2 rnfa _ (Left  a) = rnfa a
+  liftRnf2 _ rnfb (Right b) = rnfb b
 
 instance (NFData a) => NFData (Complex a) where
-  rnf (x :+ y) = rnf x `seq` rnf y
+  rnf = rnf1
+instance NFData1 Complex where
+  liftRnf rnfa (x :+ y) = rnfa x `seq` rnfa y
 
 instance NFData a => NFData (NonEmpty a) where
-  rnf = rnf . toList
+  rnf = rnf1
+instance NFData1 NonEmpty where
+  liftRnf rnfa = liftRnf rnfa . toList
 
+-- Fixed is a newtype over Integer
 instance NFData (Fixed a)
 --  rnf = rnf
 
@@ -524,3 +536,21 @@
   NFData (a1, a2, a3, a4, a5)
   where
   rnf (a1, a2, a3, a4, a5) = rnf a1 `seq` rnf a2 `seq` rnf a3 `seq` rnf a4 `seq` rnf a5
+
+----------------------------------------------------------------------------
+-- NFData1 and NFData 2 are not totally compatible with GHC, but they sometimes work.
+-- To be compatible, we need QuantifiedConstraints.
+
+class NFData1 f where
+  liftRnf :: (a -> ()) -> f a -> ()
+
+class NFData2 p where
+  liftRnf2 :: (a -> ()) -> (b -> ()) -> p a b -> ()
+
+rnf1 :: (NFData1 f, NFData a) => f a -> ()
+rnf1 = liftRnf rnf
+
+rnf2 :: (NFData2 p, NFData a, NFData b) => p a b -> ()
+rnf2 = liftRnf2 rnf rnf
+
+
--- a/lib/libs.cabal
+++ b/lib/libs.cabal
@@ -1,6 +1,6 @@
 cabal-version:  3.0
 name:           libs
-version:        0.11.1.2
+version:        0.11.1.3
 license:        Apache
 license-file:   LICENSE
 maintainer:     lennart@augustsson.net
--- a/paths/Paths_MicroHs.hs
+++ b/paths/Paths_MicroHs.hs
@@ -10,4 +10,4 @@
 getDataDir = return "."
 
 version :: Version
-version = makeVersion [0,11,1,2]
+version = makeVersion [0,11,1,3]