@@ -369,16 +369,15 @@ matrixBuilder' f =
369369matrixBuilder ::
370370 forall e a b.
371371 ( FLN a b,
372− CountableN b,
373372 Enum a,
374373 Enum b,
375374 Bounded a,
376375 Bounded b,
377376 Eq a,
378− CountableDimsN a b
377+ Countable b
379378 ) => ((a, b) -> e) -> Matrix e (Normalize a) (Normalize b)
380379matrixBuilder f =
381− let r = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize b)))
380+ let r = fromInteger $ natVal (Proxy :: Proxy (Count b))
382381 positions = [(a, b) | a <- [minBound .. maxBound], b <- [minBound .. maxBound]]
383382 in fromLists . map (map f) . transpose . buildList r $ positions
384383 where
@@ -429,7 +428,7 @@ fromF' f =
429428fromF ::
430429 forall a b e.
431430 ( Liftable e a b,
432− CountableDimsN a b,
431+ CountableDims a b,
433432 FLN b a
434433 ) =>
435434 (a -> b) ->
@@ -439,8 +438,8 @@ fromF f =
439438 maxA = maxBound @a
440439 minB = minBound @b
441440 maxB = maxBound @b
442− ccols = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize a)))
443− rrows = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize b)))
441+ ccols = fromInteger $ natVal (Proxy :: Proxy (Count a))
442+ rrows = fromInteger $ natVal (Proxy :: Proxy (Count b))
444443 elementsA = take ccols [minA .. maxA]
445444 elementsB = take rrows [minB .. maxB]
446445 combinations = (,) <$> elementsA <*> elementsB
@@ -971,7 +970,7 @@ fromFRel' f =
971970fromFRel ::
972971 forall a b.
973972 ( Liftable Boolean a b,
974− CountableDimsN a b,
973+ CountableDims a b,
975974 FL (Normalize b) (Normalize a)
976975 ) =>
977976 (a -> b) ->
@@ -981,8 +980,8 @@ fromFRel f =
981980 maxA = maxBound @a
982981 minB = minBound @b
983982 maxB = maxBound @b
984− ccols = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize a)))
985− rrows = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize b)))
983+ ccols = fromInteger $ natVal (Proxy :: Proxy (Count a))
984+ rrows = fromInteger $ natVal (Proxy :: Proxy (Count b))
986985 elementsA = take ccols [minA .. maxA]
987986 elementsB = take rrows [minB .. maxB]
988987 combinations = (,) <$> elementsA <*> elementsB
@@ -1003,7 +1002,7 @@ toRel ::
10031002 Enum a,
10041003 Enum b,
10051004 Eq b,
1006− CountableDimsN a b,
1005+ CountableDims a b,
10071006 FLN b a
10081007 )
10091008 => (a -> b -> Bool) -> Relation (Normalize a) (Normalize b)
@@ -1012,8 +1011,8 @@ toRel f =
10121011 maxA = maxBound @a
10131012 minB = minBound @b
10141013 maxB = maxBound @b
1015− ccols = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize a)))
1016− rrows = fromInteger $ natVal (Proxy :: Proxy (Count (Normalize b)))
1014+ ccols = fromInteger $ natVal (Proxy :: Proxy (Count a))
1015+ rrows = fromInteger $ natVal (Proxy :: Proxy (Count b))
10171016 elementsA = take ccols [minA .. maxA]
10181017 elementsB = take rrows [minB .. maxB]
10191018 combinations = (,) <$> elementsA <*> elementsB