module Data.Sums.Coarbitrary where
import Data.Sums
import Test.QuickCheck
s0 :: S0 -> Gen b -> Gen b
s0 _ = variant 0
s1
:: (a -> Gen r -> Gen r)
-> S1 a
-> Gen r
-> Gen r
s1 fa = caseS1 (\a -> variant 0 . fa a)
s2
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> S2 a b
-> Gen r
-> Gen r
s2 fa fb = caseS2 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
s3
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> S3 a b c
-> Gen r
-> Gen r
s3 fa fb fc
= caseS3 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
s4
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> S4 a b c d
-> Gen r
-> Gen r
s4 fa fb fc fd
= caseS4 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
s5
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> S5 a b c d e
-> Gen r
-> Gen r
s5 fa fb fc fd fe
= caseS5 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
s6
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> S6 a b c d e f
-> Gen r
-> Gen r
s6 fa fb fc fd fe ff
= caseS6 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
s7
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> S7 a b c d e f g
-> Gen r
-> Gen r
s7 fa fb fc fd fe ff fg
= caseS7 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
s8
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> S8 a b c d e f g h
-> Gen r
-> Gen r
s8 fa fb fc fd fe ff fg fh
= caseS8 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
s9
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> S9 a b c d e f g h i
-> Gen r
-> Gen r
s9 fa fb fc fd fe ff fg fh fi
= caseS9 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
s10
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> (j -> Gen r -> Gen r)
-> S10 a b c d e f g h i j
-> Gen r
-> Gen r
s10 fa fb fc fd fe ff fg fh fi fj
= caseS10 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
(\j -> variant 9 . fj j)
s11
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> (j -> Gen r -> Gen r)
-> (k -> Gen r -> Gen r)
-> S11 a b c d e f g h i j k
-> Gen r
-> Gen r
s11 fa fb fc fd fe ff fg fh fi fj fk
= caseS11 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
(\j -> variant 9 . fj j)
(\k -> variant 10 . fk k)
s12
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> (j -> Gen r -> Gen r)
-> (k -> Gen r -> Gen r)
-> (l -> Gen r -> Gen r)
-> S12 a b c d e f g h i j k l
-> Gen r
-> Gen r
s12 fa fb fc fd fe ff fg fh fi fj fk fl
= caseS12 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
(\j -> variant 9 . fj j)
(\k -> variant 10 . fk k)
(\l -> variant 11 . fl l)
s13
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> (j -> Gen r -> Gen r)
-> (k -> Gen r -> Gen r)
-> (l -> Gen r -> Gen r)
-> (m -> Gen r -> Gen r)
-> S13 a b c d e f g h i j k l m
-> Gen r
-> Gen r
s13 fa fb fc fd fe ff fg fh fi fj fk fl fm
= caseS13 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
(\j -> variant 9 . fj j)
(\k -> variant 10 . fk k)
(\l -> variant 11 . fl l)
(\m -> variant 12 . fm m)
s14
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> (j -> Gen r -> Gen r)
-> (k -> Gen r -> Gen r)
-> (l -> Gen r -> Gen r)
-> (m -> Gen r -> Gen r)
-> (n -> Gen r -> Gen r)
-> S14 a b c d e f g h i j k l m n
-> Gen r
-> Gen r
s14 fa fb fc fd fe ff fg fh fi fj fk fl fm fn
= caseS14 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
(\j -> variant 9 . fj j)
(\k -> variant 10 . fk k)
(\l -> variant 11 . fl l)
(\m -> variant 12 . fm m)
(\n -> variant 12 . fn n)
s15
:: (a -> Gen r -> Gen r)
-> (b -> Gen r -> Gen r)
-> (c -> Gen r -> Gen r)
-> (d -> Gen r -> Gen r)
-> (e -> Gen r -> Gen r)
-> (f -> Gen r -> Gen r)
-> (g -> Gen r -> Gen r)
-> (h -> Gen r -> Gen r)
-> (i -> Gen r -> Gen r)
-> (j -> Gen r -> Gen r)
-> (k -> Gen r -> Gen r)
-> (l -> Gen r -> Gen r)
-> (m -> Gen r -> Gen r)
-> (n -> Gen r -> Gen r)
-> (o -> Gen r -> Gen r)
-> S15 a b c d e f g h i j k l m n o
-> Gen r
-> Gen r
s15 fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo
= caseS15 (\a -> variant 0 . fa a)
(\b -> variant 1 . fb b)
(\c -> variant 2 . fc c)
(\d -> variant 3 . fd d)
(\e -> variant 4 . fe e)
(\f -> variant 5 . ff f)
(\g -> variant 6 . fg g)
(\h -> variant 7 . fh h)
(\i -> variant 8 . fi i)
(\j -> variant 9 . fj j)
(\k -> variant 10 . fk k)
(\l -> variant 11 . fl l)
(\m -> variant 12 . fm m)
(\n -> variant 12 . fn n)
(\o -> variant 12 . fo o)