@@ -22,7 +22,13 @@ genNat = do
2222 Just n <- someNatVal <$> choose (1, 10)
2323 return n
2424
25−genShape :: Jack (SomeSing Shape)
25+#if __GLASGOW_HASKELL__ < 800
26+type Shape' = ('KProxy :: KProxy Shape)
27+#else
28+type Shape' = Shape
29+#endif
30+
31+genShape :: Jack (SomeSing Shape')
2632genShape
2733 = oneOf [
2834 genD1
@@ -30,20 +36,20 @@ genShape
3036 , genD3
3137 ]
3238
33−genD1 :: Jack (SomeSing Shape)
39+genD1 :: Jack (SomeSing Shape')
3440genD1 = do
3541 n <- genNat
3642 return $ case n of
3743 SomeNat (_ :: Proxy x) -> SomeSing (sing :: Sing ('D1 x))
3844
39−genD2 :: Jack (SomeSing Shape)
45+genD2 :: Jack (SomeSing Shape')
4046genD2 = do
4147 n <- genNat
4248 m <- genNat
4349 return $ case (n, m) of
4450 (SomeNat (_ :: Proxy x), SomeNat (_ :: Proxy y)) -> SomeSing (sing :: Sing ('D2 x y))
4551
46−genD3 :: Jack (SomeSing Shape)
52+genD3 :: Jack (SomeSing Shape')
4753genD3 = do
4854 n <- genNat
4955 m <- genNat