Express exact natural numbers in a type.
onlyExact1 : Nat (Only Nat1 maybeN) -> CaketakesOnlyExact1 nat10 is a compile-time erroradd2 : Nat (Only n maybeN) -> Nat (ValueOnly (Nat2Plus n))add2 nat2 is of type Nat (ValueOnly Nat4)Sadly, while experimenting with type aliases, I discovered that type aliases can only expand so much.
compilingGetsKilled : Nat (N (Nat100Plus Nat93) x y)If a type alias is not fully expanded after ~192 tries,
the compilation stops
the elm-stuff can corrupt
101 + some natural number n. This is at least 101.
102 + some natural number n. This is at least 102.
103 + some natural number n. This is at least 103.
104 + some natural number n. This is at least 104.
105 + some natural number n. This is at least 105.
106 + some natural number n. This is at least 106.
107 + some natural number n. This is at least 107.
108 + some natural number n. This is at least 108.
109 + some natural number n. This is at least 109.
10 + some natural number n. This is at least 10.
110 + some natural number n. This is at least 110.
111 + some natural number n. This is at least 111.
112 + some natural number n. This is at least 112.
113 + some natural number n. This is at least 113.
114 + some natural number n. This is at least 114.
115 + some natural number n. This is at least 115.
116 + some natural number n. This is at least 116.
117 + some natural number n. This is at least 117.
118 + some natural number n. This is at least 118.
119 + some natural number n. This is at least 119.
11 + some natural number n. This is at least 11.
120 + some natural number n. This is at least 120.
121 + some natural number n. This is at least 121.
122 + some natural number n. This is at least 122.
123 + some natural number n. This is at least 123.
124 + some natural number n. This is at least 124.
125 + some natural number n. This is at least 125.
126 + some natural number n. This is at least 126.
127 + some natural number n. This is at least 127.
128 + some natural number n. This is at least 128.
129 + some natural number n. This is at least 129.
12 + some natural number n. This is at least 12.
130 + some natural number n. This is at least 130.
131 + some natural number n. This is at least 131.
132 + some natural number n. This is at least 132.
133 + some natural number n. This is at least 133.
134 + some natural number n. This is at least 134.
135 + some natural number n. This is at least 135.
136 + some natural number n. This is at least 136.
137 + some natural number n. This is at least 137.
138 + some natural number n. This is at least 138.
139 + some natural number n. This is at least 139.
13 + some natural number n. This is at least 13.
140 + some natural number n. This is at least 140.
141 + some natural number n. This is at least 141.
142 + some natural number n. This is at least 142.
143 + some natural number n. This is at least 143.
144 + some natural number n. This is at least 144.
145 + some natural number n. This is at least 145.
146 + some natural number n. This is at least 146.
147 + some natural number n. This is at least 147.
148 + some natural number n. This is at least 148.
149 + some natural number n. This is at least 149.
14 + some natural number n. This is at least 14.
150 + some natural number n. This is at least 150.
151 + some natural number n. This is at least 151.
152 + some natural number n. This is at least 152.
153 + some natural number n. This is at least 153.
154 + some natural number n. This is at least 154.
155 + some natural number n. This is at least 155.
156 + some natural number n. This is at least 156.
157 + some natural number n. This is at least 157.
158 + some natural number n. This is at least 158.
159 + some natural number n. This is at least 159.
15 + some natural number n. This is at least 15.
160 + some natural number n. This is at least 160.
16 + some natural number n. This is at least 16.
17 + some natural number n. This is at least 17.
18 + some natural number n. This is at least 18.
19 + some natural number n. This is at least 19.
1 + some natural number n. This is at least 1.
20 + some natural number n. This is at least 20.
21 + some natural number n. This is at least 21.
22 + some natural number n. This is at least 22.
23 + some natural number n. This is at least 23.
24 + some natural number n. This is at least 24.
25 + some natural number n. This is at least 25.
26 + some natural number n. This is at least 26.
27 + some natural number n. This is at least 27.
28 + some natural number n. This is at least 28.
29 + some natural number n. This is at least 29.
2 + some natural number n. This is at least 2.
30 + some natural number n. This is at least 30.
31 + some natural number n. This is at least 31.
32 + some natural number n. This is at least 32.
33 + some natural number n. This is at least 33.
34 + some natural number n. This is at least 34.
35 + some natural number n. This is at least 35.
36 + some natural number n. This is at least 36.
37 + some natural number n. This is at least 37.
38 + some natural number n. This is at least 38.
39 + some natural number n. This is at least 39.
3 + some natural number n. This is at least 3.
40 + some natural number n. This is at least 40.
41 + some natural number n. This is at least 41.
42 + some natural number n. This is at least 42.
43 + some natural number n. This is at least 43.
44 + some natural number n. This is at least 44.
45 + some natural number n. This is at least 45.
46 + some natural number n. This is at least 46.
47 + some natural number n. This is at least 47.
48 + some natural number n. This is at least 48.
49 + some natural number n. This is at least 49.
4 + some natural number n. This is at least 4.
50 + some natural number n. This is at least 50.
51 + some natural number n. This is at least 51.
52 + some natural number n. This is at least 52.
53 + some natural number n. This is at least 53.
54 + some natural number n. This is at least 54.
55 + some natural number n. This is at least 55.
56 + some natural number n. This is at least 56.
57 + some natural number n. This is at least 57.
58 + some natural number n. This is at least 58.
59 + some natural number n. This is at least 59.
5 + some natural number n. This is at least 5.
60 + some natural number n. This is at least 60.
61 + some natural number n. This is at least 61.
62 + some natural number n. This is at least 62.
63 + some natural number n. This is at least 63.
64 + some natural number n. This is at least 64.
65 + some natural number n. This is at least 65.
66 + some natural number n. This is at least 66.
67 + some natural number n. This is at least 67.
68 + some natural number n. This is at least 68.
69 + some natural number n. This is at least 69.
6 + some natural number n. This is at least 6.
70 + some natural number n. This is at least 70.
71 + some natural number n. This is at least 71.
72 + some natural number n. This is at least 72.
73 + some natural number n. This is at least 73.
74 + some natural number n. This is at least 74.
75 + some natural number n. This is at least 75.
76 + some natural number n. This is at least 76.
77 + some natural number n. This is at least 77.
78 + some natural number n. This is at least 78.
79 + some natural number n. This is at least 79.
7 + some natural number n. This is at least 7.
80 + some natural number n. This is at least 80.
81 + some natural number n. This is at least 81.
82 + some natural number n. This is at least 82.
83 + some natural number n. This is at least 83.
84 + some natural number n. This is at least 84.
85 + some natural number n. This is at least 85.
86 + some natural number n. This is at least 86.
87 + some natural number n. This is at least 87.
88 + some natural number n. This is at least 88.
89 + some natural number n. This is at least 89.
8 + some natural number n. This is at least 8.
90 + some natural number n. This is at least 90.
91 + some natural number n. This is at least 91.
92 + some natural number n. This is at least 92.
93 + some natural number n. This is at least 93.
94 + some natural number n. This is at least 94.
95 + some natural number n. This is at least 95.
96 + some natural number n. This is at least 96.
97 + some natural number n. This is at least 97.
98 + some natural number n. This is at least 98.
99 + some natural number n. This is at least 99.
9 + some natural number n. This is at least 9.
Exact the natural number 0.
Exact the natural number 1.
Exact the natural number 10.
Exact the natural number 100.
Exact the natural number 101.
Exact the natural number 102.
Exact the natural number 103.
Exact the natural number 104.
Exact the natural number 105.
Exact the natural number 106.
Exact the natural number 107.
Exact the natural number 108.
Exact the natural number 109.
Exact the natural number 11.
Exact the natural number 110.
Exact the natural number 111.
Exact the natural number 112.
Exact the natural number 113.
Exact the natural number 114.
Exact the natural number 115.
Exact the natural number 116.
Exact the natural number 117.
Exact the natural number 118.
Exact the natural number 119.
Exact the natural number 12.
Exact the natural number 120.
Exact the natural number 121.
Exact the natural number 122.
Exact the natural number 123.
Exact the natural number 124.
Exact the natural number 125.
Exact the natural number 126.
Exact the natural number 127.
Exact the natural number 128.
Exact the natural number 129.
Exact the natural number 13.
Exact the natural number 130.
Exact the natural number 131.
Exact the natural number 132.
Exact the natural number 133.
Exact the natural number 134.
Exact the natural number 135.
Exact the natural number 136.
Exact the natural number 137.
Exact the natural number 138.
Exact the natural number 139.
Exact the natural number 14.
Exact the natural number 140.
Exact the natural number 141.
Exact the natural number 142.
Exact the natural number 143.
Exact the natural number 144.
Exact the natural number 145.
Exact the natural number 146.
Exact the natural number 147.
Exact the natural number 148.
Exact the natural number 149.
Exact the natural number 15.
Exact the natural number 150.
Exact the natural number 151.
Exact the natural number 152.
Exact the natural number 153.
Exact the natural number 154.
Exact the natural number 155.
Exact the natural number 156.
Exact the natural number 157.
Exact the natural number 158.
Exact the natural number 159.
Exact the natural number 16.
Exact the natural number 160.
Exact the natural number 17.
Exact the natural number 18.
Exact the natural number 19.
Exact the natural number 2.
Exact the natural number 20.
Exact the natural number 21.
Exact the natural number 22.
Exact the natural number 23.
Exact the natural number 24.
Exact the natural number 25.
Exact the natural number 26.
Exact the natural number 27.
Exact the natural number 28.
Exact the natural number 29.
Exact the natural number 3.
Exact the natural number 30.
Exact the natural number 31.
Exact the natural number 32.
Exact the natural number 33.
Exact the natural number 34.
Exact the natural number 35.
Exact the natural number 36.
Exact the natural number 37.
Exact the natural number 38.
Exact the natural number 39.
Exact the natural number 4.
Exact the natural number 40.
Exact the natural number 41.
Exact the natural number 42.
Exact the natural number 43.
Exact the natural number 44.
Exact the natural number 45.
Exact the natural number 46.
Exact the natural number 47.
Exact the natural number 48.
Exact the natural number 49.
Exact the natural number 5.
Exact the natural number 50.
Exact the natural number 51.
Exact the natural number 52.
Exact the natural number 53.
Exact the natural number 54.
Exact the natural number 55.
Exact the natural number 56.
Exact the natural number 57.
Exact the natural number 58.
Exact the natural number 59.
Exact the natural number 6.
Exact the natural number 60.
Exact the natural number 61.
Exact the natural number 62.
Exact the natural number 63.
Exact the natural number 64.
Exact the natural number 65.
Exact the natural number 66.
Exact the natural number 67.
Exact the natural number 68.
Exact the natural number 69.
Exact the natural number 7.
Exact the natural number 70.
Exact the natural number 71.
Exact the natural number 72.
Exact the natural number 73.
Exact the natural number 74.
Exact the natural number 75.
Exact the natural number 76.
Exact the natural number 77.
Exact the natural number 78.
Exact the natural number 79.
Exact the natural number 8.
Exact the natural number 80.
Exact the natural number 81.
Exact the natural number 82.
Exact the natural number 83.
Exact the natural number 84.
Exact the natural number 85.
Exact the natural number 86.
Exact the natural number 87.
Exact the natural number 88.
Exact the natural number 89.
Exact the natural number 9.
Exact the natural number 90.
Exact the natural number 91.
Exact the natural number 92.
Exact the natural number 93.
Exact the natural number 94.
Exact the natural number 95.
Exact the natural number 96.
Exact the natural number 97.
Exact the natural number 98.
Exact the natural number 99.
100 + some natural number
n. This is at least 100.