úÎDÊ?”f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeNone*!"%&*,/0234569:;<=?BDFILNOQRT[\;What you get, when the subtraction cannot yet be performed.>Happens when the minuend doesn't contain the subtrahend. E.g.,  Char - Boolproduces Unsubtracted Char BooloHowever it's possible to get back to the normal type, when you perform the required addition afterwards. E.g., Char - Bool + Boolproduces Char:This construct actually exists primarily for that purpose.<An operator for removing elements from the sum-types. E.g., Int + Char + Bool - Charis the same type as  Int + BoolTAutomatically derives the sum-type of the according arity from expressions such as: Int + Char + Bool In that case it will resolve to: Sum3 Int Char Bool$  !"#$  !"#    !"#00None*!"%&*,/0234569:;<=?BDFILNOQRT[\$8What you get, when the division cannot yet be performed.<Happens when the dividend doesn't contain the divisor. E.g.,  Char / Boolproduces Undivided Char BooluHowever it's possible to get back to the normal type, when you perform the required multiplication afterwards. E.g., Char / Bool * Boolproduces Char:This construct actually exists primarily for that purpose.%@An operator for removing elements from the product-types. E.g., Int * Char * Bool / Charis the same type as  Int * Bool&XAutomatically derives the product-type of the according arity from expressions such as: Int * Char * Bool In that case it will resolve to: Product3 Int Char Bool$%&'()*+,-./012$%&'()*+,-./012 $%&'()*+,-./012%1&1None)!"%&*,/0234569:;<=?BDFILNOQRT[\3  !"#$%&'()*+,-./0123!"#   12/0-.+,)*'(&%$None*!"%&*,/0234569:;<=?BDFILNOQRT[\3;What you get, when the subtraction cannot yet be performed.>Happens when the minuend doesn't contain the subtrahend. E.g.,  Char - Boolproduces Unsubtracted Char BooloHowever it's possible to get back to the normal type, when you perform the required addition afterwards. E.g., Char - Bool + Boolproduces Char:This construct actually exists primarily for that purpose.4<An operator for removing elements from the sum-types. E.g., Int + Char + Bool - Charis the same type as  Int + Bool5TAutomatically derives the sum-type of the according arity from expressions such as: Int + Char + Bool In that case it will resolve to: Sum3 Int Char Bool$3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV$3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV 3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV4050None*!"%&*,/0234569:;<=?BDFILNOQRT[\W8What you get, when the division cannot yet be performed.<Happens when the dividend doesn't contain the divisor. E.g.,  Char / Boolproduces Undivided Char BooluHowever it's possible to get back to the normal type, when you perform the required multiplication afterwards. E.g., Char / Bool * Boolproduces Char:This construct actually exists primarily for that purpose.X@An operator for removing elements from the product-types. E.g., Int * Char * Bool / Charis the same type as  Int * BoolYXAutomatically derives the product-type of the according arity from expressions such as: Int * Char * Bool In that case it will resolve to: Product3 Int Char BoolWXYZ[\]^_`abcdeWXYZ[\]^_`abcde WXYZ[\]^_`abcdeX1Y1None)!"%&*,/0234569:;<=?BDFILNOQRT[\33456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde3TUVPQRSKLMNOEFGHIJ>?@ABCD6789:;<=543debc`a^_\]Z[YXWf      !"#$%&'()*+,-..//00112233      !"#$%&'()*+,-..//001122334+compound-types-0.1.4-16DkjJLMuCYJ1479zAwxi1CompoundTypes.StrictCompoundTypes.Lazy CompoundTypes.Private.Strict.Sum$CompoundTypes.Private.Strict.ProductCompoundTypes.Private.Lazy.Sum"CompoundTypes.Private.Lazy.Product Unsubtracted-+Sum7Sum7_1Sum7_2Sum7_3Sum7_4Sum7_5Sum7_6Sum7_7Sum6Sum6_1Sum6_2Sum6_3Sum6_4Sum6_5Sum6_6Sum5Sum5_1Sum5_2Sum5_3Sum5_4Sum5_5Sum4Sum4_1Sum4_2Sum4_3Sum4_4Sum3Sum3_1Sum3_2Sum3_3Sum2Sum2_1Sum2_2 Undivided/*Product7Product6Product5Product4Product3Product2