hpqtypes 1.5.1 → 1.5.1.1
raw patch · 6 files changed
+1411/−19 lines, 6 filesdep ~QuickCheckdep ~aesondep ~basenew-uploaderPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: QuickCheck, aeson, base, bytestring, containers, data-default-class, exceptions, lifted-base, monad-control, mtl, resource-pool, text, text-show, time, transformers, transformers-base, vector
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- README.md +22/−0
- hpqtypes.cabal +17/−19
- test/Prelude/Instances.hs +506/−0
- test/Test/QuickCheck/Arbitrary/Instances.hs +837/−0
- test/Test/QuickCheck/Compat.hs +24/−0
CHANGELOG.md view
@@ -1,3 +1,8 @@+# hpqtypes-1.5.1.1 (2016-09-22)+* fix test suite compilation with GHC 8+* fix lower bound of base version+* fix compilation with 'cabal new-build' and Cabal < 1.24+ # hpqtypes-1.5.1 (2016-07-04) * Do not use linux/limits.h
+ README.md view
@@ -0,0 +1,22 @@+# hpqtypes [](https://hackage.haskell.org/package/hpqtypes) [](http://travis-ci.org/scrive/hpqtypes)++Efficient and easy-to-use bindings to (slightly modified) libpqtypes,+lipq extension that adds support for binary transport format and+composite types.++Since modified libpqtypes is used, its source code is bundled along+with the bindings. The differences between verbatim libpqtypes and the+one used by this package:++* per-thread global error structures were replaced by explicit passing+ of these structures around so that there is no need to use bound+ threads.++* handlers that take values to be put into the database were modified+ to always expect pointers to objects, as opposed to previous+ situation where primitives were being taken by value (which was+ convenient if the library was used directly from C, but created+ inconsistency problems while trying to define bindings in a sensible+ way).++Examples can be found in the [examples](https://github.com/scrive/hpqtypes/tree/master/examples) directory.
hpqtypes.cabal view
@@ -1,5 +1,5 @@ name: hpqtypes-version: 1.5.1+version: 1.5.1.1 synopsis: Haskell bindings to libpqtypes description: Efficient and easy-to-use bindings to (slightly modified)@@ -26,13 +26,16 @@ homepage: https://github.com/scrive/hpqtypes license: BSD3 license-file: LICENSE-author: Scrive-maintainer: Andrzej Rybczak <andrzej@rybczak.net>+author: Scrive AB+maintainer: Andrzej Rybczak <andrzej@rybczak.net>, Jonathan Jouty <jonathan@scrive.com>, Mikhail Glushenkov <mikhail@scrive.com>+copyright: Scrive AB category: Database build-type: Custom cabal-version: >= 1.18+tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1 -extra-source-files: CHANGELOG.md+extra-source-files: README.md+ , CHANGELOG.md , examples/Catalog.hs , libpqtypes/AUTHORS , libpqtypes/Makefile.in@@ -62,10 +65,6 @@ Type: git Location: git@github.com:scrive/log.git -Flag tests- description: Build test suite- default: False- library exposed-modules: Data.Monoid.Utils , Database.PostgreSQL.PQTypes@@ -104,7 +103,7 @@ , Database.PostgreSQL.PQTypes.Internal.C.Interface , Database.PostgreSQL.PQTypes.Internal.C.Get - build-depends: base >= 4.6 && < 5+ build-depends: base >= 4.7 && < 5 , text >= 0.11 , aeson >= 0.6.2.0 , bytestring >= 0.9@@ -172,19 +171,18 @@ , TypeFamilies , TypeOperators , UndecidableInstances- -Executable tests- if flag(tests)- buildable: True- else- buildable: False +test-suite hpqtypes-tests+ type: exitcode-stdio-1.0 ghc-options: -O2 -Wall -funbox-strict-fields -threaded hs-source-dirs: test-+ main-is: Main.hs+ other-modules: Prelude.Instances+ Test.QuickCheck.Compat+ Test.QuickCheck.Arbitrary.Instances build-depends: hpqtypes- , base >= 4.5+ , base >= 4.7 && < 5 , text >= 0.11 , aeson >= 0.6.2.0 , bytestring >= 0.9@@ -204,10 +202,10 @@ , vector , text-show - main-is: Main.hs- default-language: Haskell2010 default-extensions: BangPatterns+ , ConstraintKinds+ , DataKinds , DeriveDataTypeable , DeriveFunctor , ExistentialQuantification
+ test/Prelude/Instances.hs view
@@ -0,0 +1,506 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Prelude.Instances where++import Prelude++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44, Eq a45+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44, Eq a45, Eq a46+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44, Eq a45, Eq a46, Eq a47+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44, Eq a45, Eq a46, Eq a47, Eq a48+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44, Eq a45, Eq a46, Eq a47, Eq a48, Eq a49+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49)++deriving instance (+ Eq a1, Eq a2, Eq a3, Eq a4, Eq a5, Eq a6, Eq a7, Eq a8, Eq a9, Eq a10+ , Eq a11, Eq a12, Eq a13, Eq a14, Eq a15, Eq a16, Eq a17, Eq a18, Eq a19, Eq a20+ , Eq a21, Eq a22, Eq a23, Eq a24, Eq a25, Eq a26, Eq a27, Eq a28, Eq a29, Eq a30+ , Eq a31, Eq a32, Eq a33, Eq a34, Eq a35, Eq a36, Eq a37, Eq a38, Eq a39, Eq a40+ , Eq a41, Eq a42, Eq a43, Eq a44, Eq a45, Eq a46, Eq a47, Eq a48, Eq a49, Eq a50+ ) => Eq (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50)++----------------------------------------++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44, Show a45+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44, Show a45, Show a46+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44, Show a45, Show a46, Show a47+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44, Show a45, Show a46, Show a47, Show a48+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44, Show a45, Show a46, Show a47, Show a48+ , Show a49+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49)++deriving instance (+ Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7, Show a8+ , Show a9, Show a10, Show a11, Show a12, Show a13, Show a14, Show a15, Show a16+ , Show a17, Show a18, Show a19, Show a20, Show a21, Show a22, Show a23, Show a24+ , Show a25, Show a26, Show a27, Show a28, Show a29, Show a30, Show a31, Show a32+ , Show a33, Show a34, Show a35, Show a36, Show a37, Show a38, Show a39, Show a40+ , Show a41, Show a42, Show a43, Show a44, Show a45, Show a46, Show a47, Show a48+ , Show a49, Show a50+ ) => Show (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50)
+ test/Test/QuickCheck/Arbitrary/Instances.hs view
@@ -0,0 +1,837 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# LANGUAGE CPP #-}+module Test.QuickCheck.Arbitrary.Instances where++import Control.Applicative+import Data.Aeson+import Data.Char+import Data.Scientific+import Data.Time+import Data.Typeable+import Data.Word+import Prelude+import Test.QuickCheck.Arbitrary+import Test.QuickCheck.Gen+import qualified Data.ByteString as BS+import qualified Data.HashMap.Strict as HM+import qualified Data.Text as T+import qualified Data.Vector as V++import Database.PostgreSQL.PQTypes++newtype String0 = String0 { unString0 :: String }+ deriving (Eq, Ord, Show, Typeable, PQFormat)++instance FromSQL String0 where+ type PQBase String0 = PQBase String+ fromSQL = fmap String0 . fromSQL++instance ToSQL String0 where+ type PQDest String0 = PQDest String+ toSQL (String0 s) = toSQL s++instance Arbitrary String0 where+ arbitrary = String0 . map (chr . fromIntegral . unWord0) <$> arbitrary++newtype Word0 = Word0 { unWord0 :: Word8 }+ deriving (Enum, Eq, Integral, Num, Ord, Real)++instance Bounded Word0 where+ minBound = 1+ maxBound = 255++instance Arbitrary Word0 where+ arbitrary = arbitrarySizedBoundedIntegral+ shrink = shrinkIntegral++instance Arbitrary BS.ByteString where+ arbitrary = BS.pack . map unWord0 <$> arbitrary++instance Arbitrary T.Text where+ arbitrary = T.pack . unString0 <$> arbitrary++----------------------------------------++instance Arbitrary Scientific where+ arbitrary = scientific <$> arbitrary <*> ((`mod` 100) <$> arbitrary)++instance Arbitrary Value where+ arbitrary = value depth depth+ where+ depth :: Int+ depth = 3++ value !i !n+ | i == 0 = oneof leafs+ | i == n = oneof branches+ | otherwise = oneof $ leafs ++ branches+ where+ branches = [+ Object . HM.fromList <$> shortListOf ((,) <$> arbitrary <*> subValue)+ , Array . V.fromList <$> shortListOf subValue+ ]+ leafs = [+ String <$> arbitrary+ , Number <$> arbitrary+ , Bool <$> arbitrary+ , pure Null+ ]++ subValue = value (i-1) n+ shortListOf = fmap (take depth) . listOf++----------------------------------------++instance Arbitrary Day where+ arbitrary = ModifiedJulianDay <$> arbitrary++instance Arbitrary TimeOfDay where+ arbitrary = do+ hours <- choose (0, 23)+ mins <- choose (0, 59)+ secs :: Double <- choose (0, 60)+ return $ TimeOfDay hours mins (realToFrac secs)++instance Arbitrary LocalTime where+ arbitrary = LocalTime <$> arbitrary <*> arbitrary++instance Arbitrary UTCTime where+ arbitrary = do+ day <- arbitrary+ secs :: Double <- choose (0, 86401)+ return $ UTCTime day (realToFrac secs)++instance Arbitrary TimeZone where+ arbitrary = elements $ map hoursToTimeZone [-12..14]++instance Arbitrary ZonedTime where+ arbitrary = ZonedTime <$> arbitrary <*> arbitrary++----------------------------------------++#if !MIN_VERSION_QuickCheck(2,9,0)+instance Arbitrary a => Arbitrary (Identity a) where+ arbitrary = Identity <$> arbitrary+#endif++#if !MIN_VERSION_QuickCheck(2,9,0)+instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6+ ) => Arbitrary (a1, a2, a3, a4, a5, a6) where+ arbitrary = (,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7) where+ arbitrary = (,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8) where+ arbitrary = (,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9) where+ arbitrary = (,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) where+ arbitrary = (,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+#endif++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) where+ arbitrary = (,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) where+ arbitrary = (,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) where+ arbitrary = (,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) where+ arbitrary = (,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) where+ arbitrary = (,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) where+ arbitrary = (,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) where+ arbitrary = (,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) where+ arbitrary = (,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) where+ arbitrary = (,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44, Arbitrary a45+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44, Arbitrary a45+ , Arbitrary a46+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44, Arbitrary a45+ , Arbitrary a46, Arbitrary a47+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44, Arbitrary a45+ , Arbitrary a46, Arbitrary a47, Arbitrary a48+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44, Arbitrary a45+ , Arbitrary a46, Arbitrary a47, Arbitrary a48, Arbitrary a49+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance (+ Arbitrary a1, Arbitrary a2, Arbitrary a3, Arbitrary a4, Arbitrary a5+ , Arbitrary a6, Arbitrary a7, Arbitrary a8, Arbitrary a9, Arbitrary a10+ , Arbitrary a11, Arbitrary a12, Arbitrary a13, Arbitrary a14, Arbitrary a15+ , Arbitrary a16, Arbitrary a17, Arbitrary a18, Arbitrary a19, Arbitrary a20+ , Arbitrary a21, Arbitrary a22, Arbitrary a23, Arbitrary a24, Arbitrary a25+ , Arbitrary a26, Arbitrary a27, Arbitrary a28, Arbitrary a29, Arbitrary a30+ , Arbitrary a31, Arbitrary a32, Arbitrary a33, Arbitrary a34, Arbitrary a35+ , Arbitrary a36, Arbitrary a37, Arbitrary a38, Arbitrary a39, Arbitrary a40+ , Arbitrary a41, Arbitrary a42, Arbitrary a43, Arbitrary a44, Arbitrary a45+ , Arbitrary a46, Arbitrary a47, Arbitrary a48, Arbitrary a49, Arbitrary a50+ ) => Arbitrary (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50) where+ arbitrary = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+ <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
+ test/Test/QuickCheck/Compat.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}+module Test.QuickCheck.Compat (+ QCGen+ , newQCGen+ , mkQCGen+ ) where++#if MIN_VERSION_QuickCheck(2,7,0)++import Test.QuickCheck.Random++#else++import System.Random++type QCGen = StdGen++newQCGen :: IO QCGen+newQCGen = newStdGen++mkQCGen :: Int -> QCGen+mkQCGen = mkStdGen++#endif