úÎDB? f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeNone(!"&(*+-./0134579<>@CFHIKLNUV8What 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 * BoolXAutomatically 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      None(!"&(*+-./0134579<>@CFHIKLNUV;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$ !"#$%&'()*+,-./012$ !"#$%&'()*+,-./012  !"#$%&'()*+,-./012None'!"&(*+-./0134579<>@CFHIKLNUV3  !"#$%&'()*+,-./0123012,-./'()*+!"#$%&   None(!"&(*+-./0134579<>@CFHIKLNUV38What 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.4@An operator for removing elements from the product-types. E.g., Int * Char * Bool / Charis the same type as  Int * Bool5XAutomatically 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 Bool3456789:;<=>?@A3456789:;<=>?@A 3456789:;<=>?@A45None(!"&(*+-./0134579<>@CFHIKLNUVB;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.C<An operator for removing elements from the sum-types. E.g., Int + Char + Bool - Charis the same type as  Int + BoolDTAutomatically 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$BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde$BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeCDNone'!"&(*+-./0134579<>@CFHIKLNUV33456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde3cde_`abZ[\]^TUVWXYMNOPQRSEFGHIJKLDCB@A>?<=:;8967543f          !"#$%&'()*+,-./0123          !"#$%&'()*+,-./01234compo_1eSWI7jYshnGppr8cDI8TDCompoundTypes.LazyCompoundTypes.Strict"CompoundTypes.Private.Lazy.ProductCompoundTypes.Private.Lazy.Sum$CompoundTypes.Private.Strict.Product CompoundTypes.Private.Strict.Sum Undivided/*Product7Product6Product5Product4Product3Product2 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