1. 0.02 s $ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 7200s /nix/store/99b1z08awpxj8b6mzggn59gp1shljnff-nix-2.34.5/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://github.com/NorfairKing/sydtest?ref=mutation-testing&rev=f65777c0537c8094028e8af851150d01fcc726a9#checks.x86_64-linux.mutation-really-safe-money --print-build-logs
  2. 0.14 s warning: ignoring untrusted flake configuration setting 'extra-substituters'.
  3. 0.14 s Pass '--accept-flake-config' to trust it
  4. 0.14 s warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
  5. 0.14 s Pass '--accept-flake-config' to trust it
  6. 0.17 s
  7. 2.15 s Building really-safe-money
  8. 2.22 s Building genvalidity-sydtest-source
  9. 2.39 s [really-safe-money] Phase: setupCompilerEnvironmentPhase
  10. 2.39 s [really-safe-money] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  11. 2.58 s [genvalidity-sydtest-source] Phase: setupCompilerEnvironmentPhase
  12. 2.58 s [genvalidity-sydtest-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  13. 2.76 s [really-safe-money] Phase: unpackPhase
  14. 2.76 s [really-safe-money] unpacking source archive /nix/store/pxkha6z3d3bjfgkdar4ma3wx2c1f8pmm-really-safe-money-source-0.0.0.0/really-safe-money-0.0.0.0.tar.gz
  15. 2.77 s [really-safe-money] source root is really-safe-money-0.0.0.0
  16. 2.77 s [really-safe-money] setting SOURCE_DATE_EPOCH to timestamp 1778737784 of file "really-safe-money-0.0.0.0/src/Numeric/DecimalLiteral.hs"
  17. 2.78 s [really-safe-money] Phase: patchPhase
  18. 2.82 s [really-safe-money] Phase: compileBuildDriverPhase
  19. 2.84 s [really-safe-money] setupCompileFlags: -package-db=/build/tmp.CUn6si3UhI/setup-package.conf.d -threaded
  20. 2.91 s [really-safe-money] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.CUn6si3UhI/Main.o )
  21. 2.98 s [really-safe-money] [2 of 2] Linking Setup
  22. 3.17 s [genvalidity-sydtest-source] Phase: unpackPhase
  23. 3.18 s [genvalidity-sydtest-source] unpacking source archive /nix/store/dqdpwym3w17fcyylxh144v7wvc1c621z-genvalidity-sydtest
  24. 3.19 s [genvalidity-sydtest-source] source root is genvalidity-sydtest
  25. 3.20 s [genvalidity-sydtest-source] Phase: patchPhase
  26. 3.21 s [genvalidity-sydtest-source] Phase: compileBuildDriverPhase
  27. 3.22 s [genvalidity-sydtest-source] setupCompileFlags: -package-db=/build/tmp.KtY2VVTtHh/setup-package.conf.d -threaded
  28. 3.28 s [genvalidity-sydtest-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.KtY2VVTtHh/Main.o )
  29. 3.35 s [genvalidity-sydtest-source] [2 of 2] Linking Setup
  30. 4.57 s [really-safe-money] Phase: updateAutotoolsGnuConfigScriptsPhase
  31. 4.58 s [really-safe-money] Phase: configurePhase
  32. 4.59 s [really-safe-money] configureFlags: --verbose --prefix=/nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.CUn6si3UhI/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --disable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --ghc-options=-fplugin-opt=Test.Syd.Mutation.Plugin:--debug --disable-optimization --ghc-option=-j1 --ghc-option=+RTS --ghc-option=-A32M --ghc-option=-M16g --ghc-option=-RTS --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
  33. 4.59 s [really-safe-money] Using Parsec parser
  34. 4.59 s [really-safe-money] Configuring really-safe-money-0.0.0.0...
  35. 4.88 s [genvalidity-sydtest-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  36. 4.89 s [genvalidity-sydtest-source] Phase: configurePhase
  37. 4.89 s [genvalidity-sydtest-source] configureFlags: --verbose --prefix=/nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/genvalidity-sydtest-1.0.1.0 --with-gcc=gcc --package-db=/build/tmp.KtY2VVTtHh/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib
  38. 4.90 s [genvalidity-sydtest-source] Using Parsec parser
  39. 4.90 s [genvalidity-sydtest-source] Configuring genvalidity-sydtest-1.0.1.0...
  40. 5.34 s [really-safe-money] Dependency base >=4.7 && <5: using base-4.20.2.0
  41. 5.50 s [really-safe-money] Dependency containers: using containers-0.7
  42. 5.50 s [really-safe-money] Dependency deepseq: using deepseq-1.5.0.0
  43. 5.50 s [really-safe-money] Dependency validity: using validity-0.12.1.0
  44. 5.50 s [really-safe-money] Dependency validity-containers: using validity-containers-0.5.0.5
  45. 5.50 s [really-safe-money] Dependency validity-scientific: using validity-scientific-0.2.0.3
  46. 5.50 s [really-safe-money] Source component graph: component lib
  47. 5.50 s [really-safe-money] Configured component graph:
  48. 5.50 s [really-safe-money] component really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  49. 5.50 s [really-safe-money] include base-4.20.2.0-64da
  50. 5.50 s [really-safe-money] include containers-0.7-504a
  51. 5.50 s [really-safe-money] include deepseq-1.5.0.0-9a2c
  52. 5.50 s [really-safe-money] include validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
  53. 5.50 s [really-safe-money] include validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
  54. 5.50 s [really-safe-money] include validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
  55. 5.50 s [really-safe-money] Linked component graph:
  56. 5.50 s [really-safe-money] unit really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  57. 5.50 s [really-safe-money] include base-4.20.2.0-64da
  58. 5.50 s [really-safe-money] include containers-0.7-504a
  59. 5.50 s [really-safe-money] include deepseq-1.5.0.0-9a2c
  60. 5.50 s [really-safe-money] include validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
  61. 5.50 s [really-safe-money] include validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
  62. 5.50 s [really-safe-money] include validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
  63. 5.50 s [really-safe-money] Money.Account=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.Account,Money.AccountOf=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.AccountOf,Money.Amount=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.Amount,Money.AmountOf=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.AmountOf,Money.ConversionRate=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.ConversionRate,Money.ConversionRateOf=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.ConversionRateOf,Money.Currency=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.Currency,Money.MultiAccount=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.MultiAccount,Money.MultiAmount=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.MultiAmount,Money.QuantisationFactor=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.QuantisationFactor,Numeric.DecimalLiteral=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Numeric.DecimalLiteral
  64. 5.50 s [really-safe-money] Ready component graph:
  65. 5.50 s [really-safe-money] definite really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  66. 5.50 s [really-safe-money] depends base-4.20.2.0-64da
  67. 5.50 s [really-safe-money] depends containers-0.7-504a
  68. 5.50 s [really-safe-money] depends deepseq-1.5.0.0-9a2c
  69. 5.50 s [really-safe-money] depends validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
  70. 5.50 s [really-safe-money] depends validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
  71. 5.50 s [really-safe-money] depends validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
  72. 5.50 s [really-safe-money] Using Cabal-3.12.1.0 compiled by ghc-9.10
  73. 5.50 s [really-safe-money] Using compiler: ghc-9.10.3
  74. 5.50 s [really-safe-money] Using install prefix:
  75. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0
  76. 5.50 s [really-safe-money] Executables installed in:
  77. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/bin
  78. 5.50 s [really-safe-money] Libraries installed in:
  79. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  80. 5.50 s [really-safe-money] Dynamic Libraries installed in:
  81. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  82. 5.50 s [really-safe-money] Private executables installed in:
  83. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0
  84. 5.50 s [really-safe-money] Data files installed in:
  85. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0
  86. 5.50 s [really-safe-money] Documentation installed in:
  87. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/share/doc/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0
  88. 5.50 s [really-safe-money] Configuration files installed in:
  89. 5.50 s [really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/etc
  90. 5.50 s [really-safe-money] No alex found
  91. 5.50 s [really-safe-money] Using ar found on system at:
  92. 5.50 s [really-safe-money] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  93. 5.50 s [really-safe-money] No c2hs found
  94. 5.50 s [really-safe-money] No cpphs found
  95. 5.50 s [really-safe-money] No doctest found
  96. 5.50 s [really-safe-money] Using gcc version 14.3.0 given by user at:
  97. 5.50 s [really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  98. 5.50 s [really-safe-money] Using ghc version 9.10.3 found on system at:
  99. 5.50 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  100. 5.50 s [really-safe-money] Using ghc-pkg version 9.10.3 found on system at:
  101. 5.50 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  102. 5.50 s [really-safe-money] No ghcjs found
  103. 5.50 s [really-safe-money] No ghcjs-pkg found
  104. 5.50 s [really-safe-money] No greencard found
  105. 5.50 s [really-safe-money] Using haddock version 2.31.1 found on system at:
  106. 5.50 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  107. 5.50 s [really-safe-money] No happy found
  108. 5.50 s [really-safe-money] Using haskell-suite found on system at: haskell-suite-dummy-location
  109. 5.50 s [really-safe-money] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  110. 5.50 s [really-safe-money] No hmake found
  111. 5.50 s [really-safe-money] Using hpc version 0.69 found on system at:
  112. 5.50 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  113. 5.50 s [really-safe-money] Using hsc2hs version 0.68.10 found on system at:
  114. 5.50 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  115. 5.50 s [really-safe-money] Using hscolour version 1.25 found on system at:
  116. 5.50 s [really-safe-money] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  117. 5.50 s [really-safe-money] No jhc found
  118. 5.50 s [really-safe-money] Using ld found on system at:
  119. 5.50 s [really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  120. 5.50 s [really-safe-money] No pkg-config found
  121. 5.50 s [really-safe-money] Using runghc version 9.10.3 found on system at:
  122. 5.50 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  123. 5.50 s [really-safe-money] Using strip version 2.44 found on system at:
  124. 5.50 s [really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  125. 5.50 s [really-safe-money] Using tar found on system at:
  126. 5.50 s [really-safe-money] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  127. 5.50 s [really-safe-money] No uhc found
  128. 5.52 s [really-safe-money] Phase: buildPhase
  129. 5.52 s [really-safe-money] mutation-nix: setting MUTATION_MANIFEST_DIR=/nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
  130. 5.58 s [really-safe-money] Preprocessing library for really-safe-money-0.0.0.0...
  131. 5.58 s [really-safe-money] Building library for really-safe-money-0.0.0.0...
  132. 5.62 s [genvalidity-sydtest-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  133. 5.62 s [genvalidity-sydtest-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  134. 5.62 s [genvalidity-sydtest-source] Dependency genvalidity >=1.0: using genvalidity-1.1.1.0
  135. 5.62 s [genvalidity-sydtest-source] Dependency sydtest: using sydtest-0.23.0.2
  136. 5.62 s [genvalidity-sydtest-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  137. 5.62 s [genvalidity-sydtest-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  138. 5.62 s [genvalidity-sydtest-source] Dependency genvalidity: using genvalidity-1.1.1.0
  139. 5.62 s [genvalidity-sydtest-source] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  140. 5.62 s [genvalidity-sydtest-source] Dependency sydtest: using sydtest-0.23.0.2
  141. 5.62 s [genvalidity-sydtest-source] Source component graph:
  142. 5.62 s [genvalidity-sydtest-source] component lib
  143. 5.62 s [genvalidity-sydtest-source] component test:genvalidity-sydtest-test dependency lib
  144. 5.62 s [genvalidity-sydtest-source] Configured component graph:
  145. 5.62 s [genvalidity-sydtest-source] component genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  146. 5.62 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  147. 5.62 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  148. 5.62 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  149. 5.62 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  150. 5.62 s [genvalidity-sydtest-source] component genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  151. 5.62 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  152. 5.62 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  153. 5.62 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  154. 5.62 s [genvalidity-sydtest-source] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  155. 5.62 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  156. 5.62 s [genvalidity-sydtest-source] Linked component graph:
  157. 5.62 s [genvalidity-sydtest-source] unit genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  158. 5.62 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  159. 5.62 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  160. 5.62 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  161. 5.62 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  162. 5.62 s [genvalidity-sydtest-source] Test.Syd.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity,Test.Syd.Validity.Applicative=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Applicative,Test.Syd.Validity.Arbitrary=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Arbitrary,Test.Syd.Validity.Eq=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Eq,Test.Syd.Validity.Functions=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions,Test.Syd.Validity.Functions.CanFail=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.CanFail,Test.Syd.Validity.Functions.Equivalence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Equivalence,Test.Syd.Validity.Functions.Idempotence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Idempotence,Test.Syd.Validity.Functions.Inverse=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Inverse,Test.Syd.Validity.Functions.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Validity,Test.Syd.Validity.Functor=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functor,Test.Syd.Validity.GenValidity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity,Test.Syd.Validity.GenValidity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity.Property,Test.Syd.Validity.Monad=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monad,Test.Syd.Validity.Monoid=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monoid,Test.Syd.Validity.Operations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations,Test.Syd.Validity.Operations.Associativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Associativity,Test.Syd.Validity.Operations.Commutativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Commutativity,Test.Syd.Validity.Operations.Identity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Identity,Test.Syd.Validity.Ord=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Ord,Test.Syd.Validity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property,Test.Syd.Validity.Property.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property.Utils,Test.Syd.Validity.Relations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations,Test.Syd.Validity.Relations.Antireflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antireflexivity,Test.Syd.Validity.Relations.Antisymmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antisymmetry,Test.Syd.Validity.Relations.Reflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Reflexivity,Test.Syd.Validity.Relations.Symmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Symmetry,Test.Syd.Validity.Relations.Transitivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Transitivity,Test.Syd.Validity.Show=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Show,Test.Syd.Validity.Shrinking=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking,Test.Syd.Validity.Shrinking.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking.Property,Test.Syd.Validity.Types=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Types,Test.Syd.Validity.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Utils
  163. 5.62 s [genvalidity-sydtest-source] unit genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  164. 5.62 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  165. 5.62 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  166. 5.62 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  167. 5.62 s [genvalidity-sydtest-source] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  168. 5.62 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  169. 5.62 s [genvalidity-sydtest-source] Ready component graph:
  170. 5.62 s [genvalidity-sydtest-source] definite genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  171. 5.62 s [genvalidity-sydtest-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  172. 5.62 s [genvalidity-sydtest-source] depends base-4.20.2.0-64da
  173. 5.62 s [genvalidity-sydtest-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  174. 5.62 s [genvalidity-sydtest-source] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  175. 5.62 s [genvalidity-sydtest-source] definite genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  176. 5.62 s [genvalidity-sydtest-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  177. 5.62 s [genvalidity-sydtest-source] depends base-4.20.2.0-64da
  178. 5.62 s [genvalidity-sydtest-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  179. 5.62 s [genvalidity-sydtest-source] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  180. 5.62 s [genvalidity-sydtest-source] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  181. 5.62 s [genvalidity-sydtest-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
  182. 5.62 s [genvalidity-sydtest-source] Using compiler: ghc-9.10.3
  183. 5.62 s [genvalidity-sydtest-source] Using install prefix:
  184. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0
  185. 5.62 s [genvalidity-sydtest-source] Executables installed in:
  186. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/bin
  187. 5.62 s [genvalidity-sydtest-source] Libraries installed in:
  188. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  189. 5.62 s [genvalidity-sydtest-source] Dynamic Libraries installed in:
  190. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  191. 5.62 s [genvalidity-sydtest-source] Private executables installed in:
  192. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/libexec/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  193. 5.62 s [genvalidity-sydtest-source] Data files installed in:
  194. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/share/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  195. 5.62 s [genvalidity-sydtest-source] Documentation installed in: /share/doc/genvalidity-sydtest-1.0.1.0
  196. 5.62 s [genvalidity-sydtest-source] Configuration files installed in:
  197. 5.62 s [genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/etc
  198. 5.62 s [genvalidity-sydtest-source] No alex found
  199. 5.62 s [genvalidity-sydtest-source] Using ar found on system at:
  200. 5.62 s [genvalidity-sydtest-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  201. 5.62 s [genvalidity-sydtest-source] No c2hs found
  202. 5.62 s [genvalidity-sydtest-source] No cpphs found
  203. 5.62 s [genvalidity-sydtest-source] No doctest found
  204. 5.62 s [genvalidity-sydtest-source] Using gcc version 14.3.0 given by user at:
  205. 5.62 s [genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  206. 5.62 s [genvalidity-sydtest-source] Using ghc version 9.10.3 found on system at:
  207. 5.62 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  208. 5.62 s [genvalidity-sydtest-source] Using ghc-pkg version 9.10.3 found on system at:
  209. 5.62 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  210. 5.62 s [genvalidity-sydtest-source] No ghcjs found
  211. 5.62 s [genvalidity-sydtest-source] No ghcjs-pkg found
  212. 5.62 s [genvalidity-sydtest-source] No greencard found
  213. 5.62 s [genvalidity-sydtest-source] Using haddock version 2.31.1 found on system at:
  214. 5.65 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  215. 5.65 s [genvalidity-sydtest-source] No happy found
  216. 5.65 s [genvalidity-sydtest-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  217. 5.65 s [genvalidity-sydtest-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  218. 5.65 s [genvalidity-sydtest-source] No hmake found
  219. 5.65 s [genvalidity-sydtest-source] Using hpc version 0.69 found on system at:
  220. 5.65 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  221. 5.65 s [genvalidity-sydtest-source] Using hsc2hs version 0.68.10 found on system at:
  222. 5.65 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  223. 5.65 s [genvalidity-sydtest-source] Using hscolour version 1.25 found on system at:
  224. 5.65 s [genvalidity-sydtest-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  225. 5.65 s [genvalidity-sydtest-source] No jhc found
  226. 5.65 s [genvalidity-sydtest-source] Using ld found on system at:
  227. 5.65 s [genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  228. 5.65 s [genvalidity-sydtest-source] No pkg-config found
  229. 5.65 s [genvalidity-sydtest-source] Using runghc version 9.10.3 found on system at:
  230. 5.65 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  231. 5.65 s [genvalidity-sydtest-source] Using strip version 2.44 found on system at:
  232. 5.65 s [genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  233. 5.65 s [genvalidity-sydtest-source] Using tar found on system at:
  234. 5.65 s [genvalidity-sydtest-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  235. 5.65 s [genvalidity-sydtest-source] No uhc found
  236. 5.77 s [really-safe-money] [ 1 of 12] Compiling Numeric.DecimalLiteral ( src/Numeric/DecimalLiteral.hs, dist/build/Numeric/DecimalLiteral.o, dist/build/Numeric/DecimalLiteral.dyn_o )
  237. 6.07 s [genvalidity-sydtest-source] Phase: buildPhase
  238. 6.08 s [genvalidity-sydtest-source] Distribution quality warnings:
  239. 6.08 s [genvalidity-sydtest-source] [no-description] No 'description' field.
  240. 6.08 s [genvalidity-sydtest-source] [missing-upper-bounds] On library, these packages miss upper bounds:
  241. 6.08 s [genvalidity-sydtest-source] - QuickCheck
  242. 6.08 s [genvalidity-sydtest-source] - genvalidity
  243. 6.08 s [genvalidity-sydtest-source] - sydtest
  244. 6.08 s [genvalidity-sydtest-source] Please add them. There is more information at https://pvp.haskell.org/
  245. 6.08 s [genvalidity-sydtest-source] Building source dist for genvalidity-sydtest-1.0.1.0...
  246. 6.10 s [genvalidity-sydtest-source] Source tarball created: dist/genvalidity-sydtest-1.0.1.0.tar.gz
  247. 6.11 s [genvalidity-sydtest-source] Phase: checkPhase
  248. 6.11 s [genvalidity-sydtest-source] Phase: haddockPhase
  249. 6.12 s [genvalidity-sydtest-source] Phase: installPhase
  250. 6.12 s [really-safe-money] mutation: instrumenting Numeric.DecimalLiteral
  251. 6.12 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
  252. 6.12 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
  253. 6.12 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  254. 6.12 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  255. 6.12 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  256. 6.12 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  257. 6.12 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  258. 6.12 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
  259. 6.12 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  260. 6.12 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  261. 6.12 s [genvalidity-sydtest-source] Phase: fixupPhase
  262. 6.17 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0
  263. 6.57 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
  264. 6.57 s [post-build-hook]
  265. 6.93 s [post-build-hook] Pushing /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0 (17.74 KiB)
  266. 8.22 s [post-build-hook]
  267. 8.22 s [post-build-hook] All done.
  268. 8.24 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0
  269. 8.28 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  270. 8.29 s [post-build-hook] copying 1 paths...
  271. 8.29 s [post-build-hook] copying path '/nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0' to 'https://cache.staging.nix-ci.com'...
  272. 10.31 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  273. 10.53 s [post-build-hook] copying 1 paths...
  274. 10.59 s [post-build-hook] copying path '/nix/store/bfgxawc6qp9wx22agas39fr235zra3pc-genvalidity-sydtest-source-1.0.1.0.drv' to 'https://cache.staging.nix-ci.com'...
  275. 11.94 s Progress: 1 of 9 built (1 building)
  276. 12.00 s Building genvalidity-sydtest
  277. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  278. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  279. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  280. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  281. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  282. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  283. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  284. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  285. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  286. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  287. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
  288. 12.00 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
  289. 12.00 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
  290. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  291. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  292. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  293. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  294. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  295. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
  296. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  297. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  298. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  299. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  300. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  301. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
  302. 12.00 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  303. 12.00 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  304. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
  305. 12.00 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
  306. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
  307. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  308. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  309. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  310. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  311. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  312. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
  313. 12.00 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  314. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  315. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  316. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  317. 12.00 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  318. 12.00 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  319. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  320. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  321. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  322. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
  323. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
  324. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
  325. 12.00 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
  326. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
  327. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
  328. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  329. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  330. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  331. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
  332. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
  333. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  334. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  335. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  336. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
  337. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
  338. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  339. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  340. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  341. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  342. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  343. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  344. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  345. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  346. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  347. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  348. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
  349. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
  350. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  351. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  352. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  353. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
  354. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  355. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  356. 12.00 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  357. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
  358. 12.00 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
  359. 12.00 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
  360. 12.00 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
  361. 12.00 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  362. 12.00 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  363. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  364. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  365. 12.00 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  366. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  367. 12.00 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  368. 12.00 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
  369. 12.01 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
  370. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  371. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  372. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  373. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  374. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  375. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  376. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  377. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  378. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  379. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  380. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  381. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  382. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  383. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  384. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  385. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  386. 12.01 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  387. 12.01 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
  388. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  389. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  390. 12.01 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
  391. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  392. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  393. 12.01 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
  394. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  395. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  396. 12.01 s [really-safe-money] added mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
  397. 12.01 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
  398. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  399. 12.01 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  400. 12.01 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
  401. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
  402. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
  403. 12.01 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
  404. 12.01 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  405. 12.01 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  406. 12.01 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  407. 12.01 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  408. 12.01 s [really-safe-money] added 141 mutations
  409. 12.01 s [really-safe-money] [ 2 of 12] Compiling Money.QuantisationFactor ( src/Money/QuantisationFactor.hs, dist/build/Money/QuantisationFactor.o, dist/build/Money/QuantisationFactor.dyn_o )
  410. 12.01 s [really-safe-money] mutation: instrumenting Money.QuantisationFactor
  411. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
  412. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  413. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  414. 12.01 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
  415. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  416. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  417. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
  418. 12.01 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  419. 12.01 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  420. 12.01 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  421. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  422. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  423. 12.01 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
  424. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
  425. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  426. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  427. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  428. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  429. 12.01 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
  430. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
  431. 12.01 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  432. 12.01 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  433. 12.01 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  434. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  435. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  436. 12.01 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
  437. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
  438. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  439. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  440. 12.01 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
  441. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  442. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  443. 12.01 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
  444. 12.01 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  445. 12.01 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  446. 12.01 s [really-safe-money] added 35 mutations
  447. 12.01 s [really-safe-money] [ 3 of 12] Compiling Money.Currency ( src/Money/Currency.hs, dist/build/Money/Currency.o, dist/build/Money/Currency.dyn_o )
  448. 12.01 s [really-safe-money] mutation: instrumenting Money.Currency
  449. 12.01 s [really-safe-money] added 0 mutations
  450. 12.01 s [really-safe-money] [ 4 of 12] Compiling Money.ConversionRate ( src/Money/ConversionRate.hs, dist/build/Money/ConversionRate.o, dist/build/Money/ConversionRate.dyn_o )
  451. 12.01 s [really-safe-money] mutation: instrumenting Money.ConversionRate
  452. 12.01 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  453. 12.01 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  454. 12.01 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  455. 12.01 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  456. 12.01 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  457. 12.01 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  458. 12.01 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  459. 12.01 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  460. 12.01 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:72:25-26
  461. 12.01 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  462. 12.01 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  463. 12.01 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  464. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  465. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  466. 12.01 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:72:21-26
  467. 12.01 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:38:56-57
  468. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  469. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  470. 12.01 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:38:41-57
  471. 12.01 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  472. 12.01 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  473. 12.01 s [really-safe-money] added 21 mutations
  474. 12.01 s [really-safe-money] [ 5 of 12] Compiling Money.ConversionRateOf ( src/Money/ConversionRateOf.hs, dist/build/Money/ConversionRateOf.o, dist/build/Money/ConversionRateOf.dyn_o )
  475. 12.01 s [really-safe-money] mutation: instrumenting Money.ConversionRateOf
  476. 12.01 s [really-safe-money] added 0 mutations
  477. 12.01 s [really-safe-money] [ 6 of 12] Compiling Money.Amount ( src/Money/Amount.hs, dist/build/Money/Amount.o, dist/build/Money/Amount.dyn_o )
  478. 12.01 s [really-safe-money] mutation: instrumenting Money.Amount
  479. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  480. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  481. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  482. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  483. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  484. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  485. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  486. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:569:18-19
  487. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  488. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  489. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:569:10-19
  490. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  491. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  492. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  493. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  494. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  495. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  496. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  497. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  498. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  499. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:544:10-23
  500. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:546:14-66
  501. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  502. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  503. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:518:14-15
  504. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  505. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  506. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  507. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  508. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  509. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:518:10-15
  510. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:520:14-66
  511. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  512. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  513. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  514. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  515. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  516. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  517. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  518. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:476:10-23
  519. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:478:14-66
  520. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:388:5-16
  521. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:388:5-16
  522. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:389:9-10
  523. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  524. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  525. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  526. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:389:5-10
  527. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:389:5-10
  528. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  529. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  530. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  531. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  532. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:397:14-31
  533. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  534. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  535. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  536. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  537. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  538. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:399:18-83
  539. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:320:9-10
  540. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  541. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  542. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  543. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:320:5-10
  544. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:320:5-10
  545. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  546. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  547. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:327:9-16
  548. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:327:9-16
  549. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:328:9-21
  550. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:328:9-21
  551. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  552. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  553. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  554. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  555. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  556. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  557. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  558. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  559. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:332:14-40
  560. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  561. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  562. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:339:22-39
  563. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  564. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  565. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  566. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  567. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  568. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:341:26-91
  569. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:290:79-80
  570. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  571. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  572. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:494:96-97
  573. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  574. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  575. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  576. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  577. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  578. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:495:10-23
  579. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:497:14-66
  580. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:250:15-16
  581. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:660:28-37
  582. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:661:19-28
  583. 12.01 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:661:30-31
  584. 12.01 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  585. 12.01 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  586. 12.01 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  587. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  588. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  589. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  590. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  591. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  592. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  593. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  594. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:681:12-37
  595. 12.01 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:683:16-27
  596. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  597. 12.01 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  598. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  599. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  600. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  601. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  602. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  603. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:806:79-92
  604. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  605. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  606. 12.01 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  607. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  608. 12.01 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  609. 12.01 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:607:15-22
  610. 12.01 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  611. 12.02 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  612. 12.02 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  613. 12.02 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  614. 12.02 s [really-safe-money] added 135 mutations
  615. 12.35 s [genvalidity-sydtest] Phase: setupCompilerEnvironmentPhase
  616. 12.36 s [genvalidity-sydtest] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  617. 12.90 s [genvalidity-sydtest] Phase: unpackPhase
  618. 12.91 s [genvalidity-sydtest] unpacking source archive /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/genvalidity-sydtest-1.0.1.0.tar.gz
  619. 12.91 s [genvalidity-sydtest] source root is genvalidity-sydtest-1.0.1.0
  620. 12.92 s [genvalidity-sydtest] setting SOURCE_DATE_EPOCH to timestamp 1778791684 of file "genvalidity-sydtest-1.0.1.0/test/Test/Syd/Validity/ShrinkingSpec.hs"
  621. 12.92 s [genvalidity-sydtest] warning: file "genvalidity-sydtest-1.0.1.0/test/Test/Syd/Validity/ShrinkingSpec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
  622. 12.93 s [genvalidity-sydtest] Phase: patchPhase
  623. 12.94 s [genvalidity-sydtest] Phase: compileBuildDriverPhase
  624. 12.94 s [genvalidity-sydtest] setupCompileFlags: -package-db=/build/tmp.eTUhwpUpRG/setup-package.conf.d -threaded
  625. 13.01 s [genvalidity-sydtest] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.eTUhwpUpRG/Main.o )
  626. 13.08 s [genvalidity-sydtest] [2 of 2] Linking Setup
  627. 14.49 s [genvalidity-sydtest] Phase: updateAutotoolsGnuConfigScriptsPhase
  628. 14.51 s [genvalidity-sydtest] Phase: configurePhase
  629. 14.51 s [genvalidity-sydtest] configureFlags: --verbose --prefix=/nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc/share/doc/genvalidity-sydtest-1.0.1.0 --with-gcc=gcc --package-db=/build/tmp.eTUhwpUpRG/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib
  630. 14.52 s [genvalidity-sydtest] Using Parsec parser
  631. 14.52 s [genvalidity-sydtest] Configuring genvalidity-sydtest-1.0.1.0...
  632. 14.53 s [really-safe-money] [ 7 of 12] Compiling Money.MultiAmount ( src/Money/MultiAmount.hs, dist/build/Money/MultiAmount.o, dist/build/Money/MultiAmount.dyn_o )
  633. 14.56 s [really-safe-money] mutation: instrumenting Money.MultiAmount
  634. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  635. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  636. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  637. 14.56 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  638. 14.56 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  639. 14.56 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  640. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  641. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  642. 14.56 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:168:20-45
  643. 14.56 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
  644. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  645. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  646. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  647. 14.56 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  648. 14.56 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  649. 14.56 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
  650. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  651. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  652. 14.56 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:119:12-28
  653. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  654. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  655. 14.56 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
  656. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  657. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  658. 14.56 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:106:12-28
  659. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  660. 14.56 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  661. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  662. 14.56 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  663. 14.56 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:73:6-27
  664. 14.57 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  665. 14.57 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  666. 14.57 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:66:13-29
  667. 14.57 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  668. 14.57 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  669. 14.57 s [really-safe-money] added 35 mutations
  670. 15.28 s [genvalidity-sydtest] Dependency QuickCheck: using QuickCheck-2.15.0.1
  671. 15.28 s [genvalidity-sydtest] Dependency base >=4.7 && <5: using base-4.20.2.0
  672. 15.28 s [genvalidity-sydtest] Dependency genvalidity >=1.0: using genvalidity-1.1.1.0
  673. 15.28 s [genvalidity-sydtest] Dependency sydtest: using sydtest-0.23.0.2
  674. 15.28 s [genvalidity-sydtest] Dependency QuickCheck: using QuickCheck-2.15.0.1
  675. 15.28 s [genvalidity-sydtest] Dependency base >=4.7 && <5: using base-4.20.2.0
  676. 15.28 s [genvalidity-sydtest] Dependency genvalidity: using genvalidity-1.1.1.0
  677. 15.28 s [genvalidity-sydtest] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  678. 15.28 s [genvalidity-sydtest] Dependency sydtest: using sydtest-0.23.0.2
  679. 15.28 s [genvalidity-sydtest] Source component graph:
  680. 15.28 s [genvalidity-sydtest] component lib
  681. 15.28 s [genvalidity-sydtest] component test:genvalidity-sydtest-test dependency lib
  682. 15.28 s [genvalidity-sydtest] Configured component graph:
  683. 15.28 s [genvalidity-sydtest] component genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  684. 15.28 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  685. 15.28 s [genvalidity-sydtest] include base-4.20.2.0-64da
  686. 15.28 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  687. 15.28 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  688. 15.28 s [genvalidity-sydtest] component genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  689. 15.28 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  690. 15.28 s [genvalidity-sydtest] include base-4.20.2.0-64da
  691. 15.28 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  692. 15.28 s [genvalidity-sydtest] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  693. 15.28 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  694. 15.28 s [genvalidity-sydtest] Linked component graph:
  695. 15.28 s [genvalidity-sydtest] unit genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  696. 15.28 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  697. 15.28 s [genvalidity-sydtest] include base-4.20.2.0-64da
  698. 15.28 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  699. 15.28 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  700. 15.28 s [genvalidity-sydtest] Test.Syd.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity,Test.Syd.Validity.Applicative=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Applicative,Test.Syd.Validity.Arbitrary=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Arbitrary,Test.Syd.Validity.Eq=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Eq,Test.Syd.Validity.Functions=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions,Test.Syd.Validity.Functions.CanFail=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.CanFail,Test.Syd.Validity.Functions.Equivalence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Equivalence,Test.Syd.Validity.Functions.Idempotence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Idempotence,Test.Syd.Validity.Functions.Inverse=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Inverse,Test.Syd.Validity.Functions.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Validity,Test.Syd.Validity.Functor=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functor,Test.Syd.Validity.GenValidity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity,Test.Syd.Validity.GenValidity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity.Property,Test.Syd.Validity.Monad=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monad,Test.Syd.Validity.Monoid=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monoid,Test.Syd.Validity.Operations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations,Test.Syd.Validity.Operations.Associativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Associativity,Test.Syd.Validity.Operations.Commutativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Commutativity,Test.Syd.Validity.Operations.Identity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Identity,Test.Syd.Validity.Ord=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Ord,Test.Syd.Validity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property,Test.Syd.Validity.Property.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property.Utils,Test.Syd.Validity.Relations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations,Test.Syd.Validity.Relations.Antireflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antireflexivity,Test.Syd.Validity.Relations.Antisymmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antisymmetry,Test.Syd.Validity.Relations.Reflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Reflexivity,Test.Syd.Validity.Relations.Symmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Symmetry,Test.Syd.Validity.Relations.Transitivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Transitivity,Test.Syd.Validity.Show=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Show,Test.Syd.Validity.Shrinking=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking,Test.Syd.Validity.Shrinking.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking.Property,Test.Syd.Validity.Types=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Types,Test.Syd.Validity.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Utils
  701. 15.28 s [genvalidity-sydtest] unit genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  702. 15.28 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  703. 15.28 s [genvalidity-sydtest] include base-4.20.2.0-64da
  704. 15.28 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  705. 15.28 s [genvalidity-sydtest] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  706. 15.28 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  707. 15.28 s [genvalidity-sydtest] Ready component graph:
  708. 15.28 s [genvalidity-sydtest] definite genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  709. 15.28 s [genvalidity-sydtest] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  710. 15.28 s [genvalidity-sydtest] depends base-4.20.2.0-64da
  711. 15.28 s [genvalidity-sydtest] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  712. 15.28 s [genvalidity-sydtest] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  713. 15.28 s [genvalidity-sydtest] definite genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  714. 15.28 s [genvalidity-sydtest] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  715. 15.28 s [genvalidity-sydtest] depends base-4.20.2.0-64da
  716. 15.28 s [genvalidity-sydtest] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  717. 15.28 s [genvalidity-sydtest] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  718. 15.28 s [genvalidity-sydtest] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  719. 15.28 s [genvalidity-sydtest] Using Cabal-3.12.1.0 compiled by ghc-9.10
  720. 15.28 s [genvalidity-sydtest] Using compiler: ghc-9.10.3
  721. 15.28 s [genvalidity-sydtest] Using install prefix:
  722. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0
  723. 15.28 s [genvalidity-sydtest] Executables installed in:
  724. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/bin
  725. 15.28 s [genvalidity-sydtest] Libraries installed in:
  726. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  727. 15.28 s [genvalidity-sydtest] Dynamic Libraries installed in:
  728. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  729. 15.28 s [genvalidity-sydtest] Private executables installed in:
  730. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/libexec/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  731. 15.28 s [genvalidity-sydtest] Data files installed in:
  732. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/share/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  733. 15.28 s [genvalidity-sydtest] Documentation installed in:
  734. 15.28 s [genvalidity-sydtest] /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc/share/doc/genvalidity-sydtest-1.0.1.0
  735. 15.28 s [genvalidity-sydtest] Configuration files installed in:
  736. 15.28 s [genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/etc
  737. 15.28 s [genvalidity-sydtest] No alex found
  738. 15.28 s [genvalidity-sydtest] Using ar found on system at:
  739. 15.28 s [genvalidity-sydtest] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  740. 15.28 s [genvalidity-sydtest] No c2hs found
  741. 15.28 s [genvalidity-sydtest] No cpphs found
  742. 15.28 s [genvalidity-sydtest] No doctest found
  743. 15.28 s [genvalidity-sydtest] Using gcc version 14.3.0 given by user at:
  744. 15.28 s [genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  745. 15.28 s [genvalidity-sydtest] Using ghc version 9.10.3 found on system at:
  746. 15.28 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  747. 15.28 s [genvalidity-sydtest] Using ghc-pkg version 9.10.3 found on system at:
  748. 15.28 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  749. 15.28 s [genvalidity-sydtest] No ghcjs found
  750. 15.28 s [genvalidity-sydtest] No ghcjs-pkg found
  751. 15.28 s [genvalidity-sydtest] No greencard found
  752. 15.28 s [genvalidity-sydtest] Using haddock version 2.31.1 found on system at:
  753. 15.32 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  754. 15.32 s [genvalidity-sydtest] No happy found
  755. 15.32 s [genvalidity-sydtest] Using haskell-suite found on system at: haskell-suite-dummy-location
  756. 15.32 s [genvalidity-sydtest] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  757. 15.32 s [genvalidity-sydtest] No hmake found
  758. 15.32 s [genvalidity-sydtest] Using hpc version 0.69 found on system at:
  759. 15.32 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  760. 15.32 s [genvalidity-sydtest] Using hsc2hs version 0.68.10 found on system at:
  761. 15.32 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  762. 15.32 s [genvalidity-sydtest] Using hscolour version 1.25 found on system at:
  763. 15.32 s [genvalidity-sydtest] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  764. 15.32 s [genvalidity-sydtest] No jhc found
  765. 15.32 s [genvalidity-sydtest] Using ld found on system at:
  766. 15.32 s [genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  767. 15.32 s [genvalidity-sydtest] No pkg-config found
  768. 15.32 s [genvalidity-sydtest] Using runghc version 9.10.3 found on system at:
  769. 15.32 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  770. 15.32 s [genvalidity-sydtest] Using strip version 2.44 found on system at:
  771. 15.32 s [genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  772. 15.32 s [genvalidity-sydtest] Using tar found on system at:
  773. 15.32 s [genvalidity-sydtest] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  774. 15.32 s [genvalidity-sydtest] No uhc found
  775. 15.41 s [really-safe-money] [ 8 of 12] Compiling Money.AmountOf ( src/Money/AmountOf.hs, dist/build/Money/AmountOf.o, dist/build/Money/AmountOf.dyn_o )
  776. 15.42 s [really-safe-money] mutation: instrumenting Money.AmountOf
  777. 15.42 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  778. 15.42 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  779. 15.42 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  780. 15.42 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  781. 15.43 s [really-safe-money] added 4 mutations
  782. 15.69 s [really-safe-money] [ 9 of 12] Compiling Money.Account ( src/Money/Account.hs, dist/build/Money/Account.o, dist/build/Money/Account.dyn_o )
  783. 15.92 s [really-safe-money] mutation: instrumenting Money.Account
  784. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  785. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  786. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  787. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  788. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  789. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  790. 15.92 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:421:32-33
  791. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  792. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  793. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  794. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  795. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  796. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  797. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  798. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  799. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  800. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  801. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  802. 15.92 s [really-safe-money] added mutation Negate at src/Money/Account.hs:451:14-23
  803. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  804. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  805. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  806. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  807. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  808. 15.92 s [really-safe-money] added mutation Negate at src/Money/Account.hs:455:14-23
  809. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  810. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  811. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  812. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  813. 15.92 s [really-safe-money] added mutation MaybeOp at src/Money/Account.hs:523:16-25
  814. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  815. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  816. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  817. 15.92 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:495:17-18
  818. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  819. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  820. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  821. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  822. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  823. 15.92 s [really-safe-money] added mutation Negate at src/Money/Account.hs:495:12-18
  824. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  825. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  826. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  827. 15.92 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:503:15-16
  828. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  829. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  830. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  831. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  832. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  833. 15.92 s [really-safe-money] added mutation Negate at src/Money/Account.hs:503:10-16
  834. 15.92 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:233:19-20
  835. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  836. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  837. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  838. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  839. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  840. 15.92 s [really-safe-money] added mutation Negate at src/Money/Account.hs:233:14-20
  841. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  842. 15.92 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  843. 15.92 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:197:19-20
  844. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  845. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  846. 15.92 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  847. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  848. 15.92 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  849. 15.93 s [really-safe-money] added mutation Negate at src/Money/Account.hs:197:14-20
  850. 15.93 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  851. 15.93 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  852. 15.93 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  853. 15.93 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  854. 15.93 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  855. 15.93 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  856. 15.93 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  857. 15.93 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  858. 15.93 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  859. 15.93 s [really-safe-money] added mutation Negate at src/Money/Account.hs:123:10-23
  860. 15.93 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:131:25-26
  861. 15.93 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  862. 15.93 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  863. 15.93 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  864. 15.93 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  865. 15.93 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  866. 15.93 s [really-safe-money] added mutation Negate at src/Money/Account.hs:131:20-26
  867. 15.93 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  868. 15.93 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  869. 15.93 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  870. 15.93 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  871. 15.93 s [really-safe-money] added 87 mutations
  872. 15.93 s [genvalidity-sydtest] Phase: buildPhase
  873. 15.93 s [genvalidity-sydtest] Preprocessing library for genvalidity-sydtest-1.0.1.0...
  874. 15.93 s [genvalidity-sydtest] Building library for genvalidity-sydtest-1.0.1.0...
  875. 15.97 s [genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, dist/build/Paths_genvalidity_sydtest.o, dist/build/Paths_genvalidity_sydtest.dyn_o )
  876. 16.18 s [genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, dist/build/Test/Syd/Validity/Functions/Idempotence.o, dist/build/Test/Syd/Validity/Functions/Idempotence.dyn_o )
  877. 16.18 s [genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, dist/build/Test/Syd/Validity/Operations/Associativity.o, dist/build/Test/Syd/Validity/Operations/Associativity.dyn_o )
  878. 16.18 s [genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, dist/build/Test/Syd/Validity/Operations/Commutativity.o, dist/build/Test/Syd/Validity/Operations/Commutativity.dyn_o )
  879. 16.18 s [genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, dist/build/Test/Syd/Validity/Operations/Identity.o, dist/build/Test/Syd/Validity/Operations/Identity.dyn_o )
  880. 16.23 s [genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, dist/build/Test/Syd/Validity/Operations.o, dist/build/Test/Syd/Validity/Operations.dyn_o )
  881. 16.26 s [genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, dist/build/Test/Syd/Validity/Property/Utils.o, dist/build/Test/Syd/Validity/Property/Utils.dyn_o )
  882. 16.26 s [genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, dist/build/Test/Syd/Validity/GenValidity/Property.o, dist/build/Test/Syd/Validity/GenValidity/Property.dyn_o )
  883. 16.26 s [genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, dist/build/Test/Syd/Validity/Functions/Validity.o, dist/build/Test/Syd/Validity/Functions/Validity.dyn_o )
  884. 16.28 s [genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, dist/build/Test/Syd/Validity/Relations/Antireflexivity.o, dist/build/Test/Syd/Validity/Relations/Antireflexivity.dyn_o )
  885. 16.28 s [genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, dist/build/Test/Syd/Validity/Relations/Antisymmetry.o, dist/build/Test/Syd/Validity/Relations/Antisymmetry.dyn_o )
  886. 16.28 s [genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, dist/build/Test/Syd/Validity/Relations/Reflexivity.o, dist/build/Test/Syd/Validity/Relations/Reflexivity.dyn_o )
  887. 16.28 s [genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, dist/build/Test/Syd/Validity/Relations/Symmetry.o, dist/build/Test/Syd/Validity/Relations/Symmetry.dyn_o )
  888. 16.28 s [genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, dist/build/Test/Syd/Validity/Relations/Transitivity.o, dist/build/Test/Syd/Validity/Relations/Transitivity.dyn_o )
  889. 16.28 s [genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, dist/build/Test/Syd/Validity/Relations.o, dist/build/Test/Syd/Validity/Relations.dyn_o )
  890. 16.28 s [genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, dist/build/Test/Syd/Validity/Shrinking/Property.o, dist/build/Test/Syd/Validity/Shrinking/Property.dyn_o )
  891. 16.28 s [genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, dist/build/Test/Syd/Validity/Types.o, dist/build/Test/Syd/Validity/Types.dyn_o )
  892. 16.28 s [genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, dist/build/Test/Syd/Validity/Functions/Inverse.o, dist/build/Test/Syd/Validity/Functions/Inverse.dyn_o )
  893. 16.28 s [genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, dist/build/Test/Syd/Validity/Functions/Equivalence.o, dist/build/Test/Syd/Validity/Functions/Equivalence.dyn_o )
  894. 16.47 s [genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, dist/build/Test/Syd/Validity/Functions/CanFail.o, dist/build/Test/Syd/Validity/Functions/CanFail.dyn_o )
  895. 16.47 s [genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, dist/build/Test/Syd/Validity/Functions.o, dist/build/Test/Syd/Validity/Functions.dyn_o )
  896. 16.49 s [genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, dist/build/Test/Syd/Validity/Property.o, dist/build/Test/Syd/Validity/Property.dyn_o )
  897. 16.52 s [genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, dist/build/Test/Syd/Validity/Utils.o, dist/build/Test/Syd/Validity/Utils.dyn_o )
  898. 16.52 s [genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, dist/build/Test/Syd/Validity/Shrinking.o, dist/build/Test/Syd/Validity/Shrinking.dyn_o )
  899. 16.52 s [genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, dist/build/Test/Syd/Validity/Show.o, dist/build/Test/Syd/Validity/Show.dyn_o )
  900. 16.52 s [genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, dist/build/Test/Syd/Validity/Ord.o, dist/build/Test/Syd/Validity/Ord.dyn_o )
  901. 16.81 s [really-safe-money] [10 of 12] Compiling Money.MultiAccount ( src/Money/MultiAccount.hs, dist/build/Money/MultiAccount.o, dist/build/Money/MultiAccount.dyn_o )
  902. 16.83 s [really-safe-money] mutation: instrumenting Money.MultiAccount
  903. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  904. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  905. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  906. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  907. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  908. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  909. 16.83 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  910. 16.83 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  911. 16.83 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
  912. 16.83 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
  913. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  914. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  915. 16.83 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:134:12-29
  916. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  917. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  918. 16.83 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
  919. 16.83 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
  920. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  921. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  922. 16.83 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:120:12-29
  923. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  924. 16.83 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  925. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  926. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  927. 16.83 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:78:6-28
  928. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  929. 16.83 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  930. 16.83 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:69:13-30
  931. 16.83 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  932. 16.83 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  933. 16.83 s [really-safe-money] added 30 mutations
  934. 16.95 s [genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, dist/build/Test/Syd/Validity/Monoid.o, dist/build/Test/Syd/Validity/Monoid.dyn_o )
  935. 16.96 s [genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, dist/build/Test/Syd/Validity/Monad.o, dist/build/Test/Syd/Validity/Monad.dyn_o )
  936. 16.96 s [genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, dist/build/Test/Syd/Validity/GenValidity.o, dist/build/Test/Syd/Validity/GenValidity.dyn_o )
  937. 16.96 s [genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, dist/build/Test/Syd/Validity/Functor.o, dist/build/Test/Syd/Validity/Functor.dyn_o )
  938. 16.96 s [genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, dist/build/Test/Syd/Validity/Eq.o, dist/build/Test/Syd/Validity/Eq.dyn_o )
  939. 16.96 s [genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, dist/build/Test/Syd/Validity/Arbitrary.o, dist/build/Test/Syd/Validity/Arbitrary.dyn_o )
  940. 16.96 s [genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, dist/build/Test/Syd/Validity/Applicative.o, dist/build/Test/Syd/Validity/Applicative.dyn_o )
  941. 16.96 s [genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, dist/build/Test/Syd/Validity.o, dist/build/Test/Syd/Validity.dyn_o )
  942. 17.29 s [genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, dist/build/Paths_genvalidity_sydtest.p_o )
  943. 17.35 s [really-safe-money] [11 of 12] Compiling Money.AccountOf ( src/Money/AccountOf.hs, dist/build/Money/AccountOf.o, dist/build/Money/AccountOf.dyn_o )
  944. 17.37 s [really-safe-money] mutation: instrumenting Money.AccountOf
  945. 17.37 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  946. 17.37 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  947. 17.37 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  948. 17.37 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  949. 17.37 s [really-safe-money] added 4 mutations
  950. 17.60 s [genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, dist/build/Test/Syd/Validity/Functions/Idempotence.p_o )
  951. 17.60 s [genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, dist/build/Test/Syd/Validity/Operations/Associativity.p_o )
  952. 17.60 s [genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, dist/build/Test/Syd/Validity/Operations/Commutativity.p_o )
  953. 17.60 s [genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, dist/build/Test/Syd/Validity/Operations/Identity.p_o )
  954. 17.60 s [genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, dist/build/Test/Syd/Validity/Operations.p_o )
  955. 17.60 s [really-safe-money] [12 of 12] Compiling Paths_really_safe_money ( dist/build/autogen/Paths_really_safe_money.hs, dist/build/Paths_really_safe_money.o, dist/build/Paths_really_safe_money.dyn_o )
  956. 17.72 s [genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, dist/build/Test/Syd/Validity/Property/Utils.p_o )
  957. 17.72 s [genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, dist/build/Test/Syd/Validity/GenValidity/Property.p_o )
  958. 17.72 s [genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, dist/build/Test/Syd/Validity/Functions/Validity.p_o )
  959. 17.79 s [genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, dist/build/Test/Syd/Validity/Relations/Antireflexivity.p_o )
  960. 17.79 s [genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, dist/build/Test/Syd/Validity/Relations/Antisymmetry.p_o )
  961. 17.79 s [genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, dist/build/Test/Syd/Validity/Relations/Reflexivity.p_o )
  962. 17.79 s [genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, dist/build/Test/Syd/Validity/Relations/Symmetry.p_o )
  963. 17.79 s [genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, dist/build/Test/Syd/Validity/Relations/Transitivity.p_o )
  964. 17.79 s [genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, dist/build/Test/Syd/Validity/Relations.p_o )
  965. 17.88 s [genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, dist/build/Test/Syd/Validity/Shrinking/Property.p_o )
  966. 17.88 s [genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, dist/build/Test/Syd/Validity/Types.p_o )
  967. 17.88 s [genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, dist/build/Test/Syd/Validity/Functions/Inverse.p_o )
  968. 17.88 s [genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, dist/build/Test/Syd/Validity/Functions/Equivalence.p_o )
  969. 17.89 s [genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, dist/build/Test/Syd/Validity/Functions/CanFail.p_o )
  970. 17.89 s [genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, dist/build/Test/Syd/Validity/Functions.p_o )
  971. 17.95 s [really-safe-money] [ 1 of 12] Compiling Numeric.DecimalLiteral ( src/Numeric/DecimalLiteral.hs, dist/build/Numeric/DecimalLiteral.p_o )
  972. 18.02 s [genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, dist/build/Test/Syd/Validity/Property.p_o )
  973. 18.15 s [genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, dist/build/Test/Syd/Validity/Utils.p_o )
  974. 18.15 s [genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, dist/build/Test/Syd/Validity/Shrinking.p_o )
  975. 18.15 s [genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, dist/build/Test/Syd/Validity/Show.p_o )
  976. 18.15 s [genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, dist/build/Test/Syd/Validity/Ord.p_o )
  977. 18.28 s [really-safe-money] mutation: instrumenting Numeric.DecimalLiteral
  978. 18.28 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
  979. 18.28 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
  980. 18.28 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  981. 18.28 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  982. 18.28 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  983. 18.28 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  984. 18.28 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  985. 18.28 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
  986. 18.28 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  987. 18.28 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  988. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  989. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  990. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  991. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  992. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  993. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  994. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  995. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  996. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  997. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  998. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
  999. 18.29 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
  1000. 18.29 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
  1001. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  1002. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  1003. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  1004. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  1005. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  1006. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
  1007. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  1008. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  1009. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  1010. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  1011. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  1012. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
  1013. 18.29 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  1014. 18.29 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  1015. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
  1016. 18.29 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
  1017. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
  1018. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  1019. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  1020. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  1021. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  1022. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  1023. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
  1024. 18.29 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  1025. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  1026. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  1027. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  1028. 18.29 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  1029. 18.29 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  1030. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  1031. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  1032. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  1033. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
  1034. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
  1035. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
  1036. 18.29 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
  1037. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
  1038. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
  1039. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  1040. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  1041. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  1042. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
  1043. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
  1044. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  1045. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  1046. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  1047. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
  1048. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
  1049. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  1050. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  1051. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  1052. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  1053. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  1054. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  1055. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  1056. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  1057. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  1058. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  1059. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
  1060. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
  1061. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  1062. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  1063. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  1064. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
  1065. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  1066. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  1067. 18.29 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  1068. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
  1069. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
  1070. 18.29 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
  1071. 18.29 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
  1072. 18.29 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  1073. 18.29 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  1074. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  1075. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  1076. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  1077. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  1078. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  1079. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
  1080. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
  1081. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  1082. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  1083. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  1084. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  1085. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  1086. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  1087. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  1088. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  1089. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  1090. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  1091. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  1092. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  1093. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  1094. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  1095. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  1096. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  1097. 18.29 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  1098. 18.29 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
  1099. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  1100. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  1101. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
  1102. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  1103. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  1104. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
  1105. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  1106. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  1107. 18.29 s [really-safe-money] added mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
  1108. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
  1109. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  1110. 18.29 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  1111. 18.29 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
  1112. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
  1113. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
  1114. 18.29 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
  1115. 18.29 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  1116. 18.29 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  1117. 18.29 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  1118. 18.29 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  1119. 18.29 s [really-safe-money] added 141 mutations
  1120. 18.50 s [genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, dist/build/Test/Syd/Validity/Monoid.p_o )
  1121. 18.50 s [genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, dist/build/Test/Syd/Validity/Monad.p_o )
  1122. 18.58 s [genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, dist/build/Test/Syd/Validity/GenValidity.p_o )
  1123. 18.58 s [genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, dist/build/Test/Syd/Validity/Functor.p_o )
  1124. 18.58 s [genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, dist/build/Test/Syd/Validity/Eq.p_o )
  1125. 18.58 s [genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, dist/build/Test/Syd/Validity/Arbitrary.p_o )
  1126. 18.58 s [genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, dist/build/Test/Syd/Validity/Applicative.p_o )
  1127. 18.58 s [genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, dist/build/Test/Syd/Validity.p_o )
  1128. 19.94 s [really-safe-money] [ 2 of 12] Compiling Money.QuantisationFactor ( src/Money/QuantisationFactor.hs, dist/build/Money/QuantisationFactor.p_o )
  1129. 19.95 s [really-safe-money] mutation: instrumenting Money.QuantisationFactor
  1130. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
  1131. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  1132. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  1133. 19.95 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
  1134. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  1135. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  1136. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
  1137. 19.95 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  1138. 19.95 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  1139. 19.95 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  1140. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  1141. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  1142. 19.95 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
  1143. 19.95 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
  1144. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  1145. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  1146. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  1147. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  1148. 19.95 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
  1149. 19.95 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
  1150. 19.95 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  1151. 19.95 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  1152. 19.95 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  1153. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  1154. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  1155. 19.95 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
  1156. 19.95 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
  1157. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  1158. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  1159. 19.95 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
  1160. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  1161. 19.95 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  1162. 19.95 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
  1163. 19.95 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  1164. 19.95 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  1165. 19.95 s [really-safe-money] added 35 mutations
  1166. 20.39 s [really-safe-money] [ 3 of 12] Compiling Money.Currency ( src/Money/Currency.hs, dist/build/Money/Currency.p_o )
  1167. 20.40 s [really-safe-money] mutation: instrumenting Money.Currency
  1168. 20.40 s [really-safe-money] added 0 mutations
  1169. 20.78 s [really-safe-money] [ 4 of 12] Compiling Money.ConversionRate ( src/Money/ConversionRate.hs, dist/build/Money/ConversionRate.p_o )
  1170. 20.89 s [really-safe-money] mutation: instrumenting Money.ConversionRate
  1171. 20.89 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  1172. 20.89 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  1173. 20.89 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  1174. 20.89 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  1175. 20.89 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  1176. 20.89 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  1177. 20.89 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  1178. 20.89 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  1179. 20.89 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:72:25-26
  1180. 20.89 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  1181. 20.89 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  1182. 20.89 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  1183. 20.89 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  1184. 20.89 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  1185. 20.89 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:72:21-26
  1186. 20.89 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:38:56-57
  1187. 20.89 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  1188. 20.89 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  1189. 20.89 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:38:41-57
  1190. 20.89 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  1191. 20.89 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  1192. 20.89 s [really-safe-money] added 21 mutations
  1193. 21.08 s [really-safe-money] [ 5 of 12] Compiling Money.ConversionRateOf ( src/Money/ConversionRateOf.hs, dist/build/Money/ConversionRateOf.p_o )
  1194. 21.09 s [really-safe-money] mutation: instrumenting Money.ConversionRateOf
  1195. 21.09 s [really-safe-money] added 0 mutations
  1196. 21.15 s [genvalidity-sydtest] Preprocessing test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
  1197. 21.16 s [genvalidity-sydtest] Building test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
  1198. 21.25 s [really-safe-money] [ 6 of 12] Compiling Money.Amount ( src/Money/Amount.hs, dist/build/Money/Amount.p_o )
  1199. 21.29 s [genvalidity-sydtest] [ 1 of 15] Compiling Paths_genvalidity_sydtest ( dist/build/genvalidity-sydtest-test/autogen/Paths_genvalidity_sydtest.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Paths_genvalidity_sydtest.o )
  1200. 21.33 s [really-safe-money] mutation: instrumenting Money.Amount
  1201. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  1202. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  1203. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  1204. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  1205. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  1206. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  1207. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  1208. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:569:18-19
  1209. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  1210. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  1211. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:569:10-19
  1212. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  1213. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  1214. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  1215. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  1216. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  1217. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  1218. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  1219. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  1220. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  1221. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:544:10-23
  1222. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:546:14-66
  1223. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  1224. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  1225. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:518:14-15
  1226. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  1227. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  1228. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  1229. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  1230. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  1231. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:518:10-15
  1232. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:520:14-66
  1233. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  1234. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  1235. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  1236. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  1237. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  1238. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  1239. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  1240. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:476:10-23
  1241. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:478:14-66
  1242. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:388:5-16
  1243. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:388:5-16
  1244. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:389:9-10
  1245. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  1246. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  1247. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  1248. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:389:5-10
  1249. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:389:5-10
  1250. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  1251. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  1252. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  1253. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  1254. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:397:14-31
  1255. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  1256. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  1257. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  1258. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  1259. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  1260. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:399:18-83
  1261. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:320:9-10
  1262. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  1263. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  1264. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  1265. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:320:5-10
  1266. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:320:5-10
  1267. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  1268. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  1269. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:327:9-16
  1270. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:327:9-16
  1271. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:328:9-21
  1272. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:328:9-21
  1273. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  1274. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  1275. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  1276. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  1277. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  1278. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  1279. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  1280. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  1281. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:332:14-40
  1282. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  1283. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  1284. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:339:22-39
  1285. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  1286. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  1287. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  1288. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  1289. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  1290. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:341:26-91
  1291. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:290:79-80
  1292. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  1293. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  1294. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:494:96-97
  1295. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  1296. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  1297. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  1298. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  1299. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  1300. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:495:10-23
  1301. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:497:14-66
  1302. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:250:15-16
  1303. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:660:28-37
  1304. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:661:19-28
  1305. 21.33 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:661:30-31
  1306. 21.33 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  1307. 21.33 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  1308. 21.33 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  1309. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  1310. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  1311. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  1312. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  1313. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  1314. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  1315. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  1316. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:681:12-37
  1317. 21.33 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:683:16-27
  1318. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  1319. 21.33 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  1320. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  1321. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  1322. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  1323. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  1324. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  1325. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:806:79-92
  1326. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  1327. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  1328. 21.33 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  1329. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  1330. 21.33 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  1331. 21.33 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:607:15-22
  1332. 21.33 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  1333. 21.33 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  1334. 21.33 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  1335. 21.33 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  1336. 21.33 s [really-safe-money] added 135 mutations
  1337. 21.46 s [genvalidity-sydtest] [ 2 of 15] Compiling Test.Syd.Validity.ApplicativeSpec ( test/Test/Syd/Validity/ApplicativeSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ApplicativeSpec.o )
  1338. 21.52 s [genvalidity-sydtest] [ 3 of 15] Compiling Test.Syd.Validity.ArbitrarySpec ( test/Test/Syd/Validity/ArbitrarySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ArbitrarySpec.o )
  1339. 21.52 s [genvalidity-sydtest] [ 4 of 15] Compiling Test.Syd.Validity.EqSpec ( test/Test/Syd/Validity/EqSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/EqSpec.o )
  1340. 21.52 s [genvalidity-sydtest] [ 5 of 15] Compiling Test.Syd.Validity.FunctorSpec ( test/Test/Syd/Validity/FunctorSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/FunctorSpec.o )
  1341. 21.52 s [genvalidity-sydtest] [ 6 of 15] Compiling Test.Syd.Validity.GenRelativeValiditySpec ( test/Test/Syd/Validity/GenRelativeValiditySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/GenRelativeValiditySpec.o )
  1342. 21.52 s [genvalidity-sydtest] [ 7 of 15] Compiling Test.Syd.Validity.GenValiditySpec ( test/Test/Syd/Validity/GenValiditySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/GenValiditySpec.o )
  1343. 21.52 s [genvalidity-sydtest] [ 8 of 15] Compiling Test.Syd.Validity.MonadSpec ( test/Test/Syd/Validity/MonadSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/MonadSpec.o )
  1344. 21.68 s [genvalidity-sydtest] [ 9 of 15] Compiling Test.Syd.Validity.MonoidSpec ( test/Test/Syd/Validity/MonoidSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/MonoidSpec.o )
  1345. 21.68 s [genvalidity-sydtest] [10 of 15] Compiling Test.Syd.Validity.Operations.CommutativitySpec ( test/Test/Syd/Validity/Operations/CommutativitySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/Operations/CommutativitySpec.o )
  1346. 21.68 s [genvalidity-sydtest] [11 of 15] Compiling Test.Syd.Validity.OrdSpec ( test/Test/Syd/Validity/OrdSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/OrdSpec.o )
  1347. 21.68 s [genvalidity-sydtest] [12 of 15] Compiling Test.Syd.Validity.RelativeValiditySpec ( test/Test/Syd/Validity/RelativeValiditySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/RelativeValiditySpec.o )
  1348. 21.68 s [genvalidity-sydtest] [13 of 15] Compiling Test.Syd.Validity.ShowSpec ( test/Test/Syd/Validity/ShowSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ShowSpec.o )
  1349. 21.68 s [genvalidity-sydtest] [14 of 15] Compiling Test.Syd.Validity.ShrinkingSpec ( test/Test/Syd/Validity/ShrinkingSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ShrinkingSpec.o )
  1350. 21.68 s [genvalidity-sydtest] [15 of 15] Compiling Main ( test/Spec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Main.o )
  1351. 22.07 s [genvalidity-sydtest] [16 of 16] Linking dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test
  1352. 23.29 s [really-safe-money] [ 7 of 12] Compiling Money.MultiAmount ( src/Money/MultiAmount.hs, dist/build/Money/MultiAmount.p_o )
  1353. 23.31 s [really-safe-money] mutation: instrumenting Money.MultiAmount
  1354. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  1355. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  1356. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  1357. 23.31 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  1358. 23.31 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  1359. 23.31 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  1360. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  1361. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  1362. 23.31 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:168:20-45
  1363. 23.31 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
  1364. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  1365. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  1366. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  1367. 23.31 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  1368. 23.31 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  1369. 23.31 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
  1370. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  1371. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  1372. 23.31 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:119:12-28
  1373. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  1374. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  1375. 23.31 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
  1376. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  1377. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  1378. 23.31 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:106:12-28
  1379. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  1380. 23.31 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  1381. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  1382. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  1383. 23.31 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:73:6-27
  1384. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  1385. 23.31 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  1386. 23.31 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:66:13-29
  1387. 23.31 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  1388. 23.31 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  1389. 23.31 s [really-safe-money] added 35 mutations
  1390. 23.44 s [genvalidity-sydtest] Phase: checkPhase
  1391. 23.75 s [genvalidity-sydtest] Running 1 test suites...
  1392. 23.75 s [genvalidity-sydtest] Test suite genvalidity-sydtest-test: RUNNING...
  1393. 23.81 s [genvalidity-sydtest] Tests:
  1394. 23.81 s [genvalidity-sydtest]
  1395. 23.81 s [genvalidity-sydtest] Test.Syd.Validity.MonoidSpec
  1396. 23.81 s [genvalidity-sydtest] Monoid [Int]
  1397. 23.81 s [genvalidity-sydtest] mappend :: [Int] -> [Int] -> [Int]
  1398. 23.81 s [genvalidity-sydtest] is an associative operation for "valid :: ([Int],[Int],[Int])" 7.51 ms
  1399. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1400. 23.81 s [genvalidity-sydtest] mempty :: [Int]
  1401. 23.81 s [genvalidity-sydtest] is the identity for mappend :: [Int] -> [Int] -> [Int] for "valid :: [Int]" 5.86 ms
  1402. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1403. 23.81 s [genvalidity-sydtest] mconcat :: [[Int]] -> [Int]
  1404. 23.81 s [genvalidity-sydtest] is equivalent to its default implementation for "valid :: [[Int]]" 7.32 ms
  1405. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1406. 23.81 s [genvalidity-sydtest] Monoid [Int]
  1407. 23.81 s [genvalidity-sydtest] mconcat :: [[Int]] -> [Int]
  1408. 23.81 s [genvalidity-sydtest] is equivalent to its default implementation for "arbitrary :: [[Int]]" 3.29 ms
  1409. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1410. 23.81 s [genvalidity-sydtest] mempty :: [Int]
  1411. 23.81 s [genvalidity-sydtest] is the identity for mappend :: [Int] -> [Int] -> [Int] for "arbitrary :: [Int]" 5.96 ms
  1412. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1413. 23.81 s [genvalidity-sydtest] mappend :: [Int] -> [Int] -> [Int]
  1414. 23.81 s [genvalidity-sydtest] is an associative operation for "arbitrary :: ([Int],[Int],[Int])" 7.47 ms
  1415. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1416. 23.81 s [genvalidity-sydtest] Monoid ([Ratio Integer])
  1417. 23.81 s [genvalidity-sydtest] mappend :: ([Ratio Integer]) -> ([Ratio Integer]) -> ([Ratio Integer])
  1418. 23.81 s [genvalidity-sydtest] is an associative operation for "valid :: (([Ratio Integer],[Ratio Integer],[Ratio Integer]))" 38.76 ms
  1419. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1420. 23.81 s [genvalidity-sydtest] mempty :: ([Ratio Integer])
  1421. 23.81 s [genvalidity-sydtest] is the identity for mappend :: ([Ratio Integer]) -> ([Ratio Integer]) -> ([Ratio Integer]) for "valid :: ([Ratio Integer])" 26.81 ms
  1422. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1423. 23.81 s [genvalidity-sydtest] mconcat :: [([Ratio Integer])] -> ([Ratio Integer])
  1424. 23.81 s [genvalidity-sydtest] is equivalent to its default implementation for "valid :: ([[Ratio Integer]])" 22.56 ms
  1425. 23.81 s [genvalidity-sydtest] passed for all of 100 inputs.
  1426. 23.81 s [genvalidity-sydtest] Monoid [Char]
  1427. 23.81 s [genvalidity-sydtest] mappend :: [Char] -> [Char] -> [Char]
  1428. 23.82 s [genvalidity-sydtest] is an associative operation for "singleton list of 'a' :: ([Char],[Char],[Char])" 0.55 ms
  1429. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1430. 23.82 s [genvalidity-sydtest] mempty :: [Char]
  1431. 23.82 s [genvalidity-sydtest] is the identity for mappend :: [Char] -> [Char] -> [Char] for "singleton list of 'a' :: [Char]" 1.61 ms
  1432. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1433. 23.82 s [genvalidity-sydtest] mconcat :: [[Char]] -> [Char]
  1434. 23.82 s [genvalidity-sydtest] is equivalent to its default implementation for "singleton list of 'a' :: [[Char]]" 4.29 ms
  1435. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1436. 23.82 s [genvalidity-sydtest] Test.Syd.Validity.OrdSpec
  1437. 23.82 s [genvalidity-sydtest] Ord (Ratio Integer)
  1438. 23.82 s [genvalidity-sydtest] "max :: (Ratio Integer -> Ratio Integer -> Ratio Integer)"
  1439. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "valid (Ratio Integer)"'s 5.90 ms
  1440. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1441. 23.82 s [genvalidity-sydtest] (>=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1442. 23.82 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 7.10 ms
  1443. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1444. 23.82 s [genvalidity-sydtest] is antisymmetric for "valid (Ratio Integer)"'s 6.15 ms
  1445. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1446. 23.82 s [genvalidity-sydtest] is reflexive for "valid (Ratio Integer)"'s 2.54 ms
  1447. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1448. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "valid (Ratio Integer)"'s 5.74 ms
  1449. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1450. 23.82 s [genvalidity-sydtest] "min :: (Ratio Integer -> Ratio Integer -> Ratio Integer)"
  1451. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "valid (Ratio Integer)"'s 4.29 ms
  1452. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1453. 23.82 s [genvalidity-sydtest] (<=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1454. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "valid (Ratio Integer)"'s 6.16 ms
  1455. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1456. 23.82 s [genvalidity-sydtest] is reflexive for "valid (Ratio Integer)"'s 2.01 ms
  1457. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1458. 23.82 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 5.62 ms
  1459. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1460. 23.82 s [genvalidity-sydtest] is antisymmetric for "valid (Ratio Integer)"'s 5.66 ms
  1461. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1462. 23.82 s [genvalidity-sydtest] (>) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1463. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "valid (Ratio Integer)"'s 6.15 ms
  1464. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1465. 23.82 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 4.03 ms
  1466. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1467. 23.82 s [genvalidity-sydtest] is antireflexive for "valid (Ratio Integer)"'s 2.49 ms
  1468. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1469. 23.82 s [genvalidity-sydtest] (<) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1470. 23.82 s [genvalidity-sydtest] is antireflexive for "valid (Ratio Integer)"'s 3.08 ms
  1471. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1472. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "valid (Ratio Integer)"'s 5.08 ms
  1473. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1474. 23.82 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 4.93 ms
  1475. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1476. 23.82 s [genvalidity-sydtest] Ord Int
  1477. 23.82 s [genvalidity-sydtest] (<=) :: Int -> Int -> Bool
  1478. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "arbitrary Int"'s 1.48 ms
  1479. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1480. 23.82 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 1.08 ms
  1481. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1482. 23.82 s [genvalidity-sydtest] is reflexive for "arbitrary Int"'s 1.30 ms
  1483. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1484. 23.82 s [genvalidity-sydtest] is antisymmetric for "arbitrary Int"'s 1.04 ms
  1485. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1486. 23.82 s [genvalidity-sydtest] "min :: (Int -> Int -> Int)"
  1487. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "arbitrary Int"'s 1.51 ms
  1488. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1489. 23.82 s [genvalidity-sydtest] (>) :: Int -> Int -> Bool
  1490. 23.82 s [genvalidity-sydtest] is antireflexive for "arbitrary Int"'s 1.27 ms
  1491. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1492. 23.82 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 1.54 ms
  1493. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1494. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "arbitrary Int"'s 2.65 ms
  1495. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1496. 23.82 s [genvalidity-sydtest] "max :: (Int -> Int -> Int)"
  1497. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "arbitrary Int"'s 2.05 ms
  1498. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1499. 23.82 s [genvalidity-sydtest] (<) :: Int -> Int -> Bool
  1500. 23.82 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 1.53 ms
  1501. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1502. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "arbitrary Int"'s 2.82 ms
  1503. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1504. 23.82 s [genvalidity-sydtest] is antireflexive for "arbitrary Int"'s 2.70 ms
  1505. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1506. 23.82 s [genvalidity-sydtest] (>=) :: Int -> Int -> Bool
  1507. 23.82 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 2.69 ms
  1508. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1509. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "arbitrary Int"'s 2.76 ms
  1510. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1511. 23.82 s [genvalidity-sydtest] is reflexive for "arbitrary Int"'s 2.58 ms
  1512. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1513. 23.82 s [genvalidity-sydtest] is antisymmetric for "arbitrary Int"'s 2.26 ms
  1514. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1515. 23.82 s [genvalidity-sydtest] Ord Int
  1516. 23.82 s [genvalidity-sydtest] (>=) :: Int -> Int -> Bool
  1517. 23.82 s [genvalidity-sydtest] is antisymmetric for "valid Int"'s 1.84 ms
  1518. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1519. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "valid Int"'s 1.89 ms
  1520. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1521. 23.82 s [genvalidity-sydtest] is transitive for "valid Int"'s 1.77 ms
  1522. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1523. 23.82 s [genvalidity-sydtest] is reflexive for "valid Int"'s 1.77 ms
  1524. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1525. 23.82 s [genvalidity-sydtest] "max :: (Int -> Int -> Int)"
  1526. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "valid Int"'s 1.90 ms
  1527. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1528. 23.82 s [genvalidity-sydtest] "min :: (Int -> Int -> Int)"
  1529. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "valid Int"'s 1.78 ms
  1530. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1531. 23.82 s [genvalidity-sydtest] (>) :: Int -> Int -> Bool
  1532. 23.82 s [genvalidity-sydtest] is antireflexive for "valid Int"'s 1.83 ms
  1533. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1534. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "valid Int"'s 1.80 ms
  1535. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1536. 23.82 s [genvalidity-sydtest] is transitive for "valid Int"'s 1.64 ms
  1537. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1538. 23.82 s [genvalidity-sydtest] (<) :: Int -> Int -> Bool
  1539. 23.82 s [genvalidity-sydtest] is antireflexive for "valid Int"'s 1.58 ms
  1540. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1541. 23.82 s [genvalidity-sydtest] is transitive for "valid Int"'s 1.62 ms
  1542. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1543. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "valid Int"'s 1.55 ms
  1544. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1545. 23.82 s [genvalidity-sydtest] (<=) :: Int -> Int -> Bool
  1546. 23.82 s [genvalidity-sydtest] is antisymmetric for "valid Int"'s 1.05 ms
  1547. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1548. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "valid Int"'s 0.97 ms
  1549. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1550. 23.82 s [genvalidity-sydtest] is transitive for "valid Int"'s 0.97 ms
  1551. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1552. 23.82 s [genvalidity-sydtest] is reflexive for "valid Int"'s 0.95 ms
  1553. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1554. 23.82 s [genvalidity-sydtest] Ord Int
  1555. 23.82 s [genvalidity-sydtest] (>=) :: Int -> Int -> Bool
  1556. 23.82 s [genvalidity-sydtest] is transitive for "even Int"'s 0.90 ms
  1557. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1558. 23.82 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "even Int"'s 0.83 ms
  1559. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1560. 23.82 s [genvalidity-sydtest] is antisymmetric for "even Int"'s 0.92 ms
  1561. 23.82 s [genvalidity-sydtest] passed for all of 100 inputs.
  1562. 23.99 s [genvalidity-sydtest] is reflexive for "even Int"'s 0.93 ms
  1563. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1564. 23.99 s [genvalidity-sydtest] (<) :: Int -> Int -> Bool
  1565. 23.99 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "even Int"'s 0.95 ms
  1566. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1567. 23.99 s [genvalidity-sydtest] is antireflexive for "even Int"'s 0.87 ms
  1568. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1569. 23.99 s [genvalidity-sydtest] is transitive for "even Int"'s 1.03 ms
  1570. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1571. 23.99 s [genvalidity-sydtest] (>) :: Int -> Int -> Bool
  1572. 23.99 s [genvalidity-sydtest] is transitive for "even Int"'s 0.89 ms
  1573. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1574. 23.99 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "even Int"'s 0.93 ms
  1575. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1576. 23.99 s [genvalidity-sydtest] is antireflexive for "even Int"'s 0.78 ms
  1577. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1578. 23.99 s [genvalidity-sydtest] "max :: (Int -> Int -> Int)"
  1579. 23.99 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "even Int"'s 1.52 ms
  1580. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1581. 23.99 s [genvalidity-sydtest] "min :: (Int -> Int -> Int)"
  1582. 23.99 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "even Int"'s 1.54 ms
  1583. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1584. 23.99 s [genvalidity-sydtest] (<=) :: Int -> Int -> Bool
  1585. 23.99 s [genvalidity-sydtest] is transitive for "even Int"'s 1.35 ms
  1586. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1587. 23.99 s [genvalidity-sydtest] is reflexive for "even Int"'s 0.90 ms
  1588. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1589. 23.99 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "even Int"'s 2.00 ms
  1590. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1591. 23.99 s [genvalidity-sydtest] is antisymmetric for "even Int"'s 1.63 ms
  1592. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1593. 23.99 s [genvalidity-sydtest] Test.Syd.Validity.MonadSpec
  1594. 23.99 s [genvalidity-sydtest] Monad []
  1595. 23.99 s [genvalidity-sydtest] relation with Applicative []
  1596. 23.99 s [genvalidity-sydtest] satisfies 'pure = return' for "[] of ints :: [Int]" 1.76 ms
  1597. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1598. 23.99 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "[] of ints :: [Int]" and "[] of ints :: [Int]" 11.87 ms
  1599. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1600. 23.99 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "[] of additions :: ([Int -> Int])" and "[] of ints :: [Int]" 3.66 ms
  1601. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1602. 23.99 s [genvalidity-sydtest] relation with Functor []
  1603. 23.99 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "[] of ints :: [Int]" 1.99 ms
  1604. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1605. 23.99 s [genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
  1606. 23.99 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "[] of ints :: [Int]" "perturbations using the int :: (Int -> [Int])" and "perturbations using the double the int :: (Int -> [Int])" 212.04 ms
  1607. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1608. 23.99 s [genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
  1609. 23.99 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> [Int])" 1.85 ms
  1610. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1611. 23.99 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "[] of ints :: [Int]" 3.20 ms
  1612. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1613. 23.99 s [genvalidity-sydtest] Monad Maybe
  1614. 23.99 s [genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1615. 23.99 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "Maybe of ints :: (Maybe Int)" "perturbations using the int :: (Int -> Maybe Int)" and "perturbations using the double the int :: (Int -> Maybe Int)" 1.45 ms
  1616. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1617. 23.99 s [genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1618. 23.99 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "Maybe of ints :: (Maybe Int)" 1.50 ms
  1619. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1620. 23.99 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Maybe Int)" 1.52 ms
  1621. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1622. 23.99 s [genvalidity-sydtest] relation with Functor Maybe
  1623. 23.99 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "Maybe of ints :: (Maybe Int)" 1.64 ms
  1624. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1625. 23.99 s [genvalidity-sydtest] relation with Applicative Maybe
  1626. 23.99 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "Maybe of additions :: (Maybe (Int -> Int))" and "Maybe of ints :: (Maybe Int)" 1.58 ms
  1627. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1628. 23.99 s [genvalidity-sydtest] satisfies 'pure = return' for "Maybe of ints :: (Maybe Int)" 3.04 ms
  1629. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1630. 23.99 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "Maybe of ints :: (Maybe Int)" and "Maybe of ints :: (Maybe Int)" 1.54 ms
  1631. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1632. 23.99 s [genvalidity-sydtest] Monad Maybe
  1633. 23.99 s [genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1634. 23.99 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "Maybe of ints :: (Maybe Int)" "perturbations using the int :: (Int -> Maybe Int)" and "perturbations using the double the int :: (Int -> Maybe Int)" 3.10 ms
  1635. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1636. 23.99 s [genvalidity-sydtest] relation with Applicative Maybe
  1637. 23.99 s [genvalidity-sydtest] satisfies 'pure = return' for "Maybe of ints :: (Maybe Int)" 2.68 ms
  1638. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1639. 23.99 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "Maybe of ints :: (Maybe Int)" and "Maybe of ints :: (Maybe Int)" 2.78 ms
  1640. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1641. 23.99 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "Maybe of additions :: (Maybe (Int -> Int))" and "Maybe of ints :: (Maybe Int)" 2.58 ms
  1642. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1643. 23.99 s [genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1644. 23.99 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "Maybe of ints :: (Maybe Int)" 2.60 ms
  1645. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1646. 23.99 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Maybe Int)" 2.69 ms
  1647. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1648. 23.99 s [genvalidity-sydtest] relation with Functor Maybe
  1649. 23.99 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "Maybe of ints :: (Maybe Int)" 2.46 ms
  1650. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1651. 23.99 s [genvalidity-sydtest] Monad (Either Int)
  1652. 23.99 s [genvalidity-sydtest] return :: a -> (Either Int) a and (>>=) :: (Either Int) a -> (b -> (Either Int) a) -> (Either Int) b
  1653. 23.99 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "(Either Int) of ints :: (Either Int Int)" 2.35 ms
  1654. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1655. 23.99 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Either Int Int)" 2.40 ms
  1656. 23.99 s [genvalidity-sydtest] passed for all of 100 inputs.
  1657. 23.99 s [genvalidity-sydtest] relation with Applicative (Either Int)
  1658. 24.00 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "(Either Int) of additions :: (Either Int (Int -> Int))" and "(Either Int) of ints :: (Either Int Int)" 2.17 ms
  1659. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1660. 24.00 s [genvalidity-sydtest] satisfies 'pure = return' for "(Either Int) of ints :: (Either Int Int)" 1.79 ms
  1661. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1662. 24.00 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "(Either Int) of ints :: (Either Int Int)" and "(Either Int) of ints :: (Either Int Int)" 1.98 ms
  1663. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1664. 24.00 s [genvalidity-sydtest] (>>=) :: (Either Int) a -> (b -> (Either Int) a) -> (Either Int) b
  1665. 24.00 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "(Either Int) of ints :: (Either Int Int)" "perturbations using the int :: (Int -> Either Int Int)" and "perturbations using the double the int :: (Int -> Either Int Int)" 1.89 ms
  1666. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1667. 24.00 s [genvalidity-sydtest] relation with Functor (Either Int)
  1668. 24.00 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "(Either Int) of ints :: (Either Int Int)" 1.80 ms
  1669. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1670. 24.00 s [genvalidity-sydtest] Monad Maybe
  1671. 24.00 s [genvalidity-sydtest] relation with Functor Maybe
  1672. 24.00 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "appends :: ([Char] -> [Char])" and "Just an ABC :: (Maybe [Char])" 2.53 ms
  1673. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1674. 24.00 s [genvalidity-sydtest] relation with Applicative Maybe
  1675. 24.00 s [genvalidity-sydtest] satisfies 'pure = return' for "Just an ABC :: (Maybe [Char])" 1.82 ms
  1676. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1677. 24.00 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "Just an ABC :: (Maybe [Char])" and "Just an ABC :: (Maybe [Char])" 1.91 ms
  1678. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1679. 24.00 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "append 'a' in Just :: (Maybe ([Char] -> [Char]))" and "Just an ABC :: (Maybe [Char])" 1.90 ms
  1680. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1681. 24.00 s [genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1682. 24.00 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "Just an ABC :: (Maybe [Char])" "justisation :: ([Char] -> Maybe [Char])" and "justisation :: ([Char] -> Maybe [Char])" 1.89 ms
  1683. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1684. 24.00 s [genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1685. 24.00 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "Just an ABC :: (Maybe [Char])" 1.81 ms
  1686. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1687. 24.00 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "ABC :: [Char]" and "justisation :: ([Char] -> Maybe [Char])" 3.37 ms
  1688. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1689. 24.00 s [genvalidity-sydtest] Monad []
  1690. 24.00 s [genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
  1691. 24.00 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "list of fives :: [Int]" "singletonisation :: (Int -> [Int])" and "singletonisation :: (Int -> [Int])" 5.07 ms
  1692. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1693. 24.00 s [genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
  1694. 24.00 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "list of fives :: [Int]" 4.94 ms
  1695. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1696. 24.00 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "four :: Int" and "singletonisation :: (Int -> [Int])" 3.26 ms
  1697. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1698. 24.00 s [genvalidity-sydtest] relation with Applicative []
  1699. 24.00 s [genvalidity-sydtest] satisfies 'pure = return' for "list of fives :: [Int]" 3.17 ms
  1700. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1701. 24.00 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "list of fives :: [Int]" and "list of sixes :: [Int]" 6.96 ms
  1702. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1703. 24.00 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "increment in list :: ([Int -> Int])" and "list of fives :: [Int]" 4.71 ms
  1704. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1705. 24.00 s [genvalidity-sydtest] relation with Functor []
  1706. 24.00 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "factorisations :: (Int -> Int)" and "list of fives :: [Int]" 4.68 ms
  1707. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1708. 24.00 s [genvalidity-sydtest] Monad []
  1709. 24.00 s [genvalidity-sydtest] relation with Functor []
  1710. 24.00 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "[] of ints :: [Int]" 4.60 ms
  1711. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1712. 24.00 s [genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
  1713. 24.00 s [genvalidity-sydtest] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "[] of ints :: [Int]" "perturbations using the int :: (Int -> [Int])" and "perturbations using the double the int :: (Int -> [Int])" 144.30 ms
  1714. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1715. 24.00 s [genvalidity-sydtest] relation with Applicative []
  1716. 24.00 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "[] of ints :: [Int]" and "[] of ints :: [Int]" 10.85 ms
  1717. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1718. 24.00 s [genvalidity-sydtest] satisfies 'pure = return' for "[] of ints :: [Int]" 2.97 ms
  1719. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1720. 24.00 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "[] of additions :: ([Int -> Int])" and "[] of ints :: [Int]" 4.57 ms
  1721. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1722. 24.00 s [genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
  1723. 24.00 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> [Int])" 4.60 ms
  1724. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1725. 24.00 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "[] of ints :: [Int]" 4.51 ms
  1726. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1727. 24.00 s [genvalidity-sydtest] Test.Syd.Validity.EqSpec
  1728. 24.00 s [genvalidity-sydtest] Eq (Ratio Integer)
  1729. 24.00 s [genvalidity-sydtest] (==) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1730. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "valid (Ratio Integer)"s 4.67 ms
  1731. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1732. 24.00 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"s 4.58 ms
  1733. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1734. 24.00 s [genvalidity-sydtest] is reflexive for "valid (Ratio Integer)"s 4.40 ms
  1735. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1736. 24.00 s [genvalidity-sydtest] is symmetric for "valid (Ratio Integer)"s 4.50 ms
  1737. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1738. 24.00 s [genvalidity-sydtest] (/=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1739. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "valid (Ratio Integer)"s 5.24 ms
  1740. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1741. 24.00 s [genvalidity-sydtest] is antireflexive for "valid (Ratio Integer)"s 4.44 ms
  1742. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1743. 24.00 s [genvalidity-sydtest] Eq Int
  1744. 24.00 s [genvalidity-sydtest] (==) :: Int -> Int -> Bool
  1745. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "valid Int"s 4.33 ms
  1746. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1747. 24.00 s [genvalidity-sydtest] is reflexive for "valid Int"s 3.85 ms
  1748. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1749. 24.00 s [genvalidity-sydtest] is transitive for "valid Int"s 3.52 ms
  1750. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1751. 24.00 s [genvalidity-sydtest] is symmetric for "valid Int"s 2.62 ms
  1752. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1753. 24.00 s [genvalidity-sydtest] (/=) :: Int -> Int -> Bool
  1754. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "valid Int"s 2.57 ms
  1755. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1756. 24.00 s [genvalidity-sydtest] is antireflexive for "valid Int"s 2.51 ms
  1757. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1758. 24.00 s [genvalidity-sydtest] Eq Int
  1759. 24.00 s [genvalidity-sydtest] (==) :: Int -> Int -> Bool
  1760. 24.00 s [genvalidity-sydtest] is transitive for "arbitrary Int"s 1.93 ms
  1761. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1762. 24.00 s [genvalidity-sydtest] is symmetric for "arbitrary Int"s 1.99 ms
  1763. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1764. 24.00 s [genvalidity-sydtest] is reflexive for "arbitrary Int"s 1.96 ms
  1765. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1766. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "arbitrary Int"s 1.92 ms
  1767. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1768. 24.00 s [genvalidity-sydtest] (/=) :: Int -> Int -> Bool
  1769. 24.00 s [genvalidity-sydtest] is antireflexive for "arbitrary Int"s 1.95 ms
  1770. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1771. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "arbitrary Int"s 1.95 ms
  1772. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1773. 24.00 s [genvalidity-sydtest] Eq Int
  1774. 24.00 s [genvalidity-sydtest] (/=) :: Int -> Int -> Bool
  1775. 24.00 s [genvalidity-sydtest] is antireflexive for "even Int"s 1.91 ms
  1776. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1777. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "even Int"s 1.86 ms
  1778. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1779. 24.00 s [genvalidity-sydtest] (==) :: Int -> Int -> Bool
  1780. 24.00 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "even Int"s 1.95 ms
  1781. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1782. 24.00 s [genvalidity-sydtest] is symmetric for "even Int"s 1.90 ms
  1783. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1784. 24.00 s [genvalidity-sydtest] is reflexive for "even Int"s 2.07 ms
  1785. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1786. 24.00 s [genvalidity-sydtest] is transitive for "even Int"s 3.53 ms
  1787. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1788. 24.00 s [genvalidity-sydtest] Test.Syd.Validity.ArbitrarySpec
  1789. 24.00 s [genvalidity-sydtest] Arbitrary Int
  1790. 24.00 s [genvalidity-sydtest] arbitrary :: Gen Int
  1791. 24.00 s [genvalidity-sydtest] only generates valid values 3.91 ms
  1792. 24.00 s [genvalidity-sydtest] passed for all of 100 inputs.
  1793. 24.00 s [genvalidity-sydtest] Test.Syd.Validity.Operations.CommutativitySpec
  1794. 24.00 s [genvalidity-sydtest] commutative
  1795. 24.00 s [genvalidity-sydtest] cross product is not commutative 6.15 ms
  1796. 24.00 s [genvalidity-sydtest] passed for all of 1 inputs.
  1797. 24.00 s [genvalidity-sydtest] + is commutative 3.45 ms
  1798. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1799. 24.01 s [genvalidity-sydtest] * is commutative 3.19 ms
  1800. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1801. 24.01 s [genvalidity-sydtest] - is not commutative 18.60 ms
  1802. 24.01 s [genvalidity-sydtest] passed for all of 1 inputs.
  1803. 24.01 s [genvalidity-sydtest] dot product is commutative 3.26 ms
  1804. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1805. 24.01 s [genvalidity-sydtest] Test.Syd.Validity.GenValiditySpec
  1806. 24.01 s [genvalidity-sydtest] GenValid (Ratio Integer)
  1807. 24.01 s [genvalidity-sydtest] genValid :: Gen (Ratio Integer)
  1808. 24.01 s [genvalidity-sydtest] only generates valid '(Ratio Integer)'s 5.41 ms
  1809. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1810. 24.01 s [genvalidity-sydtest] GenValid (Ratio Integer)
  1811. 24.01 s [genvalidity-sydtest] genValid :: Gen (Ratio Integer)
  1812. 24.01 s [genvalidity-sydtest] only generates valid '(Ratio Integer)'s 4.42 ms
  1813. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1814. 24.01 s [genvalidity-sydtest] Test.Syd.Validity.ShrinkingSpec
  1815. 24.01 s [genvalidity-sydtest] shrinkValid :: (Int -> [Int])
  1816. 24.01 s [genvalidity-sydtest] preserves validity 8.77 ms
  1817. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1818. 24.01 s [genvalidity-sydtest] never shrinks to itself for valid values 4.54 ms
  1819. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1820. 24.01 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid
  1821. 24.01 s [genvalidity-sydtest] [Ordering] 20.71 ms
  1822. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1823. 24.01 s [genvalidity-sydtest] Ordering 2.25 ms
  1824. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1825. 24.01 s [genvalidity-sydtest] shrinkValid :: (Ratio Int8 -> [Ratio Int8])
  1826. 24.01 s [genvalidity-sydtest] never shrinks to itself for valid values 8.78 ms
  1827. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1828. 24.01 s [genvalidity-sydtest] preserves validity 10.50 ms
  1829. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1830. 24.01 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItself
  1831. 24.01 s [genvalidity-sydtest] [Int] 98.05 ms
  1832. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1833. 24.01 s [genvalidity-sydtest] Int 4.50 ms
  1834. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1835. 24.01 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItself
  1836. 24.01 s [genvalidity-sydtest] [Ordering] 10.20 ms
  1837. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1838. 24.01 s [genvalidity-sydtest] Ordering 2.30 ms
  1839. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1840. 24.01 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid
  1841. 24.01 s [really-safe-money] [ 8 of 12] Compiling Money.AmountOf ( src/Money/AmountOf.hs, dist/build/Money/AmountOf.p_o )
  1842. 24.01 s [genvalidity-sydtest] Ordering 4.23 ms
  1843. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1844. 24.01 s [genvalidity-sydtest] [Ordering] 20.11 ms
  1845. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1846. 24.01 s [genvalidity-sydtest] Test.Syd.Validity.FunctorSpec
  1847. 24.01 s [genvalidity-sydtest] Functor Maybe
  1848. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
  1849. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "Just an ABC :: (Maybe [Char])" 's given to "prepends :: ([Char] -> [Char])" and "appends :: ([Char] -> [Char])" 4.54 ms
  1850. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1851. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "Just an ABC :: (Maybe [Char])" 2.79 ms
  1852. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1853. 24.01 s [genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
  1854. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "ABC :: [Char]" and "Just an ABC :: (Maybe [Char])" 2.83 ms
  1855. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1856. 24.01 s [genvalidity-sydtest] Functor []
  1857. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
  1858. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "list of fives :: [Int]" 4.08 ms
  1859. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1860. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "list of fives :: [Int]" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 4.08 ms
  1861. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1862. 24.01 s [genvalidity-sydtest] (<$) :: a -> [] b -> [] a
  1863. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "four :: Int" and "list of fives :: [Int]" 6.45 ms
  1864. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1865. 24.01 s [genvalidity-sydtest] Functor []
  1866. 24.01 s [genvalidity-sydtest] (<$) :: a -> [] b -> [] a
  1867. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "[] of ints :: [Int]" 3.99 ms
  1868. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1869. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
  1870. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "[] of ints :: [Int]" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 6.36 ms
  1871. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1872. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "[] of ints :: [Int]" 1.94 ms
  1873. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1874. 24.01 s [genvalidity-sydtest] Functor (Either Int)
  1875. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> (Either Int) a -> (Either Int) b
  1876. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "(Either Int) of ints :: (Either Int Int)" 1.83 ms
  1877. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1878. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "(Either Int) of ints :: (Either Int Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 1.90 ms
  1879. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1880. 24.01 s [genvalidity-sydtest] (<$) :: a -> (Either Int) b -> (Either Int) a
  1881. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "(Either Int) of ints :: (Either Int Int)" 4.27 ms
  1882. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1883. 24.01 s [genvalidity-sydtest] Functor []
  1884. 24.01 s [genvalidity-sydtest] (<$) :: a -> [] b -> [] a
  1885. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "[] of ints :: [Int]" 4.31 ms
  1886. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1887. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
  1888. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "[] of ints :: [Int]" 5.56 ms
  1889. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1890. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "[] of ints :: [Int]" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 5.74 ms
  1891. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1892. 24.01 s [genvalidity-sydtest] Functor Maybe
  1893. 24.01 s [genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
  1894. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "Maybe of ints :: (Maybe Int)" 4.28 ms
  1895. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1896. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
  1897. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "Maybe of ints :: (Maybe Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 4.37 ms
  1898. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1899. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "Maybe of ints :: (Maybe Int)" 4.18 ms
  1900. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1901. 24.01 s [genvalidity-sydtest] Functor ((,) Int)
  1902. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> ((,) Int) a -> ((,) Int) b
  1903. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "((,) Int) of ints :: (Int,Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 2.67 ms
  1904. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1905. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "((,) Int) of ints :: (Int,Int)" 2.57 ms
  1906. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1907. 24.01 s [genvalidity-sydtest] (<$) :: a -> ((,) Int) b -> ((,) Int) a
  1908. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "((,) Int) of ints :: (Int,Int)" 2.58 ms
  1909. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1910. 24.01 s [genvalidity-sydtest] Functor Maybe
  1911. 24.01 s [genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
  1912. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "Maybe of ints :: (Maybe Int)" 2.51 ms
  1913. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1914. 24.01 s [genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
  1915. 24.01 s [genvalidity-sydtest] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "Maybe of ints :: (Maybe Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 2.53 ms
  1916. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1917. 24.01 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "Maybe of ints :: (Maybe Int)" 2.54 ms
  1918. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1919. 24.01 s [genvalidity-sydtest] Test.Syd.Validity.ShowSpec
  1920. 24.01 s [genvalidity-sydtest] Show (Ratio Integer) and Read (Ratio Integer)
  1921. 24.01 s [genvalidity-sydtest] are implemented such that read . show == id for arbitrary values 5.80 ms
  1922. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1923. 24.01 s [genvalidity-sydtest] Show Int and Read Int
  1924. 24.01 s [genvalidity-sydtest] are implemented such that read . show == id for valid values 1.70 ms
  1925. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1926. 24.01 s [genvalidity-sydtest] Show (Ratio Integer) and Read (Ratio Integer)
  1927. 24.01 s [genvalidity-sydtest] are implemented such that read . show == id for valid values 4.01 ms
  1928. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1929. 24.01 s [genvalidity-sydtest] Show Int and Read Int
  1930. 24.01 s [genvalidity-sydtest] are implemented such that read . show == id for even values 1.76 ms
  1931. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1932. 24.01 s [genvalidity-sydtest] Test.Syd.Validity.ApplicativeSpec
  1933. 24.01 s [genvalidity-sydtest] Applicative []
  1934. 24.01 s [genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
  1935. 24.01 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "[] of ints :: [Int]" in front of "[] of ints :: Int" 8.58 ms
  1936. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1937. 24.01 s [genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
  1938. 24.01 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "[] of increments :: ([Int -> Int])" sequenced with "int :: Int" 1.67 ms
  1939. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1940. 24.01 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "[] of ints :: [Int]" 1.78 ms
  1941. 24.01 s [genvalidity-sydtest] passed for all of 100 inputs.
  1942. 24.01 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "[] of ints :: [Int]" 3.50 ms
  1943. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1944. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "[] of scalings :: ([Int -> Int])" composed with "[] of increments :: ([Int -> Int])" and applied to "[] of ints :: [Int]" 3.17 ms
  1945. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1946. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 1.68 ms
  1947. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1948. 24.02 s [genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
  1949. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "[] of ints :: Int" behind "[] of ints :: [Int]" 10.48 ms
  1950. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1951. 24.02 s [genvalidity-sydtest] Applicative (Either Int)
  1952. 24.02 s [genvalidity-sydtest] (*>) :: (Either Int) a -> (Either Int) b -> (Either Int) b
  1953. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "(Either Int) of ints :: (Either Int Int)" in front of "(Either Int) of ints :: Int" 1.57 ms
  1954. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1955. 24.02 s [genvalidity-sydtest] (<*) :: (Either Int) a -> (Either Int) b -> (Either Int) a
  1956. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "(Either Int) of ints :: Int" behind "(Either Int) of ints :: (Either Int Int)" 1.44 ms
  1957. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1958. 24.02 s [genvalidity-sydtest] pure :: a -> (Either Int) a and (<*>) :: (Either Int) (a -> b) -> (Either Int) a -> (Either Int) b
  1959. 24.02 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "(Either Int) of ints :: (Either Int Int)" 1.64 ms
  1960. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1961. 24.02 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "(Either Int) of ints :: (Either Int Int)" 1.61 ms
  1962. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1963. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "(Either Int) of scalings :: (Either Int (Int -> Int))" composed with "(Either Int) of increments :: (Either Int (Int -> Int))" and applied to "(Either Int) of ints :: (Either Int Int)" 3.38 ms
  1964. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1965. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 3.21 ms
  1966. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1967. 24.02 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "(Either Int) of increments :: (Either Int (Int -> Int))" sequenced with "int :: Int" 2.24 ms
  1968. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1969. 24.02 s [genvalidity-sydtest] Applicative Maybe
  1970. 24.02 s [genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
  1971. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 2.08 ms
  1972. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1973. 24.02 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "Maybe of increments :: (Maybe (Int -> Int))" sequenced with "int :: Int" 2.15 ms
  1974. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1975. 24.02 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "Maybe of ints :: (Maybe Int)" 2.14 ms
  1976. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1977. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "Maybe of scalings :: (Maybe (Int -> Int))" composed with "Maybe of increments :: (Maybe (Int -> Int))" and applied to "Maybe of ints :: (Maybe Int)" 2.30 ms
  1978. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1979. 24.02 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "Maybe of ints :: (Maybe Int)" 2.06 ms
  1980. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1981. 24.02 s [genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
  1982. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "Maybe of ints :: Int" behind "Maybe of ints :: (Maybe Int)" 2.11 ms
  1983. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1984. 24.02 s [genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
  1985. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "Maybe of ints :: (Maybe Int)" in front of "Maybe of ints :: Int" 2.34 ms
  1986. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1987. 24.02 s [genvalidity-sydtest] Applicative Maybe
  1988. 24.02 s [genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
  1989. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "purely Nothing :: [Char]" behind "Just an ABC :: (Maybe [Char])" 2.26 ms
  1990. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1991. 24.02 s [genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
  1992. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "Just an ABC :: (Maybe [Char])" in front of "purely Nothing :: [Char]" 2.34 ms
  1993. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1994. 24.02 s [genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
  1995. 24.02 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "Just an ABC :: (Maybe [Char])" 2.25 ms
  1996. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1997. 24.02 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "prepends :: ([Char] -> [Char])" mapped over "Just an ABC :: (Maybe [Char])" 4.39 ms
  1998. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  1999. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "prepends :: ([Char] -> [Char])" sequenced with "ABC :: [Char]" 3.15 ms
  2000. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2001. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "appends in a Just :: (Maybe ([Char] -> [Char]))" composed with "prepends in a Just :: (Maybe ([Char] -> [Char]))" and applied to "Just an ABC :: (Maybe [Char])" 3.09 ms
  2002. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2003. 24.02 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "prepends in a Just :: (Maybe ([Char] -> [Char]))" sequenced with "ABC :: [Char]" 3.08 ms
  2004. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2005. 24.02 s [genvalidity-sydtest] Applicative []
  2006. 24.02 s [genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
  2007. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "[] of ints :: [Int]" in front of "[] of ints :: Int" 12.81 ms
  2008. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2009. 24.02 s [genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
  2010. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 0.65 ms
  2011. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2012. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "[] of scalings :: ([Int -> Int])" composed with "[] of increments :: ([Int -> Int])" and applied to "[] of ints :: [Int]" 2.87 ms
  2013. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2014. 24.02 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "[] of ints :: [Int]" 2.75 ms
  2015. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2016. 24.02 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "[] of ints :: [Int]" 2.75 ms
  2017. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2018. 24.02 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "[] of increments :: ([Int -> Int])" sequenced with "int :: Int" 2.58 ms
  2019. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2020. 24.02 s [genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
  2021. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "[] of ints :: Int" behind "[] of ints :: [Int]" 16.72 ms
  2022. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2023. 24.02 s [genvalidity-sydtest] Applicative []
  2024. 24.02 s [genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
  2025. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "four :: Int" 2.49 ms
  2026. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2027. 24.02 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "increments in a list :: ([Int -> Int])" sequenced with "four :: Int" 2.47 ms
  2028. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2029. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "scalings in a list :: ([Int -> Int])" composed with "increments in a list :: ([Int -> Int])" and applied to "list of fives :: [Int]" 2.86 ms
  2030. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2031. 24.02 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "list of fives :: [Int]" 2.38 ms
  2032. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2033. 24.02 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "list of fives :: [Int]" 3.23 ms
  2034. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2035. 24.02 s [genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
  2036. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "purely empty list :: Int" behind "list of fives :: [Int]" 3.35 ms
  2037. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2038. 24.02 s [genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
  2039. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "list of fives :: [Int]" in front of "purely empty list :: Int" 2.75 ms
  2040. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2041. 24.02 s [genvalidity-sydtest] Applicative Maybe
  2042. 24.02 s [genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
  2043. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "Maybe of ints :: (Maybe Int)" in front of "Maybe of ints :: Int" 2.56 ms
  2044. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2045. 24.02 s [genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
  2046. 24.02 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "Maybe of ints :: Int" behind "Maybe of ints :: (Maybe Int)" 2.53 ms
  2047. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2048. 24.02 s [genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
  2049. 24.02 s [genvalidity-sydtest] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "Maybe of scalings :: (Maybe (Int -> Int))" composed with "Maybe of increments :: (Maybe (Int -> Int))" and applied to "Maybe of ints :: (Maybe Int)" 0.70 ms
  2050. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2051. 24.02 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "Maybe of ints :: (Maybe Int)" 0.66 ms
  2052. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2053. 24.02 s [genvalidity-sydtest] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "Maybe of ints :: (Maybe Int)" 0.76 ms
  2054. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2055. 24.02 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 2.12 ms
  2056. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2057. 24.02 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "Maybe of increments :: (Maybe (Int -> Int))" sequenced with "int :: Int" 0.76 ms
  2058. 24.02 s [genvalidity-sydtest] passed for all of 100 inputs.
  2059. 24.02 s [genvalidity-sydtest]
  2060. 24.02 s [genvalidity-sydtest] Examples: 24402
  2061. 24.02 s [genvalidity-sydtest] Passed: 246
  2062. 24.02 s [genvalidity-sydtest] Failed: 0
  2063. 24.02 s [genvalidity-sydtest] Sum of test runtimes: 1.36 seconds
  2064. 24.02 s [genvalidity-sydtest] Test suite took: 0.23 seconds
  2065. 24.02 s [genvalidity-sydtest]
  2066. 24.02 s [really-safe-money] mutation: instrumenting Money.AmountOf
  2067. 24.02 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2068. 24.02 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2069. 24.02 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2070. 24.02 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2071. 24.02 s [really-safe-money] added 4 mutations
  2072. 24.02 s [genvalidity-sydtest] Test suite genvalidity-sydtest-test: PASS
  2073. 24.02 s [genvalidity-sydtest] Test suite logged to:
  2074. 24.02 s [genvalidity-sydtest] dist/test/genvalidity-sydtest-1.0.1.0-genvalidity-sydtest-test.log
  2075. 24.02 s [genvalidity-sydtest] 1 of 1 test suites (1 of 1 test cases) passed.
  2076. 24.03 s [genvalidity-sydtest] Phase: haddockPhase
  2077. 24.16 s [genvalidity-sydtest] Preprocessing library for genvalidity-sydtest-1.0.1.0...
  2078. 24.16 s [genvalidity-sydtest] Running Haddock on library for genvalidity-sydtest-1.0.1.0...
  2079. 24.17 s [genvalidity-sydtest] Warning: The documentation for the following packages are not installed. No
  2080. 24.17 s [genvalidity-sydtest] links will be generated to these packages: attoparsec-0.14.4,
  2081. 24.17 s [genvalidity-sydtest] attoparsec-0.14.4, libyaml-clib-0.2.5, path-0.9.6, path-0.9.6, vector-0.13.2.0
  2082. 24.33 s [really-safe-money] [ 9 of 12] Compiling Money.Account ( src/Money/Account.hs, dist/build/Money/Account.p_o )
  2083. 24.35 s [really-safe-money] mutation: instrumenting Money.Account
  2084. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2085. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2086. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2087. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2088. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  2089. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  2090. 24.35 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:421:32-33
  2091. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2092. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2093. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2094. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2095. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2096. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2097. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  2098. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  2099. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  2100. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  2101. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  2102. 24.35 s [really-safe-money] added mutation Negate at src/Money/Account.hs:451:14-23
  2103. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  2104. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  2105. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  2106. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  2107. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  2108. 24.35 s [really-safe-money] added mutation Negate at src/Money/Account.hs:455:14-23
  2109. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2110. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2111. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2112. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2113. 24.35 s [really-safe-money] added mutation MaybeOp at src/Money/Account.hs:523:16-25
  2114. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  2115. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  2116. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  2117. 24.35 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:495:17-18
  2118. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  2119. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  2120. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  2121. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  2122. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  2123. 24.35 s [really-safe-money] added mutation Negate at src/Money/Account.hs:495:12-18
  2124. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  2125. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  2126. 24.35 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  2127. 24.35 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:503:15-16
  2128. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  2129. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  2130. 24.35 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  2131. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  2132. 24.35 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  2133. 24.36 s [really-safe-money] added mutation Negate at src/Money/Account.hs:503:10-16
  2134. 24.36 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:233:19-20
  2135. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  2136. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  2137. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  2138. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  2139. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  2140. 24.36 s [really-safe-money] added mutation Negate at src/Money/Account.hs:233:14-20
  2141. 24.36 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  2142. 24.36 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  2143. 24.36 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:197:19-20
  2144. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  2145. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  2146. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  2147. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  2148. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  2149. 24.36 s [really-safe-money] added mutation Negate at src/Money/Account.hs:197:14-20
  2150. 24.36 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  2151. 24.36 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  2152. 24.36 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  2153. 24.36 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  2154. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  2155. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  2156. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  2157. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  2158. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  2159. 24.36 s [really-safe-money] added mutation Negate at src/Money/Account.hs:123:10-23
  2160. 24.36 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:131:25-26
  2161. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  2162. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  2163. 24.36 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  2164. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  2165. 24.36 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  2166. 24.36 s [really-safe-money] added mutation Negate at src/Money/Account.hs:131:20-26
  2167. 24.36 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  2168. 24.36 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  2169. 24.36 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  2170. 24.36 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  2171. 24.36 s [really-safe-money] added 87 mutations
  2172. 24.44 s [genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, nothing )
  2173. 24.48 s [genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, nothing )
  2174. 24.52 s [genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, nothing )
  2175. 24.53 s [genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, nothing )
  2176. 24.54 s [genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, nothing )
  2177. 24.55 s [genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, nothing )
  2178. 24.55 s [genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, nothing )
  2179. 24.56 s [genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, nothing )
  2180. 24.56 s [genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, nothing )
  2181. 24.64 s [genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, nothing )
  2182. 24.64 s [genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, nothing )
  2183. 24.65 s [genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, nothing )
  2184. 24.65 s [genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, nothing )
  2185. 24.66 s [genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, nothing )
  2186. 24.66 s [genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, nothing )
  2187. 24.67 s [genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, nothing )
  2188. 24.68 s [genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, nothing )
  2189. 24.68 s [genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, nothing )
  2190. 24.70 s [genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, nothing )
  2191. 24.74 s [genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, nothing )
  2192. 24.76 s [genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, nothing )
  2193. 24.76 s [genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, nothing )
  2194. 24.77 s [genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, nothing )
  2195. 24.77 s [genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, nothing )
  2196. 24.79 s [genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, nothing )
  2197. 24.80 s [genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, nothing )
  2198. 24.94 s [genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, nothing )
  2199. 24.95 s [genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, nothing )
  2200. 25.06 s [genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, nothing )
  2201. 25.06 s [genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, nothing )
  2202. 25.07 s [genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, nothing )
  2203. 25.08 s [genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, nothing )
  2204. 25.09 s [genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, nothing )
  2205. 25.11 s [genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, nothing )
  2206. 25.12 s [genvalidity-sydtest] Haddock coverage:
  2207. 25.12 s [genvalidity-sydtest] 50% ( 2 / 4) in 'Test.Syd.Validity.Functions.Idempotence'
  2208. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2209. 25.12 s [genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
  2210. 25.12 s [genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
  2211. 25.12 s [genvalidity-sydtest] 75% ( 3 / 4) in 'Test.Syd.Validity.Operations.Associativity'
  2212. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2213. 25.12 s [genvalidity-sydtest] Module header
  2214. 25.12 s [genvalidity-sydtest] 75% ( 3 / 4) in 'Test.Syd.Validity.Operations.Commutativity'
  2215. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2216. 25.12 s [genvalidity-sydtest] Module header
  2217. 25.12 s [genvalidity-sydtest] 64% ( 9 / 14) in 'Test.Syd.Validity.Operations.Identity'
  2218. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2219. 25.12 s [genvalidity-sydtest] Module header
  2220. 25.12 s [genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
  2221. 25.12 s [genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
  2222. 25.12 s [genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
  2223. 25.12 s [genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
  2224. 25.12 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Operations'
  2225. 25.12 s [genvalidity-sydtest] 0% ( 0 / 6) in 'Test.Syd.Validity.Property.Utils'
  2226. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2227. 25.12 s [genvalidity-sydtest] Module header
  2228. 25.12 s [genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
  2229. 25.12 s [genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
  2230. 25.12 s [genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
  2231. 25.12 s [genvalidity-sydtest] <==> (src/Test/Syd/Validity/Property/Utils.hs:21)
  2232. 25.12 s [genvalidity-sydtest] ===> (src/Test/Syd/Validity/Property/Utils.hs:18)
  2233. 25.12 s [genvalidity-sydtest] 100% ( 3 / 3) in 'Test.Syd.Validity.GenValidity.Property'
  2234. 25.12 s [genvalidity-sydtest] 40% ( 4 / 10) in 'Test.Syd.Validity.Functions.Validity'
  2235. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2236. 25.12 s [genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
  2237. 25.12 s [genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
  2238. 25.12 s [genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
  2239. 25.12 s [genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
  2240. 25.12 s [genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
  2241. 25.12 s [genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
  2242. 25.12 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Antireflexivity'
  2243. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2244. 25.12 s [genvalidity-sydtest] Module header
  2245. 25.12 s [genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
  2246. 25.12 s [genvalidity-sydtest] 50% ( 3 / 6) in 'Test.Syd.Validity.Relations.Antisymmetry'
  2247. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2248. 25.12 s [genvalidity-sydtest] Module header
  2249. 25.12 s [genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
  2250. 25.12 s [genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
  2251. 25.12 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Reflexivity'
  2252. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2253. 25.12 s [genvalidity-sydtest] Module header
  2254. 25.12 s [genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
  2255. 25.12 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Symmetry'
  2256. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2257. 25.12 s [genvalidity-sydtest] Module header
  2258. 25.12 s [genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
  2259. 25.12 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Transitivity'
  2260. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2261. 25.12 s [genvalidity-sydtest] Module header
  2262. 25.12 s [genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
  2263. 25.12 s [genvalidity-sydtest] 100% ( 6 / 6) in 'Test.Syd.Validity.Relations'
  2264. 25.12 s [genvalidity-sydtest] 100% ( 13 / 13) in 'Test.Syd.Validity.Shrinking.Property'
  2265. 25.12 s [genvalidity-sydtest] 50% ( 1 / 2) in 'Test.Syd.Validity.Types'
  2266. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2267. 25.12 s [genvalidity-sydtest] Module header
  2268. 25.12 s [genvalidity-sydtest] 15% ( 2 / 13) in 'Test.Syd.Validity.Functions.Inverse'
  2269. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2270. 25.12 s [genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
  2271. 25.12 s [genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
  2272. 25.12 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
  2273. 25.12 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
  2274. 25.12 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
  2275. 25.12 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
  2276. 25.12 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
  2277. 25.12 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
  2278. 25.12 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
  2279. 25.12 s [genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
  2280. 25.12 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
  2281. 25.12 s [genvalidity-sydtest] 7% ( 2 / 28) in 'Test.Syd.Validity.Functions.Equivalence'
  2282. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2283. 25.12 s [genvalidity-sydtest] Module header
  2284. 25.12 s [genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
  2285. 25.12 s [genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
  2286. 25.12 s [genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
  2287. 25.12 s [genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
  2288. 25.12 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
  2289. 25.12 s [genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
  2290. 25.12 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
  2291. 25.12 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
  2292. 25.12 s [genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
  2293. 25.12 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
  2294. 25.12 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
  2295. 25.12 s [genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
  2296. 25.12 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
  2297. 25.12 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
  2298. 25.12 s [genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
  2299. 25.12 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
  2300. 25.12 s [genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
  2301. 25.12 s [genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
  2302. 25.12 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
  2303. 25.12 s [genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
  2304. 25.12 s [genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
  2305. 25.12 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
  2306. 25.12 s [genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
  2307. 25.12 s [genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
  2308. 25.12 s [genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
  2309. 25.12 s [genvalidity-sydtest] 38% ( 7 / 18) in 'Test.Syd.Validity.Functions.CanFail'
  2310. 25.12 s [genvalidity-sydtest] Missing documentation for:
  2311. 25.12 s [genvalidity-sydtest] Module header
  2312. 25.12 s [genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
  2313. 25.12 s [genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
  2314. 25.12 s [genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
  2315. 25.12 s [genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
  2316. 25.12 s [genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
  2317. 25.12 s [genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
  2318. 25.12 s [genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
  2319. 25.12 s [genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
  2320. 25.12 s [genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
  2321. 25.12 s [genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
  2322. 25.12 s [genvalidity-sydtest] 100% ( 6 / 6) in 'Test.Syd.Validity.Functions'
  2323. 25.13 s [genvalidity-sydtest] 54% ( 80 /146) in 'Test.Syd.Validity.Property'
  2324. 25.13 s [genvalidity-sydtest] Missing documentation for:
  2325. 25.13 s [genvalidity-sydtest] Module header
  2326. 25.13 s [genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
  2327. 25.13 s [genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
  2328. 25.13 s [genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
  2329. 25.13 s [genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
  2330. 25.13 s [genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
  2331. 25.13 s [genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
  2332. 25.13 s [genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
  2333. 25.13 s [genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
  2334. 25.13 s [genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
  2335. 25.13 s [genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
  2336. 25.13 s [genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
  2337. 25.13 s [genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
  2338. 25.13 s [genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
  2339. 25.13 s [genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
  2340. 25.13 s [genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
  2341. 25.13 s [genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
  2342. 25.13 s [genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
  2343. 25.13 s [genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
  2344. 25.13 s [genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
  2345. 25.13 s [genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
  2346. 25.13 s [genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
  2347. 25.13 s [genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
  2348. 25.13 s [genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
  2349. 25.13 s [genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
  2350. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
  2351. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
  2352. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
  2353. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
  2354. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
  2355. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
  2356. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
  2357. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
  2358. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
  2359. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
  2360. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
  2361. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
  2362. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
  2363. 25.13 s [genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
  2364. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
  2365. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
  2366. 25.13 s [genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
  2367. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
  2368. 25.13 s [genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
  2369. 25.13 s [genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
  2370. 25.13 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
  2371. 25.13 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
  2372. 25.13 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
  2373. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
  2374. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
  2375. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
  2376. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
  2377. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
  2378. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
  2379. 25.13 s [genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
  2380. 25.13 s [genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
  2381. 25.13 s [genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
  2382. 25.13 s [genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
  2383. 25.13 s [genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
  2384. 25.13 s [genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
  2385. 25.13 s [genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
  2386. 25.13 s [genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
  2387. 25.13 s [genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
  2388. 25.13 s [genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
  2389. 25.13 s [genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
  2390. 25.13 s [genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
  2391. 25.13 s [genvalidity-sydtest] Warning: 'Spec' is out of scope.
  2392. 25.13 s [genvalidity-sydtest] If you qualify the identifier, haddock can try to link it anyway.
  2393. 25.13 s [genvalidity-sydtest] 14% ( 1 / 7) in 'Test.Syd.Validity.Utils'
  2394. 25.13 s [genvalidity-sydtest] Missing documentation for:
  2395. 25.13 s [genvalidity-sydtest] nameOf (src/Test/Syd/Validity/Utils.hs:27)
  2396. 25.13 s [genvalidity-sydtest] genDescr (src/Test/Syd/Validity/Utils.hs:38)
  2397. 25.13 s [genvalidity-sydtest] binRelStr (src/Test/Syd/Validity/Utils.hs:45)
  2398. 25.13 s [genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
  2399. 25.13 s [genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
  2400. 25.13 s [genvalidity-sydtest] Anon (src/Test/Syd/Validity/Utils.hs:49)
  2401. 25.13 s [genvalidity-sydtest] 45% ( 5 / 11) in 'Test.Syd.Validity.Shrinking'
  2402. 25.13 s [genvalidity-sydtest] Missing documentation for:
  2403. 25.13 s [genvalidity-sydtest] shrinkValidSpec (src/Test/Syd/Validity/Shrinking.hs:35)
  2404. 25.13 s [genvalidity-sydtest] shrinkValidSpecWithLimit (src/Test/Syd/Validity/Shrinking.hs:48)
  2405. 25.13 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid (src/Test/Syd/Validity/Shrinking.hs:66)
  2406. 25.13 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValidWithLimit (src/Test/Syd/Validity/Shrinking.hs:74)
  2407. 25.13 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItself (src/Test/Syd/Validity/Shrinking.hs:81)
  2408. 25.13 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItselfWithLimit (src/Test/Syd/Validity/Shrinking.hs:89)
  2409. 25.13 s [genvalidity-sydtest] 100% ( 7 / 7) in 'Test.Syd.Validity.Show'
  2410. 25.13 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Ord'
  2411. 25.13 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Monoid'
  2412. 25.13 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Monad'
  2413. 25.13 s [genvalidity-sydtest] 100% ( 5 / 5) in 'Test.Syd.Validity.GenValidity'
  2414. 25.13 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Functor'
  2415. 25.13 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Eq'
  2416. 25.13 s [genvalidity-sydtest] 100% ( 3 / 3) in 'Test.Syd.Validity.Arbitrary'
  2417. 25.13 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Applicative'
  2418. 25.13 s [genvalidity-sydtest] Warning: 'Spec' is out of scope.
  2419. 25.13 s [genvalidity-sydtest] If you qualify the identifier, haddock can try to link it anyway.
  2420. 25.13 s [genvalidity-sydtest] 63% (122 /192) in 'Test.Syd.Validity'
  2421. 25.13 s [genvalidity-sydtest] Missing documentation for:
  2422. 25.13 s [genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
  2423. 25.13 s [genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
  2424. 25.13 s [genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
  2425. 25.13 s [genvalidity-sydtest] shrinkValidSpec (src/Test/Syd/Validity/Shrinking.hs:35)
  2426. 25.13 s [genvalidity-sydtest] shrinkValidSpecWithLimit (src/Test/Syd/Validity/Shrinking.hs:48)
  2427. 25.13 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid (src/Test/Syd/Validity/Shrinking.hs:66)
  2428. 25.13 s [genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
  2429. 25.13 s [genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
  2430. 25.13 s [genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
  2431. 25.13 s [genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
  2432. 25.13 s [genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
  2433. 25.13 s [genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
  2434. 25.13 s [genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
  2435. 25.13 s [genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
  2436. 25.13 s [genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
  2437. 25.13 s [genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
  2438. 25.13 s [genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
  2439. 25.13 s [genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
  2440. 25.13 s [genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
  2441. 25.13 s [genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
  2442. 25.13 s [genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
  2443. 25.13 s [genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
  2444. 25.13 s [genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
  2445. 25.13 s [genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
  2446. 25.13 s [genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
  2447. 25.13 s [genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
  2448. 25.13 s [genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
  2449. 25.13 s [genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
  2450. 25.13 s [genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
  2451. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
  2452. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
  2453. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
  2454. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
  2455. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
  2456. 25.13 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
  2457. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
  2458. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
  2459. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
  2460. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
  2461. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
  2462. 25.13 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
  2463. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
  2464. 25.13 s [genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
  2465. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
  2466. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
  2467. 25.13 s [genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
  2468. 25.13 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
  2469. 25.13 s [genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
  2470. 25.13 s [genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
  2471. 25.13 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
  2472. 25.13 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
  2473. 25.13 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
  2474. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
  2475. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
  2476. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
  2477. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
  2478. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
  2479. 25.13 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
  2480. 25.13 s [genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
  2481. 25.13 s [genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
  2482. 25.13 s [genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
  2483. 25.13 s [genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
  2484. 25.13 s [genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
  2485. 25.13 s [genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
  2486. 25.13 s [genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
  2487. 25.13 s [genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
  2488. 25.13 s [genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
  2489. 25.13 s [genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
  2490. 25.13 s [genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
  2491. 25.13 s [genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
  2492. 25.22 s [really-safe-money] [10 of 12] Compiling Money.MultiAccount ( src/Money/MultiAccount.hs, dist/build/Money/MultiAccount.p_o )
  2493. 25.24 s [really-safe-money] mutation: instrumenting Money.MultiAccount
  2494. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  2495. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  2496. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  2497. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  2498. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  2499. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  2500. 25.24 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  2501. 25.24 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  2502. 25.24 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
  2503. 25.24 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
  2504. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  2505. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  2506. 25.24 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:134:12-29
  2507. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  2508. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  2509. 25.24 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
  2510. 25.24 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
  2511. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  2512. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  2513. 25.24 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:120:12-29
  2514. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  2515. 25.24 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  2516. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  2517. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  2518. 25.24 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:78:6-28
  2519. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  2520. 25.24 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  2521. 25.24 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:69:13-30
  2522. 25.24 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  2523. 25.24 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  2524. 25.24 s [really-safe-money] added 30 mutations
  2525. 25.80 s [really-safe-money] [11 of 12] Compiling Money.AccountOf ( src/Money/AccountOf.hs, dist/build/Money/AccountOf.p_o )
  2526. 25.96 s [really-safe-money] mutation: instrumenting Money.AccountOf
  2527. 25.96 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2528. 25.96 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2529. 25.96 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2530. 25.96 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2531. 25.96 s [really-safe-money] added 4 mutations
  2532. 26.10 s [really-safe-money] [12 of 12] Compiling Paths_really_safe_money ( dist/build/autogen/Paths_really_safe_money.hs, dist/build/Paths_really_safe_money.p_o )
  2533. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Account.dyn_o'
  2534. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AccountOf.dyn_o'
  2535. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Amount.dyn_o'
  2536. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AmountOf.dyn_o'
  2537. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRate.dyn_o'
  2538. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRateOf.dyn_o'
  2539. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Currency.dyn_o'
  2540. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAccount.dyn_o'
  2541. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAmount.dyn_o'
  2542. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor.dyn_o'
  2543. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral.dyn_o'
  2544. 26.47 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money.dyn_o'
  2545. 27.21 s [really-safe-money] mutation-nix: manifest output at /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest:
  2546. 27.21 s [really-safe-money] total 384
  2547. 27.21 s [really-safe-money] drwxr-xr-x 2 nixbld nixbld 4096 May 14 20:48 .
  2548. 27.21 s [really-safe-money] drwxrwxr-t 238 nobody nixbld 28672 May 14 20:48 ..
  2549. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 66992 May 14 20:48 Money.Account.json
  2550. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 5043 May 14 20:48 Money.AccountOf.json
  2551. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 84451 May 14 20:48 Money.Amount.json
  2552. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 4850 May 14 20:48 Money.AmountOf.json
  2553. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 12979 May 14 20:48 Money.ConversionRate.json
  2554. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.ConversionRateOf.json
  2555. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.Currency.json
  2556. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 22648 May 14 20:48 Money.MultiAccount.json
  2557. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 25712 May 14 20:48 Money.MultiAmount.json
  2558. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 18786 May 14 20:48 Money.QuantisationFactor.json
  2559. 27.22 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 88354 May 14 20:48 Numeric.DecimalLiteral.json
  2560. 27.22 s [really-safe-money] mutation-nix: building remaining components with plugin silenced
  2561. 27.25 s [really-safe-money] Preprocessing library for really-safe-money-0.0.0.0...
  2562. 27.26 s [really-safe-money] Building library for really-safe-money-0.0.0.0...
  2563. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Account.dyn_o'
  2564. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AccountOf.dyn_o'
  2565. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Amount.dyn_o'
  2566. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AmountOf.dyn_o'
  2567. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRate.dyn_o'
  2568. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRateOf.dyn_o'
  2569. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Currency.dyn_o'
  2570. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAccount.dyn_o'
  2571. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAmount.dyn_o'
  2572. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor.dyn_o'
  2573. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral.dyn_o'
  2574. 28.63 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money.dyn_o'
  2575. 29.35 s [really-safe-money] Phase: haddockPhase
  2576. 29.36 s [really-safe-money] Phase: installPhase
  2577. 29.39 s [really-safe-money] Installing library in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2578. 29.68 s [really-safe-money] Phase: fixupPhase
  2579. 29.70 s [really-safe-money] shrinking RPATHs of ELF executables and libraries in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0
  2580. 29.71 s [really-safe-money] shrinking /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9-ghc9.10.3.so
  2581. 29.72 s [really-safe-money] checking for references to /build/ in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0...
  2582. 29.75 s [really-safe-money] patching script interpreter paths in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0
  2583. 29.75 s [really-safe-money] stripping (with command strip and flags -S -p) in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/bin
  2584. 29.90 s [really-safe-money] shrinking RPATHs of ELF executables and libraries in /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
  2585. 29.90 s [really-safe-money] checking for references to /build/ in /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest...
  2586. 29.91 s [really-safe-money] patching script interpreter paths in /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
  2587. 30.00 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
  2588. 30.66 s [post-build-hook] Pushing 2 paths (195 are already present) using zstd to cache sydtest ⏳
  2589. 30.66 s [post-build-hook]
  2590. 31.03 s [post-build-hook] Pushing /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 (14.97 MiB)
  2591. 31.07 s [post-build-hook] Pushing /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest (324.41 KiB)
  2592. 32.33 s [post-build-hook]
  2593. 32.33 s [post-build-hook] All done.
  2594. 32.35 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
  2595. 32.39 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2596. 32.41 s [post-build-hook] copying 2 paths...
  2597. 32.41 s [post-build-hook] copying path '/nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest' to 'https://cache.staging.nix-ci.com'...
  2598. 32.41 s [post-build-hook] copying path '/nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2599. 39.25 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2600. 39.51 s [post-build-hook] copying 1 paths...
  2601. 39.53 s [post-build-hook] copying path '/nix/store/phqyd3bacjjjmqx6hm12wfmm8syacbiy-really-safe-money-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2602. 39.70 s Progress: 2 of 9 built (1 building)
  2603. 39.74 s Building really-safe-money-autodocodec-source
  2604. 39.78 s Building really-safe-money-gen-source
  2605. 39.78 s [genvalidity-sydtest] Documentation created: dist/doc/html/genvalidity-sydtest/,
  2606. 39.78 s [genvalidity-sydtest] dist/doc/html/genvalidity-sydtest/genvalidity-sydtest.txt
  2607. 39.78 s [genvalidity-sydtest] Preprocessing test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
  2608. 39.78 s [genvalidity-sydtest] Phase: installPhase
  2609. 39.78 s [genvalidity-sydtest] Installing library in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  2610. 39.78 s [genvalidity-sydtest] Phase: fixupPhase
  2611. 39.78 s [genvalidity-sydtest] shrinking RPATHs of ELF executables and libraries in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0
  2612. 39.78 s [genvalidity-sydtest] shrinking /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSgenvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v-ghc9.10.3.so
  2613. 39.78 s [genvalidity-sydtest] checking for references to /build/ in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0...
  2614. 39.78 s [genvalidity-sydtest] patching script interpreter paths in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0
  2615. 39.78 s [genvalidity-sydtest] stripping (with command strip and flags -S -p) in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib
  2616. 39.78 s [genvalidity-sydtest] shrinking RPATHs of ELF executables and libraries in /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
  2617. 39.78 s [genvalidity-sydtest] checking for references to /build/ in /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc...
  2618. 39.78 s [genvalidity-sydtest] patching script interpreter paths in /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
  2619. 39.90 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
  2620. 40.37 s [post-build-hook] Pushing 2 paths (267 are already present) using zstd to cache sydtest ⏳
  2621. 40.37 s [post-build-hook]
  2622. 40.76 s [post-build-hook] Pushing /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 (6.60 MiB)
  2623. 40.76 s [post-build-hook] Pushing /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc (3.78 MiB)
  2624. 42.51 s [post-build-hook]
  2625. 42.51 s [post-build-hook] All done.
  2626. 42.54 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
  2627. 42.58 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2628. 42.77 s [post-build-hook] copying 2 paths...
  2629. 42.77 s [post-build-hook] copying path '/nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc' to 'https://cache.staging.nix-ci.com'...
  2630. 43.27 s [post-build-hook] copying path '/nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0' to 'https://cache.staging.nix-ci.com'...
  2631. 44.73 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2632. 44.97 s [post-build-hook] copying 1 paths...
  2633. 45.00 s [post-build-hook] copying path '/nix/store/vyb913g6xlayrn5aqljqvsg8v1fglmsq-genvalidity-sydtest-1.0.1.0.drv' to 'https://cache.staging.nix-ci.com'...
  2634. 45.29 s Progress: 3 of 8 built (2 building)
  2635. 45.29 s [really-safe-money-autodocodec-source] Phase: setupCompilerEnvironmentPhase
  2636. 45.29 s [really-safe-money-autodocodec-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  2637. 45.29 s [really-safe-money-autodocodec-source] Phase: unpackPhase
  2638. 45.29 s [really-safe-money-autodocodec-source] unpacking source archive /nix/store/8krpxqimxqvympfqdqxg1jzjg2jrcglb-really-safe-money-autodocodec
  2639. 45.29 s [really-safe-money-autodocodec-source] source root is really-safe-money-autodocodec
  2640. 45.29 s [really-safe-money-autodocodec-source] Phase: patchPhase
  2641. 45.29 s [really-safe-money-autodocodec-source] Phase: compileBuildDriverPhase
  2642. 45.29 s [really-safe-money-autodocodec-source] setupCompileFlags: -package-db=/build/tmp.sTZI5H8p1o/setup-package.conf.d -threaded
  2643. 45.29 s [really-safe-money-autodocodec-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.sTZI5H8p1o/Main.o )
  2644. 45.29 s [really-safe-money-autodocodec-source] [2 of 2] Linking Setup
  2645. 45.29 s [really-safe-money-autodocodec-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  2646. 45.29 s [really-safe-money-autodocodec-source] Phase: configurePhase
  2647. 45.29 s [really-safe-money-autodocodec-source] configureFlags: --verbose --prefix=/nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/really-safe-money-autodocodec-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.sTZI5H8p1o/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
  2648. 45.29 s [really-safe-money-autodocodec-source] Using Parsec parser
  2649. 45.29 s [really-safe-money-autodocodec-source] Configuring really-safe-money-autodocodec-0.0.0.0...
  2650. 45.29 s [really-safe-money-autodocodec-source] Dependency autodocodec: using autodocodec-0.5.0.0
  2651. 45.29 s [really-safe-money-autodocodec-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  2652. 45.29 s [really-safe-money-autodocodec-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2653. 45.29 s [really-safe-money-autodocodec-source] Source component graph: component lib
  2654. 45.29 s [really-safe-money-autodocodec-source] Configured component graph:
  2655. 45.29 s [really-safe-money-autodocodec-source] component really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2656. 45.29 s [really-safe-money-autodocodec-source] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2657. 45.29 s [really-safe-money-autodocodec-source] include base-4.20.2.0-64da
  2658. 45.29 s [really-safe-money-autodocodec-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2659. 45.29 s [really-safe-money-autodocodec-source] Linked component graph:
  2660. 45.29 s [really-safe-money-autodocodec-source] unit really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2661. 45.29 s [really-safe-money-autodocodec-source] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2662. 45.29 s [really-safe-money-autodocodec-source] include base-4.20.2.0-64da
  2663. 45.29 s [really-safe-money-autodocodec-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2664. 45.29 s [really-safe-money-autodocodec-source] Money.Account.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Account.Codec,Money.AccountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AccountOf.Codec,Money.Amount.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Amount.Codec,Money.AmountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AmountOf.Codec,Money.QuantisationFactor.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.QuantisationFactor.Codec,Numeric.DecimalLiteral.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Numeric.DecimalLiteral.Codec
  2665. 45.29 s [really-safe-money-autodocodec-source] Ready component graph:
  2666. 45.29 s [really-safe-money-autodocodec-source] definite really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2667. 45.29 s [really-safe-money-gen-source] Phase: setupCompilerEnvironmentPhase
  2668. 45.29 s [really-safe-money-gen-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  2669. 45.29 s [really-safe-money-gen-source] Phase: unpackPhase
  2670. 45.29 s [really-safe-money-gen-source] unpacking source archive /nix/store/igm3hbdpcwgfbdx9yjyf6d68w1ifih08-really-safe-money-gen
  2671. 45.29 s [really-safe-money-gen-source] source root is really-safe-money-gen
  2672. 45.29 s [really-safe-money-gen-source] Phase: patchPhase
  2673. 45.29 s [really-safe-money-gen-source] Phase: compileBuildDriverPhase
  2674. 45.29 s [really-safe-money-gen-source] setupCompileFlags: -package-db=/build/tmp.xQZfRndquY/setup-package.conf.d -threaded
  2675. 45.29 s [really-safe-money-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.xQZfRndquY/Main.o )
  2676. 45.29 s [really-safe-money-gen-source] [2 of 2] Linking Setup
  2677. 45.29 s [really-safe-money-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  2678. 45.29 s [really-safe-money-gen-source] Phase: configurePhase
  2679. 45.29 s [really-safe-money-gen-source] configureFlags: --verbose --prefix=/nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/really-safe-money-gen-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.xQZfRndquY/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
  2680. 45.29 s [really-safe-money-gen-source] Using Parsec parser
  2681. 45.29 s [really-safe-money-gen-source] Configuring really-safe-money-gen-0.0.0.0...
  2682. 45.29 s [really-safe-money-gen-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  2683. 45.29 s [really-safe-money-gen-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  2684. 45.29 s [really-safe-money-gen-source] Dependency genvalidity: using genvalidity-1.1.1.0
  2685. 45.29 s [really-safe-money-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  2686. 45.29 s [really-safe-money-gen-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2687. 45.30 s [really-safe-money-gen-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  2688. 45.30 s [really-safe-money-gen-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  2689. 45.30 s [really-safe-money-gen-source] Dependency criterion: using criterion-1.6.4.0
  2690. 45.30 s [really-safe-money-gen-source] Dependency deepseq: using deepseq-1.5.0.0
  2691. 45.30 s [really-safe-money-gen-source] Dependency genvalidity: using genvalidity-1.1.1.0
  2692. 45.30 s [really-safe-money-gen-source] Dependency genvalidity-criterion: using genvalidity-criterion-1.1.0.0
  2693. 45.30 s [really-safe-money-gen-source] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
  2694. 45.30 s [really-safe-money-gen-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2695. 45.30 s [really-safe-money-gen-source] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
  2696. 45.30 s [really-safe-money-gen-source] Dependency vector: using vector-0.13.2.0
  2697. 45.30 s [really-safe-money-gen-source] Source component graph:
  2698. 45.30 s [really-safe-money-gen-source] component lib
  2699. 45.30 s [really-safe-money-gen-source] component bench:really-safe-money-bench dependency lib
  2700. 45.30 s [really-safe-money-gen-source] Configured component graph:
  2701. 45.30 s [really-safe-money-gen-source] component really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2702. 45.30 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2703. 45.30 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2704. 45.30 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2705. 45.30 s [really-safe-money-gen-source] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  2706. 45.30 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2707. 45.30 s [really-safe-money-gen-source] component really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
  2708. 45.30 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2709. 45.30 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2710. 45.30 s [really-safe-money-autodocodec-source] depends autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2711. 45.30 s [really-safe-money-autodocodec-source] depends base-4.20.2.0-64da
  2712. 45.30 s [really-safe-money-autodocodec-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2713. 45.30 s [really-safe-money-autodocodec-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
  2714. 45.30 s [really-safe-money-autodocodec-source] Using compiler: ghc-9.10.3
  2715. 45.30 s [really-safe-money-autodocodec-source] Using install prefix:
  2716. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0
  2717. 45.30 s [really-safe-money-autodocodec-source] Executables installed in:
  2718. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/bin
  2719. 45.30 s [really-safe-money-autodocodec-source] Libraries installed in:
  2720. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2721. 45.30 s [really-safe-money-autodocodec-source] Dynamic Libraries installed in:
  2722. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  2723. 45.30 s [really-safe-money-autodocodec-source] Private executables installed in:
  2724. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
  2725. 45.30 s [really-safe-money-autodocodec-source] Data files installed in:
  2726. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
  2727. 45.30 s [really-safe-money-autodocodec-source] Documentation installed in: /share/doc/really-safe-money-autodocodec-0.0.0.0
  2728. 45.30 s [really-safe-money-autodocodec-source] Configuration files installed in:
  2729. 45.30 s [really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/etc
  2730. 45.30 s [really-safe-money-autodocodec-source] No alex found
  2731. 45.30 s [really-safe-money-autodocodec-source] Using ar found on system at:
  2732. 45.30 s [really-safe-money-autodocodec-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2733. 45.30 s [really-safe-money-autodocodec-source] No c2hs found
  2734. 45.30 s [really-safe-money-autodocodec-source] No cpphs found
  2735. 45.30 s [really-safe-money-autodocodec-source] No doctest found
  2736. 45.30 s [really-safe-money-autodocodec-source] Using gcc version 14.3.0 given by user at:
  2737. 45.30 s [really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2738. 45.30 s [really-safe-money-autodocodec-source] Using ghc version 9.10.3 found on system at:
  2739. 45.30 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  2740. 45.30 s [really-safe-money-autodocodec-source] Using ghc-pkg version 9.10.3 found on system at:
  2741. 45.30 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  2742. 45.30 s [really-safe-money-autodocodec-source] No ghcjs found
  2743. 45.30 s [really-safe-money-autodocodec-source] No ghcjs-pkg found
  2744. 45.30 s [really-safe-money-autodocodec-source] No greencard found
  2745. 45.30 s [really-safe-money-autodocodec-source] Using haddock version 2.31.1 found on system at:
  2746. 45.30 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  2747. 45.30 s [really-safe-money-autodocodec-source] No happy found
  2748. 45.30 s [really-safe-money-autodocodec-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  2749. 45.30 s [really-safe-money-autodocodec-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  2750. 45.30 s [really-safe-money-autodocodec-source] No hmake found
  2751. 45.30 s [really-safe-money-autodocodec-source] Using hpc version 0.69 found on system at:
  2752. 45.30 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  2753. 45.30 s [really-safe-money-autodocodec-source] Using hsc2hs version 0.68.10 found on system at:
  2754. 45.30 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  2755. 45.30 s [really-safe-money-autodocodec-source] Using hscolour version 1.25 found on system at:
  2756. 45.30 s [really-safe-money-autodocodec-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  2757. 45.30 s [really-safe-money-autodocodec-source] No jhc found
  2758. 45.30 s [really-safe-money-autodocodec-source] Using ld found on system at:
  2759. 45.30 s [really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  2760. 45.30 s [really-safe-money-autodocodec-source] No pkg-config found
  2761. 45.30 s [really-safe-money-autodocodec-source] Using runghc version 9.10.3 found on system at:
  2762. 45.30 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  2763. 45.30 s [really-safe-money-autodocodec-source] Using strip version 2.44 found on system at:
  2764. 45.30 s [really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  2765. 45.30 s [really-safe-money-autodocodec-source] Using tar found on system at:
  2766. 45.30 s [really-safe-money-autodocodec-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  2767. 45.30 s [really-safe-money-autodocodec-source] No uhc found
  2768. 45.30 s [really-safe-money-autodocodec-source] Phase: buildPhase
  2769. 45.30 s [really-safe-money-autodocodec-source] Distribution quality errors:
  2770. 45.30 s [really-safe-money-autodocodec-source] [no-syn-desc] No 'synopsis' or 'description' field.
  2771. 45.30 s [really-safe-money-autodocodec-source] Distribution quality warnings:
  2772. 45.30 s [really-safe-money-autodocodec-source] [no-category] No 'category' field.
  2773. 45.30 s [really-safe-money-autodocodec-source] [no-maintainer] No 'maintainer' field.
  2774. 45.30 s [really-safe-money-autodocodec-source] [all-rights-reserved] The 'license' is AllRightsReserved. Is that really what
  2775. 45.30 s [really-safe-money-autodocodec-source] you want?
  2776. 45.30 s [really-safe-money-autodocodec-source] [missing-upper-bounds] On library, these packages miss upper bounds:
  2777. 45.30 s [really-safe-money-autodocodec-source] - autodocodec
  2778. 45.30 s [really-safe-money-autodocodec-source] - really-safe-money
  2779. 45.30 s [really-safe-money-autodocodec-source] Please add them. There is more information at https://pvp.haskell.org/
  2780. 45.30 s [really-safe-money-autodocodec-source] Note: the public hackage server would reject this package.
  2781. 45.30 s [really-safe-money-autodocodec-source] Building source dist for really-safe-money-autodocodec-0.0.0.0...
  2782. 45.30 s [really-safe-money-autodocodec-source] Source tarball created: dist/really-safe-money-autodocodec-0.0.0.0.tar.gz
  2783. 45.30 s [really-safe-money-autodocodec-source] Phase: haddockPhase
  2784. 45.30 s [really-safe-money-autodocodec-source] Phase: installPhase
  2785. 45.30 s [really-safe-money-autodocodec-source] Phase: fixupPhase
  2786. 45.30 s [really-safe-money-gen-source] include criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
  2787. 45.30 s [really-safe-money-gen-source] include deepseq-1.5.0.0-9a2c
  2788. 45.30 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2789. 45.30 s [really-safe-money-gen-source] include genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
  2790. 45.30 s [really-safe-money-gen-source] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  2791. 45.30 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2792. 45.30 s [really-safe-money-gen-source] include really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2793. 45.30 s [really-safe-money-gen-source] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  2794. 45.30 s [really-safe-money-gen-source] Linked component graph:
  2795. 45.30 s [really-safe-money-gen-source] unit really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2796. 45.30 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2797. 45.30 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2798. 45.30 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2799. 45.30 s [really-safe-money-gen-source] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  2800. 45.30 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2801. 45.30 s [really-safe-money-gen-source] Money.Account.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Account.Gen,Money.AccountOf.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.AccountOf.Gen,Money.Amount.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Amount.Gen,Money.AmountOf.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.AmountOf.Gen,Money.ConversionRate.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.ConversionRate.Gen,Money.ConversionRateOf.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.ConversionRateOf.Gen,Money.Currency.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Currency.Gen,Money.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Gen,Money.MultiAccount.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.MultiAccount.Gen,Money.MultiAmount.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.MultiAmount.Gen,Money.QuantisationFactor.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.QuantisationFactor.Gen,Numeric.DecimalLiteral.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Numeric.DecimalLiteral.Gen
  2802. 45.30 s [really-safe-money-gen-source] unit really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
  2803. 45.30 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2804. 45.30 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2805. 45.30 s [really-safe-money-gen-source] include criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
  2806. 45.30 s [really-safe-money-gen-source] include deepseq-1.5.0.0-9a2c
  2807. 45.30 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2808. 45.30 s [really-safe-money-gen-source] include genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
  2809. 45.30 s [really-safe-money-gen-source] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  2810. 45.30 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2811. 45.30 s [really-safe-money-gen-source] include really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2812. 45.30 s [really-safe-money-gen-source] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  2813. 45.30 s [really-safe-money-gen-source] Ready component graph:
  2814. 45.30 s [really-safe-money-gen-source] definite really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2815. 45.30 s [really-safe-money-gen-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2816. 45.30 s [really-safe-money-gen-source] depends base-4.20.2.0-64da
  2817. 45.30 s [really-safe-money-gen-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2818. 45.30 s [really-safe-money-gen-source] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  2819. 45.30 s [really-safe-money-gen-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2820. 45.30 s [really-safe-money-gen-source] definite really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
  2821. 45.30 s [really-safe-money-gen-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2822. 45.30 s [really-safe-money-gen-source] depends base-4.20.2.0-64da
  2823. 45.30 s [really-safe-money-gen-source] depends criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
  2824. 45.30 s [really-safe-money-gen-source] depends deepseq-1.5.0.0-9a2c
  2825. 45.30 s [really-safe-money-gen-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2826. 45.30 s [really-safe-money-gen-source] depends genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
  2827. 45.30 s [really-safe-money-gen-source] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  2828. 45.30 s [really-safe-money-gen-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2829. 45.30 s [really-safe-money-gen-source] depends really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2830. 45.30 s [really-safe-money-gen-source] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  2831. 45.30 s [really-safe-money-gen-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
  2832. 45.30 s [really-safe-money-gen-source] Using compiler: ghc-9.10.3
  2833. 45.30 s [really-safe-money-gen-source] Using install prefix:
  2834. 45.30 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0
  2835. 45.30 s [really-safe-money-gen-source] Executables installed in:
  2836. 45.30 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/bin
  2837. 45.30 s [really-safe-money-gen-source] Libraries installed in:
  2838. 45.32 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0
  2839. 45.69 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
  2840. 45.69 s [post-build-hook]
  2841. 46.04 s [post-build-hook] Pushing /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0 (5.45 KiB)
  2842. 47.02 s [post-build-hook]
  2843. 47.02 s [post-build-hook] All done.
  2844. 47.04 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0
  2845. 47.08 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2846. 47.09 s [post-build-hook] copying 1 paths...
  2847. 47.09 s [post-build-hook] copying path '/nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2848. 47.36 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2849. 47.62 s [post-build-hook] copying 1 paths...
  2850. 47.62 s [post-build-hook] copying path '/nix/store/qls9bk343mfnmswm65x7gmls3q5qy6n0-really-safe-money-autodocodec-source-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2851. 47.82 s Progress: 4 of 8 built (1 building)
  2852. 47.82 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2853. 47.82 s [really-safe-money-gen-source] Dynamic Libraries installed in:
  2854. 47.82 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  2855. 47.82 s [really-safe-money-gen-source] Private executables installed in:
  2856. 47.82 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
  2857. 47.82 s [really-safe-money-gen-source] Data files installed in:
  2858. 47.82 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
  2859. 47.82 s [really-safe-money-gen-source] Documentation installed in: /share/doc/really-safe-money-gen-0.0.0.0
  2860. 47.82 s [really-safe-money-gen-source] Configuration files installed in:
  2861. 47.82 s [really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/etc
  2862. 47.82 s [really-safe-money-gen-source] No alex found
  2863. 47.82 s [really-safe-money-gen-source] Using ar found on system at:
  2864. 47.82 s [really-safe-money-gen-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2865. 47.82 s [really-safe-money-gen-source] No c2hs found
  2866. 47.82 s [really-safe-money-gen-source] No cpphs found
  2867. 47.82 s [really-safe-money-gen-source] No doctest found
  2868. 47.82 s [really-safe-money-gen-source] Using gcc version 14.3.0 given by user at:
  2869. 47.82 s [really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2870. 47.82 s [really-safe-money-gen-source] Using ghc version 9.10.3 found on system at:
  2871. 47.82 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  2872. 47.82 s [really-safe-money-gen-source] Using ghc-pkg version 9.10.3 found on system at:
  2873. 47.82 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  2874. 47.82 s [really-safe-money-gen-source] No ghcjs found
  2875. 47.82 s [really-safe-money-gen-source] No ghcjs-pkg found
  2876. 47.82 s [really-safe-money-gen-source] No greencard found
  2877. 47.82 s [really-safe-money-gen-source] Using haddock version 2.31.1 found on system at:
  2878. 47.82 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  2879. 47.82 s [really-safe-money-gen-source] No happy found
  2880. 47.82 s [really-safe-money-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  2881. 47.82 s [really-safe-money-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  2882. 47.82 s [really-safe-money-gen-source] No hmake found
  2883. 47.82 s [really-safe-money-gen-source] Using hpc version 0.69 found on system at:
  2884. 47.82 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  2885. 47.82 s [really-safe-money-gen-source] Using hsc2hs version 0.68.10 found on system at:
  2886. 47.82 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  2887. 47.82 s [really-safe-money-gen-source] Using hscolour version 1.25 found on system at:
  2888. 47.82 s [really-safe-money-gen-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  2889. 47.82 s [really-safe-money-gen-source] No jhc found
  2890. 47.82 s [really-safe-money-gen-source] Using ld found on system at:
  2891. 47.82 s [really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  2892. 47.82 s [really-safe-money-gen-source] No pkg-config found
  2893. 47.82 s [really-safe-money-gen-source] Using runghc version 9.10.3 found on system at:
  2894. 47.82 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  2895. 47.82 s [really-safe-money-gen-source] Using strip version 2.44 found on system at:
  2896. 47.82 s [really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  2897. 47.82 s [really-safe-money-gen-source] Using tar found on system at:
  2898. 47.82 s [really-safe-money-gen-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  2899. 47.82 s [really-safe-money-gen-source] No uhc found
  2900. 47.82 s [really-safe-money-gen-source] Phase: buildPhase
  2901. 47.82 s [really-safe-money-gen-source] Distribution quality errors:
  2902. 47.82 s [really-safe-money-gen-source] [no-syn-desc] No 'synopsis' or 'description' field.
  2903. 47.82 s [really-safe-money-gen-source] Distribution quality warnings:
  2904. 47.82 s [really-safe-money-gen-source] [no-category] No 'category' field.
  2905. 47.82 s [really-safe-money-gen-source] [no-maintainer] No 'maintainer' field.
  2906. 47.82 s [really-safe-money-gen-source] [all-rights-reserved] The 'license' is AllRightsReserved. Is that really what
  2907. 47.82 s [really-safe-money-gen-source] you want?
  2908. 47.82 s [really-safe-money-gen-source] [missing-upper-bounds] On library, these packages miss upper bounds:
  2909. 47.82 s [really-safe-money-gen-source] - QuickCheck
  2910. 47.82 s [really-safe-money-gen-source] - genvalidity
  2911. 47.82 s [really-safe-money-gen-source] - genvalidity-containers
  2912. 47.82 s [really-safe-money-gen-source] - really-safe-money
  2913. 47.82 s [really-safe-money-gen-source] Please add them. There is more information at https://pvp.haskell.org/
  2914. 47.82 s [really-safe-money-gen-source] Note: the public hackage server would reject this package.
  2915. 47.82 s [really-safe-money-gen-source] Building source dist for really-safe-money-gen-0.0.0.0...
  2916. 47.82 s [really-safe-money-gen-source] Source tarball created: dist/really-safe-money-gen-0.0.0.0.tar.gz
  2917. 47.82 s [really-safe-money-gen-source] Phase: haddockPhase
  2918. 47.82 s [really-safe-money-gen-source] Phase: installPhase
  2919. 47.82 s [really-safe-money-gen-source] Phase: fixupPhase
  2920. 47.86 s Building really-safe-money-autodocodec
  2921. 47.89 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0
  2922. 48.27 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
  2923. 48.27 s [post-build-hook]
  2924. 48.64 s [post-build-hook] Pushing /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0 (16.64 KiB)
  2925. 49.89 s [post-build-hook]
  2926. 49.89 s [post-build-hook] All done.
  2927. 49.91 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0
  2928. 49.95 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2929. 49.96 s [post-build-hook] copying 1 paths...
  2930. 49.96 s [post-build-hook] copying path '/nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2931. 51.37 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2932. 51.61 s [post-build-hook] copying 1 paths...
  2933. 51.68 s [post-build-hook] copying path '/nix/store/skdvnfmfc11mka4xdbjs368x1rqbhnr5-really-safe-money-gen-source-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2934. 51.84 s Progress: 5 of 8 built (1 building)
  2935. 51.84 s [really-safe-money-autodocodec] Phase: setupCompilerEnvironmentPhase
  2936. 51.84 s [really-safe-money-autodocodec] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  2937. 51.84 s [really-safe-money-autodocodec] Phase: unpackPhase
  2938. 51.84 s [really-safe-money-autodocodec] unpacking source archive /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/really-safe-money-autodocodec-0.0.0.0.tar.gz
  2939. 51.84 s [really-safe-money-autodocodec] source root is really-safe-money-autodocodec-0.0.0.0
  2940. 51.84 s [really-safe-money-autodocodec] setting SOURCE_DATE_EPOCH to timestamp 1778791720 of file "really-safe-money-autodocodec-0.0.0.0/test/Spec.hs"
  2941. 51.84 s [really-safe-money-autodocodec] warning: file "really-safe-money-autodocodec-0.0.0.0/test/Spec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
  2942. 51.84 s [really-safe-money-autodocodec] Phase: patchPhase
  2943. 51.84 s [really-safe-money-autodocodec] Phase: compileBuildDriverPhase
  2944. 51.84 s [really-safe-money-autodocodec] setupCompileFlags: -package-db=/build/tmp.bJcmUyitPK/setup-package.conf.d -threaded
  2945. 51.84 s [really-safe-money-autodocodec] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.bJcmUyitPK/Main.o )
  2946. 51.84 s [really-safe-money-autodocodec] [2 of 2] Linking Setup
  2947. 51.84 s [really-safe-money-autodocodec] Phase: updateAutotoolsGnuConfigScriptsPhase
  2948. 51.84 s [really-safe-money-autodocodec] Phase: configurePhase
  2949. 51.84 s [really-safe-money-autodocodec] configureFlags: --verbose --prefix=/nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.bJcmUyitPK/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --disable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --ghc-options=-fplugin-opt=Test.Syd.Mutation.Plugin:--debug --disable-optimization --ghc-option=-j1 --ghc-option=+RTS --ghc-option=-A32M --ghc-option=-M16g --ghc-option=-RTS --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
  2950. 51.84 s [really-safe-money-autodocodec] Using Parsec parser
  2951. 51.84 s [really-safe-money-autodocodec] Configuring really-safe-money-autodocodec-0.0.0.0...
  2952. 51.84 s [really-safe-money-autodocodec] Dependency autodocodec: using autodocodec-0.5.0.0
  2953. 51.84 s [really-safe-money-autodocodec] Dependency base >=4.7 && <5: using base-4.20.2.0
  2954. 51.84 s [really-safe-money-autodocodec] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2955. 51.84 s [really-safe-money-autodocodec] Source component graph: component lib
  2956. 51.84 s [really-safe-money-autodocodec] Configured component graph:
  2957. 51.84 s [really-safe-money-autodocodec] component really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2958. 51.84 s [really-safe-money-autodocodec] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2959. 51.84 s [really-safe-money-autodocodec] include base-4.20.2.0-64da
  2960. 51.84 s [really-safe-money-autodocodec] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2961. 51.84 s [really-safe-money-autodocodec] Linked component graph:
  2962. 51.84 s [really-safe-money-autodocodec] unit really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2963. 51.84 s [really-safe-money-autodocodec] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2964. 51.84 s [really-safe-money-autodocodec] include base-4.20.2.0-64da
  2965. 51.84 s [really-safe-money-autodocodec] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2966. 51.84 s [really-safe-money-autodocodec] Money.Account.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Account.Codec,Money.AccountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AccountOf.Codec,Money.Amount.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Amount.Codec,Money.AmountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AmountOf.Codec,Money.QuantisationFactor.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.QuantisationFactor.Codec,Numeric.DecimalLiteral.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Numeric.DecimalLiteral.Codec
  2967. 51.84 s [really-safe-money-autodocodec] Ready component graph:
  2968. 51.84 s [really-safe-money-autodocodec] definite really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2969. 51.84 s [really-safe-money-autodocodec] depends autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2970. 51.84 s [really-safe-money-autodocodec] depends base-4.20.2.0-64da
  2971. 51.84 s [really-safe-money-autodocodec] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2972. 51.84 s [really-safe-money-autodocodec] Using Cabal-3.12.1.0 compiled by ghc-9.10
  2973. 51.84 s [really-safe-money-autodocodec] Using compiler: ghc-9.10.3
  2974. 51.84 s [really-safe-money-autodocodec] Using install prefix:
  2975. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0
  2976. 51.84 s [really-safe-money-autodocodec] Executables installed in:
  2977. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/bin
  2978. 51.84 s [really-safe-money-autodocodec] Libraries installed in:
  2979. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2980. 51.84 s [really-safe-money-autodocodec] Dynamic Libraries installed in:
  2981. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  2982. 51.84 s [really-safe-money-autodocodec] Private executables installed in:
  2983. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
  2984. 51.84 s [really-safe-money-autodocodec] Data files installed in:
  2985. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
  2986. 51.84 s [really-safe-money-autodocodec] Documentation installed in:
  2987. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/share/doc/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
  2988. 51.84 s [really-safe-money-autodocodec] Configuration files installed in:
  2989. 51.84 s [really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/etc
  2990. 51.84 s [really-safe-money-autodocodec] No alex found
  2991. 51.84 s [really-safe-money-autodocodec] Using ar found on system at:
  2992. 51.84 s [really-safe-money-autodocodec] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2993. 51.84 s [really-safe-money-autodocodec] No c2hs found
  2994. 51.84 s [really-safe-money-autodocodec] No cpphs found
  2995. 51.84 s [really-safe-money-autodocodec] No doctest found
  2996. 51.84 s [really-safe-money-autodocodec] Using gcc version 14.3.0 given by user at:
  2997. 51.84 s [really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2998. 51.84 s [really-safe-money-autodocodec] Using ghc version 9.10.3 found on system at:
  2999. 51.84 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  3000. 51.84 s [really-safe-money-autodocodec] Using ghc-pkg version 9.10.3 found on system at:
  3001. 51.84 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  3002. 51.84 s [really-safe-money-autodocodec] No ghcjs found
  3003. 51.84 s [really-safe-money-autodocodec] No ghcjs-pkg found
  3004. 51.84 s [really-safe-money-autodocodec] No greencard found
  3005. 51.84 s [really-safe-money-autodocodec] Using haddock version 2.31.1 found on system at:
  3006. 51.84 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  3007. 51.84 s [really-safe-money-autodocodec] No happy found
  3008. 51.84 s [really-safe-money-autodocodec] Using haskell-suite found on system at: haskell-suite-dummy-location
  3009. 51.84 s [really-safe-money-autodocodec] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  3010. 51.84 s [really-safe-money-autodocodec] No hmake found
  3011. 51.84 s [really-safe-money-autodocodec] Using hpc version 0.69 found on system at:
  3012. 51.84 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  3013. 51.84 s [really-safe-money-autodocodec] Using hsc2hs version 0.68.10 found on system at:
  3014. 51.84 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  3015. 51.84 s [really-safe-money-autodocodec] Using hscolour version 1.25 found on system at:
  3016. 51.84 s [really-safe-money-autodocodec] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  3017. 51.84 s [really-safe-money-autodocodec] No jhc found
  3018. 51.84 s [really-safe-money-autodocodec] Using ld found on system at:
  3019. 51.84 s [really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  3020. 51.84 s [really-safe-money-autodocodec] No pkg-config found
  3021. 51.84 s [really-safe-money-autodocodec] Using runghc version 9.10.3 found on system at:
  3022. 51.84 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  3023. 51.84 s [really-safe-money-autodocodec] Using strip version 2.44 found on system at:
  3024. 51.84 s [really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  3025. 51.84 s [really-safe-money-autodocodec] Using tar found on system at:
  3026. 51.84 s [really-safe-money-autodocodec] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  3027. 51.84 s [really-safe-money-autodocodec] No uhc found
  3028. 51.84 s [really-safe-money-autodocodec] Phase: buildPhase
  3029. 51.84 s [really-safe-money-autodocodec] mutation-nix: setting MUTATION_MANIFEST_DIR=/nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
  3030. 51.84 s [really-safe-money-autodocodec] Preprocessing library for really-safe-money-autodocodec-0.0.0.0...
  3031. 51.84 s [really-safe-money-autodocodec] Building library for really-safe-money-autodocodec-0.0.0.0...
  3032. 51.84 s [really-safe-money-autodocodec] [1 of 7] Compiling Money.Account.Codec ( src/Money/Account/Codec.hs, dist/build/Money/Account/Codec.o, dist/build/Money/Account/Codec.dyn_o )
  3033. 51.84 s [really-safe-money-autodocodec] mutation: instrumenting Money.Account.Codec
  3034. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3035. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3036. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3037. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3038. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3039. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3040. 51.84 s [really-safe-money-autodocodec] added 6 mutations
  3041. 51.84 s [really-safe-money-autodocodec] [2 of 7] Compiling Money.AccountOf.Codec ( src/Money/AccountOf/Codec.hs, dist/build/Money/AccountOf/Codec.o, dist/build/Money/AccountOf/Codec.dyn_o )
  3042. 51.84 s [really-safe-money-autodocodec] mutation: instrumenting Money.AccountOf.Codec
  3043. 51.84 s [really-safe-money-autodocodec] added 0 mutations
  3044. 51.84 s [really-safe-money-autodocodec] [3 of 7] Compiling Money.Amount.Codec ( src/Money/Amount/Codec.hs, dist/build/Money/Amount/Codec.o, dist/build/Money/Amount/Codec.dyn_o )
  3045. 51.84 s [really-safe-money-autodocodec] mutation: instrumenting Money.Amount.Codec
  3046. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3047. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3048. 51.84 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3049. 51.84 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3050. 51.84 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3051. 51.84 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3052. 51.84 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3053. 51.84 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:49:12-59
  3054. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3055. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3056. 51.84 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3057. 51.84 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3058. 51.84 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3059. 51.84 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3060. 51.84 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3061. 51.84 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:52:16-63
  3062. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3063. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3064. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3065. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3066. 51.84 s [really-safe-money-autodocodec] added 20 mutations
  3067. 51.84 s [really-safe-money-autodocodec] [4 of 7] Compiling Money.AmountOf.Codec ( src/Money/AmountOf/Codec.hs, dist/build/Money/AmountOf/Codec.o, dist/build/Money/AmountOf/Codec.dyn_o )
  3068. 51.84 s [really-safe-money-autodocodec] mutation: instrumenting Money.AmountOf.Codec
  3069. 51.84 s [really-safe-money-autodocodec] added 0 mutations
  3070. 51.84 s [really-safe-money-autodocodec] [5 of 7] Compiling Money.QuantisationFactor.Codec ( src/Money/QuantisationFactor/Codec.hs, dist/build/Money/QuantisationFactor/Codec.o, dist/build/Money/QuantisationFactor/Codec.dyn_o )
  3071. 51.84 s [really-safe-money-autodocodec] mutation: instrumenting Money.QuantisationFactor.Codec
  3072. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3073. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3074. 51.84 s [really-safe-money-autodocodec] added 2 mutations
  3075. 51.84 s [really-safe-money-autodocodec] [6 of 7] Compiling Numeric.DecimalLiteral.Codec ( src/Numeric/DecimalLiteral/Codec.hs, dist/build/Numeric/DecimalLiteral/Codec.o, dist/build/Numeric/DecimalLiteral/Codec.dyn_o )
  3076. 51.84 s [really-safe-money-autodocodec] mutation: instrumenting Numeric.DecimalLiteral.Codec
  3077. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3078. 51.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3079. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3080. 51.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3081. 51.85 s [really-safe-money-autodocodec] added 4 mutations
  3082. 51.85 s [really-safe-money-autodocodec] [7 of 7] Compiling Paths_really_safe_money_autodocodec ( dist/build/autogen/Paths_really_safe_money_autodocodec.hs, dist/build/Paths_really_safe_money_autodocodec.o, dist/build/Paths_really_safe_money_autodocodec.dyn_o )
  3083. 52.10 s [really-safe-money-autodocodec] [1 of 7] Compiling Money.Account.Codec ( src/Money/Account/Codec.hs, dist/build/Money/Account/Codec.p_o )
  3084. 52.12 s [really-safe-money-autodocodec] mutation: instrumenting Money.Account.Codec
  3085. 52.17 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3086. 52.17 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3087. 52.17 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3088. 52.17 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3089. 52.17 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3090. 52.17 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3091. 52.17 s [really-safe-money-autodocodec] added 6 mutations
  3092. 52.78 s [really-safe-money-autodocodec] [2 of 7] Compiling Money.AccountOf.Codec ( src/Money/AccountOf/Codec.hs, dist/build/Money/AccountOf/Codec.p_o )
  3093. 52.78 s [really-safe-money-autodocodec] mutation: instrumenting Money.AccountOf.Codec
  3094. 52.78 s [really-safe-money-autodocodec] added 0 mutations
  3095. 52.91 s [really-safe-money-autodocodec] [3 of 7] Compiling Money.Amount.Codec ( src/Money/Amount/Codec.hs, dist/build/Money/Amount/Codec.p_o )
  3096. 52.92 s [really-safe-money-autodocodec] mutation: instrumenting Money.Amount.Codec
  3097. 52.92 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3098. 52.92 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3099. 52.92 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3100. 52.92 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3101. 52.92 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3102. 52.92 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3103. 52.92 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3104. 52.92 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:49:12-59
  3105. 52.92 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3106. 52.92 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3107. 52.92 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3108. 52.92 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3109. 52.92 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3110. 52.92 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3111. 52.92 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3112. 52.92 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:52:16-63
  3113. 52.92 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3114. 52.92 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3115. 52.92 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3116. 52.92 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3117. 52.92 s [really-safe-money-autodocodec] added 20 mutations
  3118. 53.19 s [really-safe-money-autodocodec] [4 of 7] Compiling Money.AmountOf.Codec ( src/Money/AmountOf/Codec.hs, dist/build/Money/AmountOf/Codec.p_o )
  3119. 53.19 s [really-safe-money-autodocodec] mutation: instrumenting Money.AmountOf.Codec
  3120. 53.19 s [really-safe-money-autodocodec] added 0 mutations
  3121. 53.33 s [really-safe-money-autodocodec] [5 of 7] Compiling Money.QuantisationFactor.Codec ( src/Money/QuantisationFactor/Codec.hs, dist/build/Money/QuantisationFactor/Codec.p_o )
  3122. 53.33 s [really-safe-money-autodocodec] mutation: instrumenting Money.QuantisationFactor.Codec
  3123. 53.33 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3124. 53.33 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3125. 53.33 s [really-safe-money-autodocodec] added 2 mutations
  3126. 53.52 s [really-safe-money-autodocodec] [6 of 7] Compiling Numeric.DecimalLiteral.Codec ( src/Numeric/DecimalLiteral/Codec.hs, dist/build/Numeric/DecimalLiteral/Codec.p_o )
  3127. 53.52 s [really-safe-money-autodocodec] mutation: instrumenting Numeric.DecimalLiteral.Codec
  3128. 53.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3129. 53.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3130. 53.52 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3131. 53.52 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3132. 53.52 s [really-safe-money-autodocodec] added 4 mutations
  3133. 53.87 s [really-safe-money-autodocodec] [7 of 7] Compiling Paths_really_safe_money_autodocodec ( dist/build/autogen/Paths_really_safe_money_autodocodec.hs, dist/build/Paths_really_safe_money_autodocodec.p_o )
  3134. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Account/Codec.dyn_o'
  3135. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AccountOf/Codec.dyn_o'
  3136. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Amount/Codec.dyn_o'
  3137. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AmountOf/Codec.dyn_o'
  3138. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor/Codec.dyn_o'
  3139. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral/Codec.dyn_o'
  3140. 54.32 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money_autodocodec.dyn_o'
  3141. 55.12 s [really-safe-money-autodocodec] mutation-nix: manifest output at /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest:
  3142. 55.12 s [really-safe-money-autodocodec] total 68
  3143. 55.12 s [really-safe-money-autodocodec] drwxr-xr-x 2 nixbld nixbld 4096 May 14 20:48 .
  3144. 55.12 s [really-safe-money-autodocodec] drwxrwxr-t 239 nobody nixbld 24576 May 14 20:48 ..
  3145. 55.12 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 4508 May 14 20:48 Money.Account.Codec.json
  3146. 55.12 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.AccountOf.Codec.json
  3147. 55.12 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 16321 May 14 20:48 Money.Amount.Codec.json
  3148. 55.12 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.AmountOf.Codec.json
  3149. 55.12 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 1486 May 14 20:48 Money.QuantisationFactor.Codec.json
  3150. 55.12 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2827 May 14 20:48 Numeric.DecimalLiteral.Codec.json
  3151. 55.12 s [really-safe-money-autodocodec] mutation-nix: building remaining components with plugin silenced
  3152. 55.18 s [really-safe-money-autodocodec] Preprocessing library for really-safe-money-autodocodec-0.0.0.0...
  3153. 55.18 s [really-safe-money-autodocodec] Building library for really-safe-money-autodocodec-0.0.0.0...
  3154. 56.69 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Account/Codec.dyn_o'
  3155. 56.74 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AccountOf/Codec.dyn_o'
  3156. 56.74 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Amount/Codec.dyn_o'
  3157. 56.74 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AmountOf/Codec.dyn_o'
  3158. 56.74 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor/Codec.dyn_o'
  3159. 56.74 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral/Codec.dyn_o'
  3160. 56.74 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money_autodocodec.dyn_o'
  3161. 57.69 s [really-safe-money-autodocodec] Phase: haddockPhase
  3162. 57.70 s [really-safe-money-autodocodec] Phase: installPhase
  3163. 57.78 s [really-safe-money-autodocodec] Installing library in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  3164. 58.01 s [really-safe-money-autodocodec] Phase: fixupPhase
  3165. 58.03 s [really-safe-money-autodocodec] shrinking RPATHs of ELF executables and libraries in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0
  3166. 58.04 s [really-safe-money-autodocodec] shrinking /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk-ghc9.10.3.so
  3167. 58.06 s [really-safe-money-autodocodec] checking for references to /build/ in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0...
  3168. 58.08 s [really-safe-money-autodocodec] patching script interpreter paths in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0
  3169. 58.09 s [really-safe-money-autodocodec] stripping (with command strip and flags -S -p) in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/bin
  3170. 58.15 s [really-safe-money-autodocodec] shrinking RPATHs of ELF executables and libraries in /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
  3171. 58.15 s [really-safe-money-autodocodec] checking for references to /build/ in /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest...
  3172. 58.16 s [really-safe-money-autodocodec] patching script interpreter paths in /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
  3173. 58.24 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
  3174. 58.71 s [post-build-hook] Pushing 2 paths (196 are already present) using zstd to cache sydtest ⏳
  3175. 58.71 s [post-build-hook]
  3176. 59.09 s [post-build-hook] Pushing /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 (1.60 MiB)
  3177. 59.09 s [post-build-hook] Pushing /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest (25.90 KiB)
  3178. 60.29 s [post-build-hook]
  3179. 60.29 s [post-build-hook] All done.
  3180. 60.31 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
  3181. 60.35 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  3182. 60.57 s [post-build-hook] copying 2 paths...
  3183. 60.57 s [post-build-hook] copying path '/nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  3184. 60.57 s [post-build-hook] copying path '/nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest' to 'https://cache.staging.nix-ci.com'...
  3185. 61.09 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  3186. 61.33 s [post-build-hook] copying 1 paths...
  3187. 61.33 s [post-build-hook] copying path '/nix/store/hffm3rxh910c1r0fiwqpp4wxlz9ics6i-really-safe-money-autodocodec-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  3188. 61.52 s Progress: 6 of 8 built
  3189. 61.57 s Building really-safe-money-gen
  3190. 61.96 s [really-safe-money-gen] Phase: setupCompilerEnvironmentPhase
  3191. 61.98 s [really-safe-money-gen] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  3192. 62.47 s [really-safe-money-gen] Phase: unpackPhase
  3193. 62.47 s [really-safe-money-gen] unpacking source archive /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/really-safe-money-gen-0.0.0.0.tar.gz
  3194. 62.48 s [really-safe-money-gen] source root is really-safe-money-gen-0.0.0.0
  3195. 62.48 s [really-safe-money-gen] setting SOURCE_DATE_EPOCH to timestamp 1778791721 of file "really-safe-money-gen-0.0.0.0/test/Spec.hs"
  3196. 62.49 s [really-safe-money-gen] warning: file "really-safe-money-gen-0.0.0.0/test/Spec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
  3197. 62.49 s [really-safe-money-gen] Phase: patchPhase
  3198. 62.50 s [really-safe-money-gen] Phase: compileBuildDriverPhase
  3199. 62.51 s [really-safe-money-gen] setupCompileFlags: -package-db=/build/tmp.rVB2kswHMl/setup-package.conf.d -threaded
  3200. 62.56 s [really-safe-money-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.rVB2kswHMl/Main.o )
  3201. 62.62 s [really-safe-money-gen] [2 of 2] Linking Setup
  3202. 63.93 s [really-safe-money-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
  3203. 63.94 s [really-safe-money-gen] Phase: configurePhase
  3204. 63.94 s [really-safe-money-gen] configureFlags: --verbose --prefix=/nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.rVB2kswHMl/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
  3205. 63.95 s [really-safe-money-gen] Using Parsec parser
  3206. 63.95 s [really-safe-money-gen] Configuring really-safe-money-gen-0.0.0.0...
  3207. 64.66 s [really-safe-money-gen] Dependency QuickCheck: using QuickCheck-2.15.0.1
  3208. 64.66 s [really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
  3209. 64.66 s [really-safe-money-gen] Dependency genvalidity: using genvalidity-1.1.1.0
  3210. 64.66 s [really-safe-money-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  3211. 64.66 s [really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
  3212. 64.66 s [really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
  3213. 64.66 s [really-safe-money-gen] Dependency containers: using containers-0.7
  3214. 64.66 s [really-safe-money-gen] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  3215. 64.66 s [really-safe-money-gen] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
  3216. 64.66 s [really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
  3217. 64.66 s [really-safe-money-gen] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
  3218. 64.66 s [really-safe-money-gen] Dependency sydtest: using sydtest-0.23.0.2
  3219. 64.66 s [really-safe-money-gen] Dependency vector: using vector-0.13.2.0
  3220. 64.66 s [really-safe-money-gen] Source component graph:
  3221. 64.66 s [really-safe-money-gen] component lib
  3222. 64.66 s [really-safe-money-gen] component test:really-safe-money-test dependency lib
  3223. 64.66 s [really-safe-money-gen] Configured component graph:
  3224. 64.66 s [really-safe-money-gen] component really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3225. 64.66 s [really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  3226. 64.66 s [really-safe-money-gen] include base-4.20.2.0-64da
  3227. 64.66 s [really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  3228. 64.66 s [really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  3229. 64.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3230. 64.66 s [really-safe-money-gen] component really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
  3231. 64.66 s [really-safe-money-gen] include base-4.20.2.0-64da
  3232. 64.66 s [really-safe-money-gen] include containers-0.7-504a
  3233. 64.66 s [really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  3234. 64.66 s [really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  3235. 64.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3236. 64.66 s [really-safe-money-gen] include really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3237. 64.66 s [really-safe-money-gen] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  3238. 64.66 s [really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  3239. 64.66 s [really-safe-money-gen] Linked component graph:
  3240. 64.66 s [really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3241. 64.66 s [really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  3242. 64.66 s [really-safe-money-gen] include base-4.20.2.0-64da
  3243. 64.66 s [really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  3244. 64.66 s [really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  3245. 64.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3246. 64.66 s [really-safe-money-gen] Money.Account.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Account.Gen,Money.AccountOf.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.AccountOf.Gen,Money.Amount.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Amount.Gen,Money.AmountOf.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.AmountOf.Gen,Money.ConversionRate.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.ConversionRate.Gen,Money.ConversionRateOf.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.ConversionRateOf.Gen,Money.Currency.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Currency.Gen,Money.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Gen,Money.MultiAccount.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.MultiAccount.Gen,Money.MultiAmount.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.MultiAmount.Gen,Money.QuantisationFactor.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.QuantisationFactor.Gen,Numeric.DecimalLiteral.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Numeric.DecimalLiteral.Gen
  3247. 64.66 s [really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
  3248. 64.66 s [really-safe-money-gen] include base-4.20.2.0-64da
  3249. 64.66 s [really-safe-money-gen] include containers-0.7-504a
  3250. 64.66 s [really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  3251. 64.66 s [really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  3252. 64.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3253. 64.66 s [really-safe-money-gen] include really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3254. 64.66 s [really-safe-money-gen] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  3255. 64.66 s [really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  3256. 64.66 s [really-safe-money-gen] Ready component graph:
  3257. 64.66 s [really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3258. 64.66 s [really-safe-money-gen] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  3259. 64.66 s [really-safe-money-gen] depends base-4.20.2.0-64da
  3260. 64.66 s [really-safe-money-gen] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  3261. 64.66 s [really-safe-money-gen] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  3262. 64.66 s [really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3263. 64.66 s [really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
  3264. 64.66 s [really-safe-money-gen] depends base-4.20.2.0-64da
  3265. 64.66 s [really-safe-money-gen] depends containers-0.7-504a
  3266. 64.66 s [really-safe-money-gen] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  3267. 64.66 s [really-safe-money-gen] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  3268. 64.66 s [really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3269. 64.66 s [really-safe-money-gen] depends really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3270. 64.66 s [really-safe-money-gen] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  3271. 64.66 s [really-safe-money-gen] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  3272. 64.66 s [really-safe-money-gen] Using Cabal-3.12.1.0 compiled by ghc-9.10
  3273. 64.66 s [really-safe-money-gen] Using compiler: ghc-9.10.3
  3274. 64.66 s [really-safe-money-gen] Using install prefix:
  3275. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0
  3276. 64.66 s [really-safe-money-gen] Executables installed in:
  3277. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/bin
  3278. 64.66 s [really-safe-money-gen] Libraries installed in:
  3279. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3280. 64.66 s [really-safe-money-gen] Dynamic Libraries installed in:
  3281. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  3282. 64.66 s [really-safe-money-gen] Private executables installed in:
  3283. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
  3284. 64.66 s [really-safe-money-gen] Data files installed in:
  3285. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
  3286. 64.66 s [really-safe-money-gen] Documentation installed in:
  3287. 64.66 s [really-safe-money-gen] /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0
  3288. 64.66 s [really-safe-money-gen] Configuration files installed in:
  3289. 64.66 s [really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/etc
  3290. 64.66 s [really-safe-money-gen] No alex found
  3291. 64.66 s [really-safe-money-gen] Using ar found on system at:
  3292. 64.66 s [really-safe-money-gen] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  3293. 64.66 s [really-safe-money-gen] No c2hs found
  3294. 64.66 s [really-safe-money-gen] No cpphs found
  3295. 64.66 s [really-safe-money-gen] No doctest found
  3296. 64.66 s [really-safe-money-gen] Using gcc version 14.3.0 given by user at:
  3297. 64.66 s [really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  3298. 64.66 s [really-safe-money-gen] Using ghc version 9.10.3 found on system at:
  3299. 64.66 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  3300. 64.66 s [really-safe-money-gen] Using ghc-pkg version 9.10.3 found on system at:
  3301. 64.66 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  3302. 64.66 s [really-safe-money-gen] No ghcjs found
  3303. 64.66 s [really-safe-money-gen] No ghcjs-pkg found
  3304. 64.66 s [really-safe-money-gen] No greencard found
  3305. 64.66 s [really-safe-money-gen] Using haddock version 2.31.1 found on system at:
  3306. 64.66 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  3307. 64.66 s [really-safe-money-gen] No happy found
  3308. 64.66 s [really-safe-money-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
  3309. 64.66 s [really-safe-money-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  3310. 64.66 s [really-safe-money-gen] No hmake found
  3311. 64.66 s [really-safe-money-gen] Using hpc version 0.69 found on system at:
  3312. 64.66 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  3313. 64.66 s [really-safe-money-gen] Using hsc2hs version 0.68.10 found on system at:
  3314. 64.66 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  3315. 64.66 s [really-safe-money-gen] Using hscolour version 1.25 found on system at:
  3316. 64.66 s [really-safe-money-gen] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  3317. 64.66 s [really-safe-money-gen] No jhc found
  3318. 64.66 s [really-safe-money-gen] Using ld found on system at:
  3319. 64.66 s [really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  3320. 64.66 s [really-safe-money-gen] No pkg-config found
  3321. 64.66 s [really-safe-money-gen] Using runghc version 9.10.3 found on system at:
  3322. 64.66 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  3323. 64.66 s [really-safe-money-gen] Using strip version 2.44 found on system at:
  3324. 64.66 s [really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  3325. 64.66 s [really-safe-money-gen] Using tar found on system at:
  3326. 64.66 s [really-safe-money-gen] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  3327. 64.66 s [really-safe-money-gen] No uhc found
  3328. 65.07 s [really-safe-money-gen] Phase: buildPhase
  3329. 65.15 s [really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
  3330. 65.15 s [really-safe-money-gen] Building library for really-safe-money-gen-0.0.0.0...
  3331. 65.25 s [really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.o, dist/build/Money/Amount/Gen.dyn_o )
  3332. 65.62 s [really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.o, dist/build/Money/Account/Gen.dyn_o )
  3333. 65.74 s [really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.o, dist/build/Money/AccountOf/Gen.dyn_o )
  3334. 65.79 s [really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.o, dist/build/Money/AmountOf/Gen.dyn_o )
  3335. 65.79 s [really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.o, dist/build/Money/ConversionRate/Gen.dyn_o )
  3336. 65.79 s [really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.o, dist/build/Money/ConversionRateOf/Gen.dyn_o )
  3337. 65.79 s [really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.o, dist/build/Money/QuantisationFactor/Gen.dyn_o )
  3338. 65.79 s [really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.o, dist/build/Money/Currency/Gen.dyn_o )
  3339. 65.79 s [really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.o, dist/build/Money/MultiAmount/Gen.dyn_o )
  3340. 65.79 s [really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.o, dist/build/Money/MultiAccount/Gen.dyn_o )
  3341. 65.86 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.o, dist/build/Money/Gen.dyn_o )
  3342. 65.88 s [really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.o, dist/build/Numeric/DecimalLiteral/Gen.dyn_o )
  3343. 65.88 s [really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, dist/build/Paths_really_safe_money_gen.o, dist/build/Paths_really_safe_money_gen.dyn_o )
  3344. 66.21 s [really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.p_o )
  3345. 66.72 s [really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.p_o )
  3346. 66.94 s [really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.p_o )
  3347. 67.10 s [really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.p_o )
  3348. 67.15 s [really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.p_o )
  3349. 67.15 s [really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.p_o )
  3350. 67.15 s [really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.p_o )
  3351. 67.15 s [really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.p_o )
  3352. 67.15 s [really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.p_o )
  3353. 67.15 s [really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.p_o )
  3354. 67.15 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.p_o )
  3355. 67.24 s [really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.p_o )
  3356. 67.24 s [really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, dist/build/Paths_really_safe_money_gen.p_o )
  3357. 68.68 s [really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  3358. 68.68 s [really-safe-money-gen] Building test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  3359. 68.83 s [really-safe-money-gen] [ 1 of 14] Compiling Money.AccountSpec ( test/Money/AccountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AccountSpec.o )
  3360. 71.38 s [really-safe-money-gen] [ 2 of 14] Compiling Money.AmountSpec ( test/Money/AmountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AmountSpec.o )
  3361. 71.72 s [really-safe-money-gen] [ 3 of 14] Compiling Money.ConversionRateSpec ( test/Money/ConversionRateSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/ConversionRateSpec.o )
  3362. 71.72 s [really-safe-money-gen] [ 4 of 14] Compiling Money.Currency.TestUtils ( test/Money/Currency/TestUtils.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/Currency/TestUtils.o )
  3363. 71.72 s [really-safe-money-gen] [ 5 of 14] Compiling Money.ConversionRateOfSpec ( test/Money/ConversionRateOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/ConversionRateOfSpec.o )
  3364. 71.72 s [really-safe-money-gen] [ 6 of 14] Compiling Money.AmountOfSpec ( test/Money/AmountOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AmountOfSpec.o )
  3365. 71.72 s [really-safe-money-gen] [ 7 of 14] Compiling Money.AccountOfSpec ( test/Money/AccountOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AccountOfSpec.o )
  3366. 71.72 s [really-safe-money-gen] [ 8 of 14] Compiling Money.CurrencySpec ( test/Money/CurrencySpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/CurrencySpec.o )
  3367. 71.72 s [really-safe-money-gen] [ 9 of 14] Compiling Money.MultiAccountSpec ( test/Money/MultiAccountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/MultiAccountSpec.o )
  3368. 71.72 s [really-safe-money-gen] [10 of 14] Compiling Money.MultiAmountSpec ( test/Money/MultiAmountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/MultiAmountSpec.o )
  3369. 71.72 s [really-safe-money-gen] [11 of 14] Compiling Money.QuantisationFactorSpec ( test/Money/QuantisationFactorSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/QuantisationFactorSpec.o )
  3370. 71.72 s [really-safe-money-gen] [12 of 14] Compiling Numeric.DecimalLiteralSpec ( test/Numeric/DecimalLiteralSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Numeric/DecimalLiteralSpec.o )
  3371. 71.72 s [really-safe-money-gen] [13 of 14] Compiling Main ( test/Spec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Main.o )
  3372. 71.79 s [really-safe-money-gen] [14 of 14] Compiling Paths_really_safe_money_gen ( dist/build/really-safe-money-test/autogen/Paths_really_safe_money_gen.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Paths_really_safe_money_gen.o )
  3373. 72.13 s [really-safe-money-gen] [15 of 15] Linking dist/build/really-safe-money-test/really-safe-money-test
  3374. 73.72 s [really-safe-money-gen] Phase: checkPhase
  3375. 73.75 s [really-safe-money-gen] mutation-nix: collecting coverage for suite really-safe-money-gen
  3376. 82.43 s [really-safe-money-gen] coverage (1/1610): Numeric\.DecimalLiteralSpec.Natural.fromNatural.renders to valid decimal literals (1 mutations)
  3377. 83.00 s [really-safe-money-gen] coverage (12/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 5 % 1 into DecimalLiteral Nothing 5 0 (30 mutations)
  3378. 83.15 s [really-safe-money-gen] coverage (4/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 9 2 into rational 9 % 100 (4 mutations)
  3379. 83.21 s [really-safe-money-gen] coverage (13/1610): Numeric\.DecimalLiteralSpec.Rational.fromRational.can parse any rendered rational (43 mutations)
  3380. 83.26 s [really-safe-money-gen] coverage (23/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 3 0 into rational (-3) % 1 (4 mutations)
  3381. 83.42 s [really-safe-money-gen] coverage (28/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 1 3 into rational (-1) % 1000 (4 mutations)
  3382. 83.44 s [really-safe-money-gen] coverage (18/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 10 % 1 into DecimalLiteral Nothing 10 0 (30 mutations)
  3383. 83.49 s [really-safe-money-gen] coverage (17/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 20 4 into rational 1 % 500 (4 mutations)
  3384. 83.50 s [really-safe-money-gen] coverage (8/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 10 0 into rational 10 % 1 (4 mutations)
  3385. 83.53 s [really-safe-money-gen] coverage (9/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 50 1 into rational 5 % 1 (4 mutations)
  3386. 83.57 s [really-safe-money-gen] coverage (22/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 9 % 100 into DecimalLiteral Nothing 9 2 (36 mutations)
  3387. 83.59 s [really-safe-money-gen] coverage (20/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 7000 3 into rational 7 % 1 (4 mutations)
  3388. 83.60 s [really-safe-money-gen] coverage (24/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 1 % 1 into DecimalLiteral Nothing 1 0 (30 mutations)
  3389. 83.71 s [really-safe-money-gen] coverage (3/1610): Numeric\.DecimalLiteralSpec.Natural.toNatural.renders to valid naturals (0 mutations)
  3390. 83.85 s [really-safe-money-gen] coverage (19/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-3) % 1 into DecimalLiteral (Just False) 3 0 (32 mutations)
  3391. 83.88 s [really-safe-money-gen] coverage (27/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 240009 % 20000 into DecimalLiteral Nothing 1200045 5 (38 mutations)
  3392. 83.96 s [really-safe-money-gen] coverage (26/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 1 0 into rational 1 % 1 (4 mutations)
  3393. 83.97 s [really-safe-money-gen] coverage (6/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 1 % 500 into DecimalLiteral Nothing 2 3 (36 mutations)
  3394. 84.05 s [really-safe-money-gen] coverage (21/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 2 0 into rational 2 % 1 (4 mutations)
  3395. 84.06 s [really-safe-money-gen] coverage (11/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-4) % 5 into DecimalLiteral (Just False) 8 1 (38 mutations)
  3396. 84.07 s [really-safe-money-gen] coverage (25/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 7 % 1 into DecimalLiteral Nothing 7 0 (30 mutations)
  3397. 84.09 s [really-safe-money-gen] coverage (10/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-1) % 1000 into DecimalLiteral (Just False) 1 3 (38 mutations)
  3398. 84.09 s [really-safe-money-gen] coverage (15/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 600 2 into rational (-6) % 1 (4 mutations)
  3399. 84.19 s [really-safe-money-gen] coverage (7/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-6) % 1 into DecimalLiteral (Just False) 6 0 (32 mutations)
  3400. 84.21 s [really-safe-money-gen] coverage (5/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 (30 mutations)
  3401. 84.35 s [really-safe-money-gen] coverage (16/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 400 0 into rational 400 % 1 (4 mutations)
  3402. 84.42 s [really-safe-money-gen] coverage (2/1610): Numeric\.DecimalLiteralSpec.Natural.fromNatural.can parse any rendered literal (9 mutations)
  3403. 84.48 s [really-safe-money-gen] coverage (14/1610): Numeric\.DecimalLiteralSpec.Rational.fromRational.renders to valid decimal literals (40 mutations)
  3404. 91.88 s [really-safe-money-gen] coverage (29/1610): Numeric\.DecimalLiteralSpec.Rational.toRational.renders to valid rationals (4 mutations)
  3405. 92.47 s [really-safe-money-gen] coverage (30/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-3) % 1000 into DecimalLiteral (Just False) 3 3 (38 mutations)
  3406. 92.60 s [really-safe-money-gen] coverage (32/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 1200045 5 into rational 240009 % 20000 (4 mutations)
  3407. 92.65 s [really-safe-money-gen] coverage (31/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 2 % 1 into DecimalLiteral Nothing 2 0 (30 mutations)
  3408. 92.78 s [really-safe-money-gen] coverage (33/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 8 1 into rational (-4) % 5 (4 mutations)
  3409. 92.79 s [really-safe-money-gen] coverage (34/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 300 5 into rational (-3) % 1000 (4 mutations)
  3410. 92.92 s [really-safe-money-gen] coverage (37/1610): Numeric\.DecimalLiteralSpec.Ratio.toRatio.renders to valid rationals (5 mutations)
  3411. 93.08 s [really-safe-money-gen] coverage (38/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.does not change the value of the literal (15 mutations)
  3412. 93.21 s [really-safe-money-gen] coverage (39/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.produces valid literals (12 mutations)
  3413. 93.22 s [really-safe-money-gen] coverage (40/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.produces values with more than the given number of digits (12 mutations)
  3414. 93.24 s [really-safe-money-gen] coverage (35/1610): Numeric\.DecimalLiteralSpec.Ratio.fromRatio.can parse any rendered rational (36 mutations)
  3415. 93.32 s [really-safe-money-gen] coverage (42/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromString.fails to parse scientific notation (22 mutations)
  3416. 93.33 s [really-safe-money-gen] coverage (41/1610): Numeric\.DecimalLiteralSpec.GenValid DecimalLiteral.genValid \:\: Gen DecimalLiteral.only generates valid 'DecimalLiteral's (0 mutations)
  3417. 93.49 s [really-safe-money-gen] coverage (45/1610): Numeric\.DecimalLiteralSpec.Int.toInt.renders to valid words (14 mutations)
  3418. 93.50 s [really-safe-money-gen] coverage (47/1610): Numeric\.DecimalLiteralSpec.Int.fromInt.renders to valid decimal literals (10 mutations)
  3419. 93.50 s [really-safe-money-gen] coverage (44/1610): Numeric\.DecimalLiteralSpec.setSignOptional.produces valid values (0 mutations)
  3420. 93.53 s [really-safe-money-gen] coverage (36/1610): Numeric\.DecimalLiteralSpec.Ratio.fromRatio.renders to valid decimal literals (31 mutations)
  3421. 93.63 s [really-safe-money-gen] coverage (49/1610): Numeric\.DecimalLiteralSpec.Word.fromWord.renders to valid decimal literals (1 mutations)
  3422. 93.64 s [really-safe-money-gen] coverage (52/1610): Numeric\.DecimalLiteralSpec.toString.can render any decimal literal (2 mutations)
  3423. 93.67 s [really-safe-money-gen] coverage (46/1610): Numeric\.DecimalLiteralSpec.Int.fromInt.can parse any rendered literal (24 mutations)
  3424. 93.75 s [really-safe-money-gen] coverage (51/1610): Numeric\.DecimalLiteralSpec.Word.toWord.renders to valid words (0 mutations)
  3425. 93.77 s [really-safe-money-gen] coverage (54/1610): Numeric\.DecimalLiteralSpec.examples.can parse "1" (22 mutations)
  3426. 93.77 s [really-safe-money-gen] coverage (43/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromString.can parse any rendered decimal literal (44 mutations)
  3427. 93.78 s [really-safe-money-gen] coverage (53/1610): Numeric\.DecimalLiteralSpec.examples.can parse "+2" (25 mutations)
  3428. 93.78 s [really-safe-money-gen] coverage (48/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromStringM.does the same as DecimalLiteral\.fromString (12 mutations)
  3429. 93.93 s [really-safe-money-gen] coverage (50/1610): Numeric\.DecimalLiteralSpec.Word.fromWord.can parse any rendered literal (9 mutations)
  3430. 94.01 s [really-safe-money-gen] coverage (56/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 50 1 (1 mutations)
  3431. 94.06 s [really-safe-money-gen] coverage (55/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 300 5 (3 mutations)
  3432. 101.26 s [really-safe-money-gen] coverage (57/1610): Numeric\.DecimalLiteralSpec.examples.can parse "400" (31 mutations)
  3433. 101.78 s [really-safe-money-gen] coverage (58/1610): Numeric\.DecimalLiteralSpec.examples.can parse "5\.0" (31 mutations)
  3434. 101.94 s [really-safe-money-gen] coverage (60/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1 3 (3 mutations)
  3435. 102.05 s [really-safe-money-gen] coverage (59/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 8 1 (3 mutations)
  3436. 102.13 s [really-safe-money-gen] coverage (61/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.00300" (36 mutations)
  3437. 102.29 s [really-safe-money-gen] coverage (63/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 20 4 (3 mutations)
  3438. 102.30 s [really-safe-money-gen] coverage (62/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 7000 3 (1 mutations)
  3439. 102.41 s [really-safe-money-gen] coverage (64/1610): Numeric\.DecimalLiteralSpec.examples.can parse "12\.00045" (38 mutations)
  3440. 102.56 s [really-safe-money-gen] coverage (65/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1 0 (1 mutations)
  3441. 102.58 s [really-safe-money-gen] coverage (66/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral (Just True) 2 0 (1 mutations)
  3442. 102.64 s [really-safe-money-gen] coverage (70/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 600 2 (1 mutations)
  3443. 102.70 s [really-safe-money-gen] coverage (67/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1200045 5 (1 mutations)
  3444. 102.70 s [really-safe-money-gen] coverage (71/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 9 2 (3 mutations)
  3445. 102.70 s [really-safe-money-gen] coverage (72/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.8" (29 mutations)
  3446. 102.73 s [really-safe-money-gen] coverage (69/1610): Numeric\.DecimalLiteralSpec.examples.can parse "6\.00" (36 mutations)
  3447. 102.74 s [really-safe-money-gen] coverage (68/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.001" (34 mutations)
  3448. 102.85 s [really-safe-money-gen] coverage (74/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.09" (34 mutations)
  3449. 102.88 s [really-safe-money-gen] coverage (76/1610): Numeric\.DecimalLiteralSpec.examples.can parse "-3" (22 mutations)
  3450. 102.88 s [really-safe-money-gen] coverage (73/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 400 0 (1 mutations)
  3451. 103.01 s [really-safe-money-gen] coverage (81/1610): Numeric\.DecimalLiteralSpec.Integer.fromInteger.can parse any rendered literal (10 mutations)
  3452. 103.06 s [really-safe-money-gen] coverage (77/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral (Just False) 3 0 (1 mutations)
  3453. 103.19 s [really-safe-money-gen] coverage (80/1610): Numeric\.DecimalLiteralSpec.Integer.fromInteger.renders to valid decimal literals (10 mutations)
  3454. 103.26 s [really-safe-money-gen] coverage (79/1610): Numeric\.DecimalLiteralSpec.Integer.toInteger.renders to valid words (0 mutations)
  3455. 103.26 s [really-safe-money-gen] coverage (75/1610): Numeric\.DecimalLiteralSpec.examples.can parse "7\.000" (36 mutations)
  3456. 103.28 s [really-safe-money-gen] coverage (78/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.0020" (36 mutations)
  3457. 103.32 s [really-safe-money-gen] coverage (83/1610): Numeric\.DecimalLiteralSpec.setSignRequired.produces valid values (2 mutations)
  3458. 103.34 s [really-safe-money-gen] coverage (82/1610): Numeric\.DecimalLiteralSpec.digits.produces valid numbers of digits (0 mutations)
  3459. 103.41 s [really-safe-money-gen] coverage (84/1610): Money\.ConversionRateSpec.Rational.toRational.produces valid rationals (0 mutations)
  3460. 110.66 s [really-safe-money-gen] coverage (85/1610): Money\.ConversionRateSpec.Rational.fromRational.roundtrips with toRational (13 mutations)
  3461. 111.20 s [really-safe-money-gen] coverage (86/1610): Money\.ConversionRateSpec.Rational.fromRational.produces valid conversion rates (13 mutations)
  3462. 111.26 s [really-safe-money-gen] coverage (88/1610): Money\.ConversionRateSpec.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  3463. 111.30 s [really-safe-money-gen] coverage (87/1610): Money\.ConversionRateSpec.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  3464. 111.42 s [really-safe-money-gen] coverage (89/1610): Money\.ConversionRateSpec.Ratio.toRatio.produces valid ratios (0 mutations)
  3465. 111.57 s [really-safe-money-gen] coverage (90/1610): Money\.ConversionRateSpec.invert.produces valid rates (8 mutations)
  3466. 111.90 s [really-safe-money-gen] coverage (103/1610): Money\.AccountSpec.Eq.says negative 0 equals positive 0 (3 mutations)
  3467. 111.94 s [really-safe-money-gen] coverage (97/1610): Money\.AccountSpec.Eq.Eq Account.(/=) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid Account"s (3 mutations)
  3468. 111.99 s [really-safe-money-gen] coverage (99/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid Account"s (3 mutations)
  3469. 112.00 s [really-safe-money-gen] coverage (92/1610): Money\.ConversionRateSpec.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  3470. 112.07 s [really-safe-money-gen] coverage (98/1610): Money\.AccountSpec.Eq.Eq Account.(/=) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"s (3 mutations)
  3471. 112.07 s [really-safe-money-gen] coverage (94/1610): Money\.ConversionRateSpec.compose.produces valid rates (8 mutations)
  3472. 112.13 s [really-safe-money-gen] coverage (108/1610): Money\.AccountSpec.convert.converts this USD to CHF correctly (26 mutations)
  3473. 112.13 s [really-safe-money-gen] coverage (101/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is symmetric for "valid Account"s (3 mutations)
  3474. 112.13 s [really-safe-money-gen] coverage (104/1610): Money\.AccountSpec.negate.produces valid amounts (1 mutations)
  3475. 112.13 s [really-safe-money-gen] coverage (100/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is transitive for "valid Account"s (3 mutations)
  3476. 112.19 s [really-safe-money-gen] coverage (95/1610): Money\.ConversionRateSpec.GenValid ConversionRate.genValid \:\: Gen ConversionRate.only generates valid 'ConversionRate's (6 mutations)
  3477. 112.28 s [really-safe-money-gen] coverage (96/1610): Money\.AccountSpec.Show Account and Read Account.are implemented such that read \. show == id for valid values (3 mutations)
  3478. 112.29 s [really-safe-money-gen] coverage (109/1610): Money\.AccountSpec.distribute.correctly distributes 5 into 3 (20 mutations)
  3479. 112.29 s [really-safe-money-gen] coverage (110/1610): Money\.AccountSpec.distribute.correctly distributes 3 into 3 (18 mutations)
  3480. 112.37 s [really-safe-money-gen] coverage (111/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is symmetric for "valid (Distribution Account)"s (3 mutations)
  3481. 112.37 s [really-safe-money-gen] coverage (102/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is reflexive for "valid Account"s (3 mutations)
  3482. 112.62 s [really-safe-money-gen] coverage (112/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is transitive for "valid (Distribution Account)"s (3 mutations)
  3483. 112.63 s [really-safe-money-gen] coverage (106/1610): Money\.AccountSpec.convert.succeeds in converting 1\:1 without rounding if the quantisation factor is the same (29 mutations)
  3484. 112.78 s [really-safe-money-gen] coverage (105/1610): Money\.AccountSpec.format.produces valid strings (6 mutations)
  3485. 113.32 s [really-safe-money-gen] coverage (107/1610): Money\.AccountSpec.convert.produces valid amounts (27 mutations)
  3486. 119.31 s [really-safe-money-gen] coverage (113/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution Account)"s (3 mutations)
  3487. 119.61 s [really-safe-money-gen] coverage (114/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is reflexive for "valid (Distribution Account)"s (3 mutations)
  3488. 119.72 s [really-safe-money-gen] coverage (118/1610): Money\.AccountSpec.distribute.correctly distributes 10 into 4 (20 mutations)
  3489. 119.82 s [really-safe-money-gen] coverage (115/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(/=) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is antireflexive for "valid (Distribution Account)"s (3 mutations)
  3490. 119.83 s [really-safe-money-gen] coverage (116/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(/=) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution Account)"s (3 mutations)
  3491. 120.24 s [really-safe-money-gen] coverage (121/1610): Money\.AccountSpec.abs.produces valid amounts (1 mutations)
  3492. 120.31 s [really-safe-money-gen] coverage (122/1610): Money\.AccountSpec.fromAmount.produces valid accounts (1 mutations)
  3493. 120.41 s [really-safe-money-gen] coverage (131/1610): Money\.AccountSpec.rate.computes this USD to CHF rate correctly (14 mutations)
  3494. 120.43 s [really-safe-money-gen] coverage (134/1610): Money\.AccountSpec.Ord.says -6 is greater than -7 (2 mutations)
  3495. 120.46 s [really-safe-money-gen] coverage (127/1610): Money\.AccountSpec.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3496. 120.49 s [really-safe-money-gen] coverage (120/1610): Money\.AccountSpec.distribute.produces valid amounts (36 mutations)
  3497. 120.59 s [really-safe-money-gen] coverage (117/1610): Money\.AccountSpec.distribute.produces results that sum up to the greater whole (66 mutations)
  3498. 120.59 s [really-safe-money-gen] coverage (128/1610): Money\.AccountSpec.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3499. 120.62 s [really-safe-money-gen] coverage (133/1610): Money\.AccountSpec.toDouble.produces an infinite or NaN Double with quantisation factor 0 (3 mutations)
  3500. 120.78 s [really-safe-money-gen] coverage (135/1610): Money\.AccountSpec.Ord.says 4 is smaller than 5 (2 mutations)
  3501. 120.81 s [really-safe-money-gen] coverage (125/1610): Money\.AccountSpec.fromRatio.produces valid rational (20 mutations)
  3502. 120.81 s [really-safe-money-gen] coverage (132/1610): Money\.AccountSpec.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3503. 120.82 s [really-safe-money-gen] coverage (124/1610): Money\.AccountSpec.fromRational.produces valid rational (27 mutations)
  3504. 120.82 s [really-safe-money-gen] coverage (123/1610): Money\.AccountSpec.fromRational.roundtrips with toRational (31 mutations)
  3505. 120.84 s [really-safe-money-gen] coverage (126/1610): Money\.AccountSpec.fromRatio.roundtrips with toRatio (22 mutations)
  3506. 120.87 s [really-safe-money-gen] coverage (136/1610): Money\.AccountSpec.Ord.says -3 is smaller than 2 (2 mutations)
  3507. 121.18 s [really-safe-money-gen] coverage (130/1610): Money\.AccountSpec.rate.produces valid conversion rates (15 mutations)
  3508. 121.18 s [really-safe-money-gen] coverage (137/1610): Money\.AccountSpec.Ord.Ord Account."max \:\: (Account -> Account -> Account)".is equivalent to (\\a b -> if a >= b then a else b) for "valid Account"'s (3 mutations)
  3509. 121.53 s [really-safe-money-gen] coverage (129/1610): Money\.AccountSpec.rate.computes a rate that can be used to do a conversion without rounding (35 mutations)
  3510. 121.62 s [really-safe-money-gen] coverage (119/1610): Money\.AccountSpec.distribute.Show (Distribution Account) and Read (Distribution Account).are implemented such that read \. show == id for valid values (3 mutations)
  3511. 121.90 s [really-safe-money-gen] coverage (138/1610): Money\.AccountSpec.Ord.Ord Account."min \:\: (Account -> Account -> Account)".is equivalent to (\\a b -> if a <= b then a else b) for "valid Account"'s (3 mutations)
  3512. 128.16 s [really-safe-money-gen] coverage (139/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3513. 128.65 s [really-safe-money-gen] coverage (141/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is antisymmetric for "valid Account"'s (3 mutations)
  3514. 128.67 s [really-safe-money-gen] coverage (140/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid Account"'s (3 mutations)
  3515. 128.72 s [really-safe-money-gen] coverage (143/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3516. 128.88 s [really-safe-money-gen] coverage (142/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is reflexive for "valid Account"'s (3 mutations)
  3517. 129.19 s [really-safe-money-gen] coverage (145/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"'s (3 mutations)
  3518. 129.23 s [really-safe-money-gen] coverage (144/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid Account"'s (3 mutations)
  3519. 129.39 s [really-safe-money-gen] coverage (149/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is reflexive for "valid Account"'s (3 mutations)
  3520. 129.49 s [really-safe-money-gen] coverage (148/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"'s (3 mutations)
  3521. 129.58 s [really-safe-money-gen] coverage (158/1610): Money\.AccountSpec.sum.correctly sums [1,2,3] to 6 (12 mutations)
  3522. 129.59 s [really-safe-money-gen] coverage (146/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3523. 129.61 s [really-safe-money-gen] coverage (147/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid Account"'s (3 mutations)
  3524. 129.63 s [really-safe-money-gen] coverage (152/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3525. 129.71 s [really-safe-money-gen] coverage (150/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is antisymmetric for "valid Account"'s (3 mutations)
  3526. 129.74 s [really-safe-money-gen] coverage (156/1610): Money\.AccountSpec.sum.fails to sum above maxBound even if the result is back below maxBound (10 mutations)
  3527. 129.81 s [really-safe-money-gen] coverage (153/1610): Money\.AccountSpec.toRatio.produces valid Ratios when the quantisation factor is nonzero (1 mutations)
  3528. 129.81 s [really-safe-money-gen] coverage (157/1610): Money\.AccountSpec.sum.fails to sum above maxBound (10 mutations)
  3529. 129.85 s [really-safe-money-gen] coverage (151/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid Account"'s (3 mutations)
  3530. 130.34 s [really-safe-money-gen] coverage (160/1610): Money\.AccountSpec.toMinimalQuantisations.produces valid accounts (3 mutations)
  3531. 130.36 s [really-safe-money-gen] coverage (154/1610): Money\.AccountSpec.fractionRatio.produces valid amounts (22 mutations)
  3532. 130.43 s [really-safe-money-gen] coverage (162/1610): Money\.AccountSpec.add.fails for minBound + (-1) (8 mutations)
  3533. 130.64 s [really-safe-money-gen] coverage (161/1610): Money\.AccountSpec.add.is commutative (27 mutations)
  3534. 130.72 s [really-safe-money-gen] coverage (163/1610): Money\.AccountSpec.add.fails for minBound + minBound (8 mutations)
  3535. 131.15 s [really-safe-money-gen] coverage (159/1610): Money\.AccountSpec.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3536. 131.31 s [really-safe-money-gen] coverage (164/1610): Money\.AccountSpec.add.produces valid amounts (27 mutations)
  3537. 131.32 s [really-safe-money-gen] coverage (155/1610): Money\.AccountSpec.sum.produces valid amounts (28 mutations)
  3538. 137.12 s [really-safe-money-gen] coverage (166/1610): Money\.AccountSpec.add.fails for maxBound + 1 (8 mutations)
  3539. 137.51 s [really-safe-money-gen] coverage (167/1610): Money\.AccountSpec.add.fails for maxBound + maxBound (8 mutations)
  3540. 138.02 s [really-safe-money-gen] coverage (171/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 3 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
  3541. 138.06 s [really-safe-money-gen] coverage (169/1610): Money\.AccountSpec.add.has a left-identity\: zero (28 mutations)
  3542. 138.21 s [really-safe-money-gen] coverage (172/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 1 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (32 mutations)
  3543. 138.22 s [really-safe-money-gen] coverage (168/1610): Money\.AccountSpec.add.is associative when both succeed (27 mutations)
  3544. 138.29 s [really-safe-money-gen] coverage (170/1610): Money\.AccountSpec.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3545. 138.37 s [really-safe-money-gen] coverage (165/1610): Money\.AccountSpec.add.has a right-identity\: zero (28 mutations)
  3546. 138.43 s [really-safe-money-gen] coverage (174/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just False) 4 2 (46 mutations)
  3547. 138.47 s [really-safe-money-gen] coverage (176/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 100 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
  3548. 138.50 s [really-safe-money-gen] coverage (175/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just False) 200 2 (46 mutations)
  3549. 138.53 s [really-safe-money-gen] coverage (178/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just False) 600 2 (46 mutations)
  3550. 138.74 s [really-safe-money-gen] coverage (181/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 10 2 (52 mutations)
  3551. 138.76 s [really-safe-money-gen] coverage (177/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 500 2 (46 mutations)
  3552. 138.78 s [really-safe-money-gen] coverage (179/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
  3553. 138.78 s [really-safe-money-gen] coverage (173/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 8 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} (32 mutations)
  3554. 138.90 s [really-safe-money-gen] coverage (182/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 100 2 (46 mutations)
  3555. 139.06 s [really-safe-money-gen] coverage (180/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 3 2 (46 mutations)
  3556. 139.24 s [really-safe-money-gen] coverage (185/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 1 0 (40 mutations)
  3557. 139.50 s [really-safe-money-gen] coverage (186/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 4 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
  3558. 139.73 s [really-safe-money-gen] coverage (187/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 600 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
  3559. 140.17 s [really-safe-money-gen] coverage (188/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just False) 20 2 (52 mutations)
  3560. 140.28 s [really-safe-money-gen] coverage (189/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just False) 2 0 (40 mutations)
  3561. 140.28 s [really-safe-money-gen] coverage (190/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 20 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
  3562. 147.17 s [really-safe-money-gen] coverage (191/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.fails on this amount that is too precise (17 mutations)
  3563. 147.84 s [really-safe-money-gen] coverage (192/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.produces valid factors (30 mutations)
  3564. 148.03 s [really-safe-money-gen] coverage (194/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} into DecimalLiteral (Just True) 500 8 (52 mutations)
  3565. 148.23 s [really-safe-money-gen] coverage (193/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.fails on this amount that is too precise:1 (17 mutations)
  3566. 148.31 s [really-safe-money-gen] coverage (201/1610): Money\.AccountSpec.subtract.fails for minBound - 1 (8 mutations)
  3567. 148.31 s [really-safe-money-gen] coverage (197/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 200 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
  3568. 148.41 s [really-safe-money-gen] coverage (203/1610): Money\.AccountSpec.subtract.fails for maxBound - minBound (8 mutations)
  3569. 148.41 s [really-safe-money-gen] coverage (195/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 2 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (32 mutations)
  3570. 148.41 s [really-safe-money-gen] coverage (196/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 10 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
  3571. 148.59 s [really-safe-money-gen] coverage (202/1610): Money\.AccountSpec.subtract.fails for minBound - maxBound (8 mutations)
  3572. 148.65 s [really-safe-money-gen] coverage (198/1610): Money\.AccountSpec.fromDouble.produces valid rational (38 mutations)
  3573. 148.67 s [really-safe-money-gen] coverage (204/1610): Money\.AccountSpec.multiply.fails for 3 * minBound (8 mutations)
  3574. 148.95 s [really-safe-money-gen] coverage (206/1610): Money\.AccountSpec.multiply.produces valid amounts (20 mutations)
  3575. 148.96 s [really-safe-money-gen] coverage (200/1610): Money\.AccountSpec.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3576. 149.12 s [really-safe-money-gen] coverage (207/1610): Money\.AccountSpec.multiply.succeeds for 3 * 6 (19 mutations)
  3577. 149.17 s [really-safe-money-gen] coverage (199/1610): Money\.AccountSpec.fromDouble.roundtrips with toDouble back to double (40 mutations)
  3578. 149.19 s [really-safe-money-gen] coverage (205/1610): Money\.AccountSpec.multiply.is absorbed by 0 (20 mutations)
  3579. 149.49 s [really-safe-money-gen] coverage (210/1610): Money\.AccountSpec.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3580. 149.72 s [really-safe-money-gen] coverage (211/1610): Money\.AccountSpec.multiply.fails for 2 * maxbound (8 mutations)
  3581. 149.76 s [really-safe-money-gen] coverage (209/1610): Money\.AccountSpec.multiply.is distributive with add when both succeed (44 mutations)
  3582. 150.04 s [really-safe-money-gen] coverage (208/1610): Money\.AccountSpec.multiply.has an identity\: 1 (20 mutations)
  3583. 150.33 s [really-safe-money-gen] coverage (216/1610): Money\.AccountSpec.fraction.Correctly fractions 100 with 1 % 100 (32 mutations)
  3584. 151.27 s [really-safe-money-gen] coverage (218/1610): Money\.AccountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundUp (30 mutations)
  3585. 151.54 s [really-safe-money-gen] coverage (215/1610): Money\.AccountSpec.fraction.Produces a result that can be multiplied back (39 mutations)
  3586. 157.21 s [really-safe-money-gen] coverage (219/1610): Money\.AccountSpec.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3587. 157.67 s [really-safe-money-gen] coverage (220/1610): Money\.AccountSpec.toRational.produces an invalid Rational with quantisation factor 0 (4 mutations)
  3588. 157.95 s [really-safe-money-gen] coverage (213/1610): Money\.AccountSpec.fraction.Correctly fractions 101 with 1 % 100 (32 mutations)
  3589. 157.99 s [really-safe-money-gen] coverage (221/1610): Money\.MultiAmountSpec.fromAmount.produces valid amounts (15 mutations)
  3590. 158.09 s [really-safe-money-gen] coverage (224/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(/=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antireflexive for "valid (MultiAmount Currency)"s (2 mutations)
  3591. 158.31 s [really-safe-money-gen] coverage (227/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is symmetric for "valid (MultiAmount Currency)"s (1 mutations)
  3592. 158.45 s [really-safe-money-gen] coverage (228/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (MultiAmount Currency)"s (1 mutations)
  3593. 158.48 s [really-safe-money-gen] coverage (225/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(/=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (MultiAmount Currency)"s (1 mutations)
  3594. 158.51 s [really-safe-money-gen] coverage (222/1610): Money\.MultiAmountSpec.Show (MultiAmount Currency) and Read (MultiAmount Currency).are implemented such that read \. show == id for valid values (2 mutations)
  3595. 158.55 s [really-safe-money-gen] coverage (231/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antireflexive for "valid (MultiAmount Currency)"'s (2 mutations)
  3596. 158.64 s [really-safe-money-gen] coverage (226/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"s (1 mutations)
  3597. 158.86 s [really-safe-money-gen] coverage (212/1610): Money\.AccountSpec.GenValid Account.genValid \:\: Gen Account.only generates valid 'Account's (1 mutations)
  3598. 158.86 s [really-safe-money-gen] coverage (232/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
  3599. 158.86 s [really-safe-money-gen] coverage (223/1610): Money\.MultiAmountSpec.zero.is valid (2 mutations)
  3600. 159.15 s [really-safe-money-gen] coverage (235/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (MultiAmount Currency)"'s (2 mutations)
  3601. 159.42 s [really-safe-money-gen] coverage (233/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (MultiAmount Currency)"'s (2 mutations)
  3602. 159.57 s [really-safe-money-gen] coverage (229/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is reflexive for "valid (MultiAmount Currency)"s (2 mutations)
  3603. 159.64 s [really-safe-money-gen] coverage (217/1610): Money\.AccountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundDown (30 mutations)
  3604. 159.75 s [really-safe-money-gen] coverage (237/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antisymmetric for "valid (MultiAmount Currency)"'s (2 mutations)
  3605. 159.99 s [really-safe-money-gen] coverage (236/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
  3606. 160.26 s [really-safe-money-gen] coverage (238/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency)."min \:\: (MultiAmount Currency -> MultiAmount Currency -> MultiAmount Currency)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (MultiAmount Currency)"'s (2 mutations)
  3607. 160.51 s [really-safe-money-gen] coverage (239/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antisymmetric for "valid (MultiAmount Currency)"'s (2 mutations)
  3608. 161.19 s [really-safe-money-gen] coverage (240/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is reflexive for "valid (MultiAmount Currency)"'s (2 mutations)
  3609. 161.96 s [really-safe-money-gen] coverage (241/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
  3610. 167.01 s [really-safe-money-gen] coverage (242/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (MultiAmount Currency)"'s (2 mutations)
  3611. 167.18 s [really-safe-money-gen] coverage (91/1610): Money\.ConversionRateSpec.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  3612. 167.24 s [really-safe-money-gen] coverage (93/1610): Money\.ConversionRateSpec.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  3613. 167.48 s [really-safe-money-gen] coverage (248/1610): Money\.MultiAmountSpec.convertAll.produces valid results when converting two currencies to one (20 mutations)
  3614. 167.54 s [really-safe-money-gen] coverage (243/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency)."max \:\: (MultiAmount Currency -> MultiAmount Currency -> MultiAmount Currency)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (MultiAmount Currency)"'s (2 mutations)
  3615. 167.54 s [really-safe-money-gen] coverage (245/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
  3616. 167.78 s [really-safe-money-gen] coverage (257/1610): Money\.MultiAmountSpec.GenValid (MultiAmount Currency).genValid \:\: Gen (MultiAmount Currency).only generates valid '(MultiAmount Currency)'s (13 mutations)
  3617. 167.80 s [really-safe-money-gen] coverage (256/1610): Money\.MultiAmountSpec.subtractAmount.produces valid amounts (29 mutations)
  3618. 167.81 s [really-safe-money-gen] coverage (250/1610): Money\.MultiAmountSpec.add.produces valid amounts (27 mutations)
  3619. 167.83 s [really-safe-money-gen] coverage (252/1610): Money\.MultiAmountSpec.add.has a left-identity\: zero (4 mutations)
  3620. 168.03 s [really-safe-money-gen] coverage (259/1610): Money\.MultiAmountSpec.subtract.has a right-identity\: zero (2 mutations)
  3621. 168.13 s [really-safe-money-gen] coverage (255/1610): Money\.MultiAmountSpec.addAmount.produces valid amounts (24 mutations)
  3622. 168.16 s [really-safe-money-gen] coverage (234/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is reflexive for "valid (MultiAmount Currency)"'s (2 mutations)
  3623. 168.39 s [really-safe-money-gen] coverage (244/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antireflexive for "valid (MultiAmount Currency)"'s (2 mutations)
  3624. 168.84 s [really-safe-money-gen] coverage (247/1610): Money\.MultiAmountSpec.convertAll.produces the right result in this example (15 mutations)
  3625. 168.96 s [really-safe-money-gen] coverage (261/1610): Money\.MultiAmountSpec.lookupAmount.can find an added amount (5 mutations)
  3626. 168.97 s [really-safe-money-gen] coverage (246/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (MultiAmount Currency)"'s (2 mutations)
  3627. 168.97 s [really-safe-money-gen] coverage (230/1610): Money\.MultiAmountSpec.sum.produces valid amounts (27 mutations)
  3628. 169.00 s [really-safe-money-gen] coverage (253/1610): Money\.MultiAmountSpec.add.is associative when both succeed (16 mutations)
  3629. 169.09 s [really-safe-money-gen] coverage (258/1610): Money\.MultiAmountSpec.subtract.produces valid amounts (28 mutations)
  3630. 169.18 s [really-safe-money-gen] coverage (262/1610): Money\.AccountOfSpec.USD.sum.produces valid amounts (28 mutations)
  3631. 169.31 s [really-safe-money-gen] coverage (254/1610): Money\.MultiAmountSpec.add.is commutative (16 mutations)
  3632. 170.07 s [really-safe-money-gen] coverage (251/1610): Money\.MultiAmountSpec.add.has a right-identity\: zero (2 mutations)
  3633. 170.33 s [really-safe-money-gen] coverage (214/1610): Money\.AccountSpec.fraction.produces valid amounts (39 mutations)
  3634. 170.55 s [really-safe-money-gen] coverage (264/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(/=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * USD)"s (3 mutations)
  3635. 171.22 s [really-safe-money-gen] coverage (265/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(/=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antireflexive for "valid (AccountOf * USD)"s (3 mutations)
  3636. 176.45 s [really-safe-money-gen] coverage (266/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is reflexive for "valid (AccountOf * USD)"s (3 mutations)
  3637. 176.55 s [really-safe-money-gen] coverage (269/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * USD)"s (3 mutations)
  3638. 176.70 s [really-safe-money-gen] coverage (267/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is symmetric for "valid (AccountOf * USD)"s (3 mutations)
  3639. 177.01 s [really-safe-money-gen] coverage (271/1610): Money\.AccountOfSpec.USD.add.is associative when both succeed (27 mutations)
  3640. 177.02 s [really-safe-money-gen] coverage (260/1610): Money\.MultiAmountSpec.lookupAmount.produces valid amounts (2 mutations)
  3641. 177.09 s [really-safe-money-gen] coverage (274/1610): Money\.AccountOfSpec.USD.add.is commutative (27 mutations)
  3642. 177.15 s [really-safe-money-gen] coverage (268/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"s (3 mutations)
  3643. 177.23 s [really-safe-money-gen] coverage (263/1610): Money\.AccountOfSpec.USD.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3644. 177.25 s [really-safe-money-gen] coverage (272/1610): Money\.AccountOfSpec.USD.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3645. 177.30 s [really-safe-money-gen] coverage (273/1610): Money\.AccountOfSpec.USD.add.produces valid amounts (27 mutations)
  3646. 177.55 s [really-safe-money-gen] coverage (279/1610): Money\.AccountOfSpec.USD.fromAmount.produces valid AccountOfs (1 mutations)
  3647. 177.61 s [really-safe-money-gen] coverage (275/1610): Money\.AccountOfSpec.USD.add.has a left-identity\: zero (28 mutations)
  3648. 177.62 s [really-safe-money-gen] coverage (276/1610): Money\.AccountOfSpec.USD.fromAmountOf.produces valid AccountOfs (1 mutations)
  3649. 177.85 s [really-safe-money-gen] coverage (280/1610): Money\.AccountOfSpec.USD.negate.produces valid amounts (1 mutations)
  3650. 178.32 s [really-safe-money-gen] coverage (285/1610): Money\.AccountOfSpec.USD.BTC.convert.produces valid amounts (27 mutations)
  3651. 178.43 s [really-safe-money-gen] coverage (293/1610): Money\.AccountOfSpec.USD.fraction.produces valid amounts (39 mutations)
  3652. 178.44 s [really-safe-money-gen] coverage (270/1610): Money\.AccountOfSpec.USD.add.has a right-identity\: zero (28 mutations)
  3653. 178.47 s [really-safe-money-gen] coverage (286/1610): Money\.AccountOfSpec.USD.INR.rate.produces valid amounts (15 mutations)
  3654. 178.57 s [really-safe-money-gen] coverage (277/1610): Money\.AccountOfSpec.USD.toMinimalQuantisations.produces valid accounts (3 mutations)
  3655. 178.62 s [really-safe-money-gen] coverage (303/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
  3656. 178.76 s [really-safe-money-gen] coverage (304/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antireflexive for "valid (AccountOf * USD)"'s (3 mutations)
  3657. 178.95 s [really-safe-money-gen] coverage (300/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * USD)"'s (3 mutations)
  3658. 179.48 s [really-safe-money-gen] coverage (305/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * USD)"'s (3 mutations)
  3659. 179.90 s [really-safe-money-gen] coverage (296/1610): Money\.AccountOfSpec.USD.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3660. 179.98 s [really-safe-money-gen] coverage (306/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * USD)"'s (3 mutations)
  3661. 180.64 s [really-safe-money-gen] coverage (298/1610): Money\.AccountOfSpec.USD.fromDouble.produces valid rational (38 mutations)
  3662. 185.38 s [really-safe-money-gen] coverage (307/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antisymmetric for "valid (AccountOf * USD)"'s (3 mutations)
  3663. 185.57 s [really-safe-money-gen] coverage (302/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
  3664. 185.78 s [really-safe-money-gen] coverage (297/1610): Money\.AccountOfSpec.USD.GenValid (AccountOf * USD).genValid \:\: Gen (AccountOf * USD).only generates valid '(AccountOf * USD)'s (1 mutations)
  3665. 186.03 s [really-safe-money-gen] coverage (310/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD)."max \:\: (AccountOf * USD -> AccountOf * USD -> AccountOf * USD)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * USD)"'s (3 mutations)
  3666. 186.05 s [really-safe-money-gen] coverage (308/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is reflexive for "valid (AccountOf * USD)"'s (3 mutations)
  3667. 186.09 s [really-safe-money-gen] coverage (309/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
  3668. 186.16 s [really-safe-money-gen] coverage (295/1610): Money\.AccountOfSpec.USD.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3669. 186.21 s [really-safe-money-gen] coverage (312/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is reflexive for "valid (AccountOf * USD)"'s (3 mutations)
  3670. 186.23 s [really-safe-money-gen] coverage (288/1610): Money\.AccountOfSpec.USD.ADA.rate.produces valid amounts (15 mutations)
  3671. 186.24 s [really-safe-money-gen] coverage (311/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * USD)"'s (3 mutations)
  3672. 186.43 s [really-safe-money-gen] coverage (289/1610): Money\.AccountOfSpec.USD.ADA.convert.produces valid amounts (27 mutations)
  3673. 186.46 s [really-safe-money-gen] coverage (278/1610): Money\.AccountOfSpec.USD.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3674. 186.52 s [really-safe-money-gen] coverage (292/1610): Money\.AccountOfSpec.USD.abs.produces valid amounts (1 mutations)
  3675. 186.64 s [really-safe-money-gen] coverage (313/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antisymmetric for "valid (AccountOf * USD)"'s (3 mutations)
  3676. 187.10 s [really-safe-money-gen] coverage (284/1610): Money\.AccountOfSpec.USD.BTC.rate.produces valid amounts (15 mutations)
  3677. 187.23 s [really-safe-money-gen] coverage (290/1610): Money\.AccountOfSpec.USD.CHF.convert.produces valid amounts (27 mutations)
  3678. 187.23 s [really-safe-money-gen] coverage (294/1610): Money\.AccountOfSpec.USD.fraction.Produces a result that can be multiplied back (38 mutations)
  3679. 187.29 s [really-safe-money-gen] coverage (299/1610): Money\.AccountOfSpec.USD.fromDouble.roundtrips with toDouble (40 mutations)
  3680. 187.37 s [really-safe-money-gen] coverage (281/1610): Money\.AccountOfSpec.USD.USD.convert.produces valid amounts (27 mutations)
  3681. 187.42 s [really-safe-money-gen] coverage (283/1610): Money\.AccountOfSpec.USD.Show (AccountOf * USD) and Read (AccountOf * USD).are implemented such that read \. show == id for valid values (3 mutations)
  3682. 187.71 s [really-safe-money-gen] coverage (287/1610): Money\.AccountOfSpec.USD.INR.convert.produces valid amounts (27 mutations)
  3683. 187.72 s [really-safe-money-gen] coverage (282/1610): Money\.AccountOfSpec.USD.USD.rate.produces valid amounts (15 mutations)
  3684. 188.29 s [really-safe-money-gen] coverage (291/1610): Money\.AccountOfSpec.USD.CHF.rate.produces valid amounts (15 mutations)
  3685. 188.75 s [really-safe-money-gen] coverage (314/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
  3686. 188.91 s [really-safe-money-gen] coverage (249/1610): Money\.MultiAmountSpec.convertAll.does the same as 'convert' when there is only one amount (32 mutations)
  3687. 189.37 s [really-safe-money-gen] coverage (315/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD)."min \:\: (AccountOf * USD -> AccountOf * USD -> AccountOf * USD)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * USD)"'s (3 mutations)
  3688. 194.26 s [really-safe-money-gen] coverage (317/1610): Money\.AccountOfSpec.USD.distribute.Show (Distribution (AccountOf * USD)) and Read (Distribution (AccountOf * USD)).are implemented such that read \. show == id for valid values (3 mutations)
  3689. 194.50 s [really-safe-money-gen] coverage (318/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(/=) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * USD))"s (3 mutations)
  3690. 194.73 s [really-safe-money-gen] coverage (319/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(/=) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * USD))"s (3 mutations)
  3691. 195.07 s [really-safe-money-gen] coverage (320/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is reflexive for "valid (Distribution (AccountOf * USD))"s (3 mutations)
  3692. 195.07 s [really-safe-money-gen] coverage (322/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is symmetric for "valid (Distribution (AccountOf * USD))"s (3 mutations)
  3693. 195.17 s [really-safe-money-gen] coverage (324/1610): Money\.AccountOfSpec.USD.distribute.produces valid amounts (34 mutations)
  3694. 195.26 s [really-safe-money-gen] coverage (326/1610): Money\.AccountOfSpec.USD.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3695. 195.31 s [really-safe-money-gen] coverage (323/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * USD))"s (3 mutations)
  3696. 195.35 s [really-safe-money-gen] coverage (321/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is transitive for "valid (Distribution (AccountOf * USD))"s (3 mutations)
  3697. 195.39 s [really-safe-money-gen] coverage (325/1610): Money\.AccountOfSpec.USD.format.produces valid strings (6 mutations)
  3698. 195.56 s [really-safe-money-gen] coverage (328/1610): Money\.AccountOfSpec.USD.fromRational.roundtrips with toRational (31 mutations)
  3699. 195.61 s [really-safe-money-gen] coverage (327/1610): Money\.AccountOfSpec.USD.fromRational.produces valid rational (27 mutations)
  3700. 195.64 s [really-safe-money-gen] coverage (329/1610): Money\.AccountOfSpec.USD.multiply.is absorbed by 0 (20 mutations)
  3701. 195.76 s [really-safe-money-gen] coverage (331/1610): Money\.AccountOfSpec.USD.multiply.produces valid amounts (20 mutations)
  3702. 196.26 s [really-safe-money-gen] coverage (332/1610): Money\.AccountOfSpec.USD.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3703. 196.48 s [really-safe-money-gen] coverage (316/1610): Money\.AccountOfSpec.USD.distribute.produces results that sum up to the greater whole (64 mutations)
  3704. 196.58 s [really-safe-money-gen] coverage (330/1610): Money\.AccountOfSpec.USD.multiply.has an identity\: 1 (20 mutations)
  3705. 196.61 s [really-safe-money-gen] coverage (333/1610): Money\.AccountOfSpec.USD.multiply.is distributive with add when both succeed (44 mutations)
  3706. 196.72 s [really-safe-money-gen] coverage (301/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antireflexive for "valid (AccountOf * USD)"'s (3 mutations)
  3707. 196.89 s [really-safe-money-gen] coverage (334/1610): Money\.AccountOfSpec.USD.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3708. 197.10 s [really-safe-money-gen] coverage (338/1610): Money\.AccountOfSpec.INR.GenValid (AccountOf * INR).genValid \:\: Gen (AccountOf * INR).only generates valid '(AccountOf * INR)'s (1 mutations)
  3709. 197.25 s [really-safe-money-gen] coverage (335/1610): Money\.AccountOfSpec.INR.fromAmount.produces valid AccountOfs (1 mutations)
  3710. 197.52 s [really-safe-money-gen] coverage (336/1610): Money\.AccountOfSpec.INR.USD.convert.produces valid amounts (27 mutations)
  3711. 198.18 s [really-safe-money-gen] coverage (339/1610): Money\.AccountOfSpec.INR.abs.produces valid amounts (1 mutations)
  3712. 198.25 s [really-safe-money-gen] coverage (337/1610): Money\.AccountOfSpec.INR.USD.rate.produces valid amounts (15 mutations)
  3713. 198.83 s [really-safe-money-gen] coverage (341/1610): Money\.AccountOfSpec.INR.add.is associative when both succeed (27 mutations)
  3714. 199.04 s [really-safe-money-gen] coverage (183/1610): Money\.AccountSpec.DecimalLiteral.Account\.toDecimalLiteral.roundtrips with Account\.fromDecimalLiteral (87 mutations)
  3715. 199.41 s [really-safe-money-gen] coverage (184/1610): Money\.AccountSpec.DecimalLiteral.Account\.toDecimalLiteral.produces valid decimal literals (56 mutations)
  3716. 204.19 s [really-safe-money-gen] coverage (342/1610): Money\.AccountOfSpec.INR.add.has a left-identity\: zero (28 mutations)
  3717. 204.50 s [really-safe-money-gen] coverage (343/1610): Money\.AccountOfSpec.INR.add.is commutative (27 mutations)
  3718. 204.59 s [really-safe-money-gen] coverage (344/1610): Money\.AccountOfSpec.INR.add.has a right-identity\: zero (28 mutations)
  3719. 204.73 s [really-safe-money-gen] coverage (346/1610): Money\.AccountOfSpec.INR.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3720. 204.96 s [really-safe-money-gen] coverage (345/1610): Money\.AccountOfSpec.INR.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3721. 205.01 s [really-safe-money-gen] coverage (347/1610): Money\.AccountOfSpec.INR.fraction.produces valid amounts (39 mutations)
  3722. 205.10 s [really-safe-money-gen] coverage (348/1610): Money\.AccountOfSpec.INR.fraction.Produces a result that can be multiplied back (38 mutations)
  3723. 205.23 s [really-safe-money-gen] coverage (349/1610): Money\.AccountOfSpec.INR.distribute.produces results that sum up to the greater whole (64 mutations)
  3724. 205.26 s [really-safe-money-gen] coverage (351/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(/=) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * INR))"s (3 mutations)
  3725. 205.37 s [really-safe-money-gen] coverage (350/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(/=) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * INR))"s (3 mutations)
  3726. 205.38 s [really-safe-money-gen] coverage (356/1610): Money\.AccountOfSpec.INR.distribute.Show (Distribution (AccountOf * INR)) and Read (Distribution (AccountOf * INR)).are implemented such that read \. show == id for valid values (3 mutations)
  3727. 205.48 s [really-safe-money-gen] coverage (355/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is symmetric for "valid (Distribution (AccountOf * INR))"s (3 mutations)
  3728. 205.49 s [really-safe-money-gen] coverage (358/1610): Money\.AccountOfSpec.INR.fromAmountOf.produces valid AccountOfs (1 mutations)
  3729. 205.63 s [really-safe-money-gen] coverage (357/1610): Money\.AccountOfSpec.INR.distribute.produces valid amounts (34 mutations)
  3730. 206.19 s [really-safe-money-gen] coverage (353/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * INR))"s (3 mutations)
  3731. 206.36 s [really-safe-money-gen] coverage (359/1610): Money\.AccountOfSpec.INR.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3732. 206.46 s [really-safe-money-gen] coverage (362/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antisymmetric for "valid (AccountOf * INR)"'s (3 mutations)
  3733. 206.50 s [really-safe-money-gen] coverage (340/1610): Money\.AccountOfSpec.INR.add.produces valid amounts (27 mutations)
  3734. 206.54 s [really-safe-money-gen] coverage (363/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * INR)"'s (3 mutations)
  3735. 206.63 s [really-safe-money-gen] coverage (364/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is reflexive for "valid (AccountOf * INR)"'s (3 mutations)
  3736. 207.13 s [really-safe-money-gen] coverage (352/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is transitive for "valid (Distribution (AccountOf * INR))"s (3 mutations)
  3737. 207.16 s [really-safe-money-gen] coverage (365/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
  3738. 207.36 s [really-safe-money-gen] coverage (354/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is reflexive for "valid (Distribution (AccountOf * INR))"s (3 mutations)
  3739. 208.14 s [really-safe-money-gen] coverage (367/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antireflexive for "valid (AccountOf * INR)"'s (3 mutations)
  3740. 208.23 s [really-safe-money-gen] coverage (370/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
  3741. 208.85 s [really-safe-money-gen] coverage (369/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR)."max \:\: (AccountOf * INR -> AccountOf * INR -> AccountOf * INR)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * INR)"'s (3 mutations)
  3742. 209.08 s [really-safe-money-gen] coverage (372/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antireflexive for "valid (AccountOf * INR)"'s (3 mutations)
  3743. 209.39 s [really-safe-money-gen] coverage (373/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is reflexive for "valid (AccountOf * INR)"'s (3 mutations)
  3744. 214.48 s [really-safe-money-gen] coverage (361/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR)."min \:\: (AccountOf * INR -> AccountOf * INR -> AccountOf * INR)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * INR)"'s (3 mutations)
  3745. 214.88 s [really-safe-money-gen] coverage (366/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
  3746. 215.05 s [really-safe-money-gen] coverage (376/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * INR)"'s (3 mutations)
  3747. 215.22 s [really-safe-money-gen] coverage (377/1610): Money\.AccountOfSpec.INR.CHF.rate.produces valid amounts (15 mutations)
  3748. 215.57 s [really-safe-money-gen] coverage (371/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * INR)"'s (3 mutations)
  3749. 215.60 s [really-safe-money-gen] coverage (378/1610): Money\.AccountOfSpec.INR.CHF.convert.produces valid amounts (27 mutations)
  3750. 215.66 s [really-safe-money-gen] coverage (368/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * INR)"'s (3 mutations)
  3751. 215.78 s [really-safe-money-gen] coverage (374/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
  3752. 215.87 s [really-safe-money-gen] coverage (381/1610): Money\.AccountOfSpec.INR.multiply.is absorbed by 0 (20 mutations)
  3753. 215.87 s [really-safe-money-gen] coverage (360/1610): Money\.AccountOfSpec.INR.sum.produces valid amounts (28 mutations)
  3754. 215.90 s [really-safe-money-gen] coverage (384/1610): Money\.AccountOfSpec.INR.negate.produces valid amounts (1 mutations)
  3755. 215.98 s [really-safe-money-gen] coverage (382/1610): Money\.AccountOfSpec.INR.multiply.produces valid amounts (20 mutations)
  3756. 216.10 s [really-safe-money-gen] coverage (375/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antisymmetric for "valid (AccountOf * INR)"'s (3 mutations)
  3757. 216.15 s [really-safe-money-gen] coverage (379/1610): Money\.AccountOfSpec.INR.multiply.is distributive with add when both succeed (44 mutations)
  3758. 216.87 s [really-safe-money-gen] coverage (380/1610): Money\.AccountOfSpec.INR.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3759. 216.92 s [really-safe-money-gen] coverage (383/1610): Money\.AccountOfSpec.INR.multiply.has an identity\: 1 (20 mutations)
  3760. 217.04 s [really-safe-money-gen] coverage (397/1610): Money\.AccountOfSpec.INR.ADA.rate.produces valid amounts (15 mutations)
  3761. 217.11 s [really-safe-money-gen] coverage (388/1610): Money\.AccountOfSpec.INR.fromRational.produces valid rational (27 mutations)
  3762. 217.17 s [really-safe-money-gen] coverage (387/1610): Money\.AccountOfSpec.INR.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3763. 217.23 s [really-safe-money-gen] coverage (393/1610): Money\.AccountOfSpec.INR.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3764. 217.86 s [really-safe-money-gen] coverage (390/1610): Money\.AccountOfSpec.INR.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3765. 218.00 s [really-safe-money-gen] coverage (400/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(/=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * INR)"s (3 mutations)
  3766. 218.16 s [really-safe-money-gen] coverage (399/1610): Money\.AccountOfSpec.INR.toMinimalQuantisations.produces valid accounts (3 mutations)
  3767. 218.97 s [really-safe-money-gen] coverage (392/1610): Money\.AccountOfSpec.INR.BTC.convert.produces valid amounts (27 mutations)
  3768. 219.05 s [really-safe-money-gen] coverage (386/1610): Money\.AccountOfSpec.INR.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3769. 219.65 s [really-safe-money-gen] coverage (402/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is reflexive for "valid (AccountOf * INR)"s (3 mutations)
  3770. 220.05 s [really-safe-money-gen] coverage (395/1610): Money\.AccountOfSpec.INR.fromDouble.produces valid rational (38 mutations)
  3771. 220.22 s [really-safe-money-gen] coverage (403/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is symmetric for "valid (AccountOf * INR)"s (3 mutations)
  3772. 225.27 s [really-safe-money-gen] coverage (398/1610): Money\.AccountOfSpec.INR.format.produces valid strings (6 mutations)
  3773. 225.65 s [really-safe-money-gen] coverage (405/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * INR)"s (3 mutations)
  3774. 225.81 s [really-safe-money-gen] coverage (406/1610): Money\.AccountOfSpec.INR.INR.convert.produces valid amounts (27 mutations)
  3775. 226.07 s [really-safe-money-gen] coverage (409/1610): Money\.AccountOfSpec.CHF.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3776. 226.09 s [really-safe-money-gen] coverage (404/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"s (3 mutations)
  3777. 226.10 s [really-safe-money-gen] coverage (407/1610): Money\.AccountOfSpec.INR.INR.rate.produces valid amounts (15 mutations)
  3778. 226.32 s [really-safe-money-gen] coverage (391/1610): Money\.AccountOfSpec.INR.BTC.rate.produces valid amounts (15 mutations)
  3779. 226.35 s [really-safe-money-gen] coverage (410/1610): Money\.AccountOfSpec.CHF.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3780. 226.44 s [really-safe-money-gen] coverage (421/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is transitive for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
  3781. 226.56 s [really-safe-money-gen] coverage (385/1610): Money\.AccountOfSpec.INR.Show (AccountOf * INR) and Read (AccountOf * INR).are implemented such that read \. show == id for valid values (3 mutations)
  3782. 226.61 s [really-safe-money-gen] coverage (408/1610): Money\.AccountOfSpec.CHF.fromAmount.produces valid AccountOfs (1 mutations)
  3783. 226.63 s [really-safe-money-gen] coverage (422/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is symmetric for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
  3784. 226.64 s [really-safe-money-gen] coverage (418/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(/=) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
  3785. 226.80 s [really-safe-money-gen] coverage (423/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
  3786. 227.14 s [really-safe-money-gen] coverage (417/1610): Money\.AccountOfSpec.CHF.distribute.produces results that sum up to the greater whole (64 mutations)
  3787. 227.65 s [really-safe-money-gen] coverage (424/1610): Money\.AccountOfSpec.CHF.distribute.Show (Distribution (AccountOf * CHF)) and Read (Distribution (AccountOf * CHF)).are implemented such that read \. show == id for valid values (3 mutations)
  3788. 227.67 s [really-safe-money-gen] coverage (425/1610): Money\.AccountOfSpec.CHF.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3789. 227.71 s [really-safe-money-gen] coverage (389/1610): Money\.AccountOfSpec.INR.fromRational.roundtrips with toRational (31 mutations)
  3790. 227.73 s [really-safe-money-gen] coverage (431/1610): Money\.AccountOfSpec.CHF.BTC.convert.produces valid amounts (27 mutations)
  3791. 227.90 s [really-safe-money-gen] coverage (432/1610): Money\.AccountOfSpec.CHF.BTC.rate.produces valid amounts (15 mutations)
  3792. 228.36 s [really-safe-money-gen] coverage (433/1610): Money\.AccountOfSpec.CHF.toMinimalQuantisations.produces valid accounts (3 mutations)
  3793. 228.51 s [really-safe-money-gen] coverage (434/1610): Money\.AccountOfSpec.CHF.fraction.Produces a result that can be multiplied back (38 mutations)
  3794. 228.73 s [really-safe-money-gen] coverage (435/1610): Money\.AccountOfSpec.CHF.fraction.produces valid amounts (39 mutations)
  3795. 229.41 s [really-safe-money-gen] coverage (437/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"s (3 mutations)
  3796. 229.41 s [really-safe-money-gen] coverage (436/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * CHF)"s (3 mutations)
  3797. 229.90 s [really-safe-money-gen] coverage (438/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is reflexive for "valid (AccountOf * CHF)"s (3 mutations)
  3798. 230.19 s [really-safe-money-gen] coverage (439/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is symmetric for "valid (AccountOf * CHF)"s (3 mutations)
  3799. 230.45 s [really-safe-money-gen] coverage (440/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(/=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * CHF)"s (3 mutations)
  3800. 235.44 s [really-safe-money-gen] coverage (429/1610): Money\.AccountOfSpec.CHF.USD.rate.produces valid amounts (15 mutations)
  3801. 235.79 s [really-safe-money-gen] coverage (441/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(/=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antireflexive for "valid (AccountOf * CHF)"s (3 mutations)
  3802. 236.21 s [really-safe-money-gen] coverage (442/1610): Money\.AccountOfSpec.CHF.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3803. 236.41 s [really-safe-money-gen] coverage (412/1610): Money\.AccountOfSpec.CHF.multiply.is absorbed by 0 (20 mutations)
  3804. 236.41 s [really-safe-money-gen] coverage (411/1610): Money\.AccountOfSpec.CHF.multiply.produces valid amounts (20 mutations)
  3805. 236.61 s [really-safe-money-gen] coverage (416/1610): Money\.AccountOfSpec.CHF.distribute.produces valid amounts (34 mutations)
  3806. 236.71 s [really-safe-money-gen] coverage (444/1610): Money\.AccountOfSpec.CHF.negate.produces valid amounts (1 mutations)
  3807. 236.72 s [really-safe-money-gen] coverage (414/1610): Money\.AccountOfSpec.CHF.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3808. 236.76 s [really-safe-money-gen] coverage (420/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is reflexive for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
  3809. 236.88 s [really-safe-money-gen] coverage (413/1610): Money\.AccountOfSpec.CHF.multiply.is distributive with add when both succeed (44 mutations)
  3810. 236.93 s [really-safe-money-gen] coverage (450/1610): Money\.AccountOfSpec.CHF.fromDouble.roundtrips with toDouble (40 mutations)
  3811. 236.93 s [really-safe-money-gen] coverage (415/1610): Money\.AccountOfSpec.CHF.multiply.has an identity\: 1 (20 mutations)
  3812. 237.12 s [really-safe-money-gen] coverage (448/1610): Money\.AccountOfSpec.CHF.fromRational.roundtrips with toRational (31 mutations)
  3813. 237.18 s [really-safe-money-gen] coverage (452/1610): Money\.AccountOfSpec.CHF.ADA.rate.produces valid amounts (15 mutations)
  3814. 237.58 s [really-safe-money-gen] coverage (451/1610): Money\.AccountOfSpec.CHF.ADA.convert.produces valid amounts (27 mutations)
  3815. 238.00 s [really-safe-money-gen] coverage (456/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antireflexive for "valid (AccountOf * CHF)"'s (3 mutations)
  3816. 238.03 s [really-safe-money-gen] coverage (454/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * CHF)"'s (3 mutations)
  3817. 238.18 s [really-safe-money-gen] coverage (453/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF)."min \:\: (AccountOf * CHF -> AccountOf * CHF -> AccountOf * CHF)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * CHF)"'s (3 mutations)
  3818. 238.26 s [really-safe-money-gen] coverage (458/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antisymmetric for "valid (AccountOf * CHF)"'s (3 mutations)
  3819. 238.27 s [really-safe-money-gen] coverage (457/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * CHF)"'s (3 mutations)
  3820. 238.72 s [really-safe-money-gen] coverage (461/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF)."max \:\: (AccountOf * CHF -> AccountOf * CHF -> AccountOf * CHF)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * CHF)"'s (3 mutations)
  3821. 238.93 s [really-safe-money-gen] coverage (462/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * CHF)"'s (3 mutations)
  3822. 239.13 s [really-safe-money-gen] coverage (463/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antireflexive for "valid (AccountOf * CHF)"'s (3 mutations)
  3823. 239.52 s [really-safe-money-gen] coverage (464/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
  3824. 239.91 s [really-safe-money-gen] coverage (460/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is reflexive for "valid (AccountOf * CHF)"'s (3 mutations)
  3825. 240.37 s [really-safe-money-gen] coverage (465/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * CHF)"'s (3 mutations)
  3826. 240.60 s [really-safe-money-gen] coverage (394/1610): Money\.AccountOfSpec.INR.fromDouble.roundtrips with toDouble (40 mutations)
  3827. 240.77 s [really-safe-money-gen] coverage (466/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is reflexive for "valid (AccountOf * CHF)"'s (3 mutations)
  3828. 245.56 s [really-safe-money-gen] coverage (467/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antisymmetric for "valid (AccountOf * CHF)"'s (3 mutations)
  3829. 245.71 s [really-safe-money-gen] coverage (443/1610): Money\.AccountOfSpec.CHF.fromAmountOf.produces valid AccountOfs (1 mutations)
  3830. 246.26 s [really-safe-money-gen] coverage (445/1610): Money\.AccountOfSpec.CHF.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3831. 246.43 s [really-safe-money-gen] coverage (446/1610): Money\.AccountOfSpec.CHF.format.produces valid strings (6 mutations)
  3832. 246.44 s [really-safe-money-gen] coverage (447/1610): Money\.AccountOfSpec.CHF.fromRational.produces valid rational (27 mutations)
  3833. 246.56 s [really-safe-money-gen] coverage (401/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(/=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antireflexive for "valid (AccountOf * INR)"s (3 mutations)
  3834. 246.64 s [really-safe-money-gen] coverage (473/1610): Money\.AccountOfSpec.CHF.add.is associative when both succeed (27 mutations)
  3835. 246.68 s [really-safe-money-gen] coverage (449/1610): Money\.AccountOfSpec.CHF.fromDouble.produces valid rational (38 mutations)
  3836. 246.76 s [really-safe-money-gen] coverage (470/1610): Money\.AccountOfSpec.CHF.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3837. 246.81 s [really-safe-money-gen] coverage (459/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
  3838. 246.95 s [really-safe-money-gen] coverage (471/1610): Money\.AccountOfSpec.CHF.CHF.rate.produces valid amounts (15 mutations)
  3839. 247.00 s [really-safe-money-gen] coverage (479/1610): Money\.AccountOfSpec.CHF.INR.convert.produces valid amounts (27 mutations)
  3840. 247.11 s [really-safe-money-gen] coverage (485/1610): Money\.AccountOfSpec.ADA.fromRational.produces valid rational (27 mutations)
  3841. 247.11 s [really-safe-money-gen] coverage (482/1610): Money\.AccountOfSpec.ADA.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3842. 247.55 s [really-safe-money-gen] coverage (486/1610): Money\.AccountOfSpec.ADA.fromRational.roundtrips with toRational (31 mutations)
  3843. 247.90 s [really-safe-money-gen] coverage (490/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antisymmetric for "valid (AccountOf * ADA)"'s (3 mutations)
  3844. 247.96 s [really-safe-money-gen] coverage (487/1610): Money\.AccountOfSpec.ADA.Show (AccountOf * ADA) and Read (AccountOf * ADA).are implemented such that read \. show == id for valid values (3 mutations)
  3845. 248.02 s [really-safe-money-gen] coverage (488/1610): Money\.AccountOfSpec.ADA.fraction.Produces a result that can be multiplied back (38 mutations)
  3846. 248.23 s [really-safe-money-gen] coverage (484/1610): Money\.AccountOfSpec.ADA.fromDouble.roundtrips with toDouble (40 mutations)
  3847. 248.39 s [really-safe-money-gen] coverage (491/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is reflexive for "valid (AccountOf * ADA)"'s (3 mutations)
  3848. 248.66 s [really-safe-money-gen] coverage (495/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * ADA)"'s (3 mutations)
  3849. 248.67 s [really-safe-money-gen] coverage (492/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
  3850. 249.10 s [really-safe-money-gen] coverage (496/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
  3851. 249.23 s [really-safe-money-gen] coverage (497/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is reflexive for "valid (AccountOf * ADA)"'s (3 mutations)
  3852. 250.02 s [really-safe-money-gen] coverage (498/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA)."min \:\: (AccountOf * ADA -> AccountOf * ADA -> AccountOf * ADA)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * ADA)"'s (3 mutations)
  3853. 250.43 s [really-safe-money-gen] coverage (499/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antireflexive for "valid (AccountOf * ADA)"'s (3 mutations)
  3854. 250.56 s [really-safe-money-gen] coverage (500/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
  3855. 250.85 s [really-safe-money-gen] coverage (501/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * ADA)"'s (3 mutations)
  3856. 255.52 s [really-safe-money-gen] coverage (502/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA)."max \:\: (AccountOf * ADA -> AccountOf * ADA -> AccountOf * ADA)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * ADA)"'s (3 mutations)
  3857. 255.66 s [really-safe-money-gen] coverage (503/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * ADA)"'s (3 mutations)
  3858. 256.08 s [really-safe-money-gen] coverage (504/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
  3859. 256.35 s [really-safe-money-gen] coverage (506/1610): Money\.AccountOfSpec.ADA.fromAmountOf.produces valid AccountOfs (1 mutations)
  3860. 256.50 s [really-safe-money-gen] coverage (505/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antireflexive for "valid (AccountOf * ADA)"'s (3 mutations)
  3861. 256.58 s [really-safe-money-gen] coverage (507/1610): Money\.AccountOfSpec.ADA.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3862. 256.59 s [really-safe-money-gen] coverage (511/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
  3863. 256.62 s [really-safe-money-gen] coverage (509/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is transitive for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
  3864. 256.64 s [really-safe-money-gen] coverage (508/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is reflexive for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
  3865. 256.76 s [really-safe-money-gen] coverage (512/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(/=) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
  3866. 256.89 s [really-safe-money-gen] coverage (515/1610): Money\.AccountOfSpec.ADA.distribute.produces valid amounts (34 mutations)
  3867. 256.94 s [really-safe-money-gen] coverage (513/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(/=) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
  3868. 256.95 s [really-safe-money-gen] coverage (516/1610): Money\.AccountOfSpec.ADA.distribute.produces results that sum up to the greater whole (64 mutations)
  3869. 256.98 s [really-safe-money-gen] coverage (514/1610): Money\.AccountOfSpec.ADA.distribute.Show (Distribution (AccountOf * ADA)) and Read (Distribution (AccountOf * ADA)).are implemented such that read \. show == id for valid values (3 mutations)
  3870. 257.53 s [really-safe-money-gen] coverage (517/1610): Money\.AccountOfSpec.ADA.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3871. 257.58 s [really-safe-money-gen] coverage (518/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(/=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antireflexive for "valid (AccountOf * ADA)"s (3 mutations)
  3872. 257.76 s [really-safe-money-gen] coverage (520/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is reflexive for "valid (AccountOf * ADA)"s (3 mutations)
  3873. 257.88 s [really-safe-money-gen] coverage (521/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"s (3 mutations)
  3874. 257.97 s [really-safe-money-gen] coverage (519/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(/=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * ADA)"s (3 mutations)
  3875. 257.97 s [really-safe-money-gen] coverage (430/1610): Money\.AccountOfSpec.CHF.USD.convert.produces valid amounts (27 mutations)
  3876. 258.57 s [really-safe-money-gen] coverage (522/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is symmetric for "valid (AccountOf * ADA)"s (3 mutations)
  3877. 258.67 s [really-safe-money-gen] coverage (483/1610): Money\.AccountOfSpec.ADA.fromDouble.produces valid rational (38 mutations)
  3878. 259.09 s [really-safe-money-gen] coverage (489/1610): Money\.AccountOfSpec.ADA.fraction.produces valid amounts (39 mutations)
  3879. 259.15 s [really-safe-money-gen] coverage (481/1610): Money\.AccountOfSpec.ADA.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3880. 259.98 s [really-safe-money-gen] coverage (476/1610): Money\.AccountOfSpec.CHF.add.has a right-identity\: zero (28 mutations)
  3881. 260.28 s [really-safe-money-gen] coverage (469/1610): Money\.AccountOfSpec.CHF.GenValid (AccountOf * CHF).genValid \:\: Gen (AccountOf * CHF).only generates valid '(AccountOf * CHF)'s (1 mutations)
  3882. 260.67 s [really-safe-money-gen] coverage (468/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
  3883. 260.80 s [really-safe-money-gen] coverage (526/1610): Money\.AccountOfSpec.ADA.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3884. 268.54 s [really-safe-money-gen] coverage (480/1610): Money\.AccountOfSpec.CHF.INR.rate.produces valid amounts (15 mutations)
  3885. 269.32 s [really-safe-money-gen] coverage (527/1610): Money\.AccountOfSpec.ADA.negate.produces valid amounts (1 mutations)
  3886. 269.85 s [really-safe-money-gen] coverage (396/1610): Money\.AccountOfSpec.INR.ADA.convert.produces valid amounts (27 mutations)
  3887. 269.99 s [really-safe-money-gen] coverage (475/1610): Money\.AccountOfSpec.CHF.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3888. 270.00 s [really-safe-money-gen] coverage (510/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is symmetric for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
  3889. 270.09 s [really-safe-money-gen] coverage (528/1610): Money\.AccountOfSpec.ADA.CHF.rate.produces valid amounts (15 mutations)
  3890. 270.29 s [really-safe-money-gen] coverage (530/1610): Money\.AccountOfSpec.ADA.INR.rate.produces valid amounts (15 mutations)
  3891. 270.51 s [really-safe-money-gen] coverage (525/1610): Money\.AccountOfSpec.ADA.format.produces valid strings (6 mutations)
  3892. 270.53 s [really-safe-money-gen] coverage (529/1610): Money\.AccountOfSpec.ADA.CHF.convert.produces valid amounts (27 mutations)
  3893. 270.68 s [really-safe-money-gen] coverage (524/1610): Money\.AccountOfSpec.ADA.abs.produces valid amounts (1 mutations)
  3894. 270.73 s [really-safe-money-gen] coverage (541/1610): Money\.AccountOfSpec.ADA.add.is associative when both succeed (27 mutations)
  3895. 270.87 s [really-safe-money-gen] coverage (427/1610): Money\.AccountOfSpec.CHF.Show (AccountOf * CHF) and Read (AccountOf * CHF).are implemented such that read \. show == id for valid values (3 mutations)
  3896. 271.10 s [really-safe-money-gen] coverage (428/1610): Money\.AccountOfSpec.CHF.abs.produces valid amounts (1 mutations)
  3897. 271.14 s [really-safe-money-gen] coverage (523/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * ADA)"s (3 mutations)
  3898. 271.87 s [really-safe-money-gen] coverage (540/1610): Money\.AccountOfSpec.ADA.add.is commutative (27 mutations)
  3899. 271.88 s [really-safe-money-gen] coverage (543/1610): Money\.AccountOfSpec.ADA.add.has a right-identity\: zero (28 mutations)
  3900. 271.99 s [really-safe-money-gen] coverage (426/1610): Money\.AccountOfSpec.CHF.sum.produces valid amounts (28 mutations)
  3901. 272.66 s [really-safe-money-gen] coverage (539/1610): Money\.AccountOfSpec.ADA.add.produces valid amounts (27 mutations)
  3902. 273.21 s [really-safe-money-gen] coverage (542/1610): Money\.AccountOfSpec.ADA.add.has a left-identity\: zero (28 mutations)
  3903. 273.60 s [really-safe-money-gen] coverage (537/1610): Money\.AccountOfSpec.ADA.ADA.rate.produces valid amounts (15 mutations)
  3904. 273.65 s [really-safe-money-gen] coverage (544/1610): Money\.AccountOfSpec.ADA.GenValid (AccountOf * ADA).genValid \:\: Gen (AccountOf * ADA).only generates valid '(AccountOf * ADA)'s (1 mutations)
  3905. 273.75 s [really-safe-money-gen] coverage (533/1610): Money\.AccountOfSpec.ADA.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3906. 274.14 s [really-safe-money-gen] coverage (546/1610): Money\.AccountOfSpec.ADA.BTC.rate.produces valid amounts (15 mutations)
  3907. 275.05 s [really-safe-money-gen] coverage (478/1610): Money\.AccountOfSpec.CHF.add.produces valid amounts (27 mutations)
  3908. 275.52 s [really-safe-money-gen] coverage (550/1610): Money\.AccountOfSpec.ADA.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3909. 275.90 s [really-safe-money-gen] coverage (551/1610): Money\.AccountOfSpec.ADA.multiply.is absorbed by 0 (20 mutations)
  3910. 277.00 s [really-safe-money-gen] coverage (547/1610): Money\.AccountOfSpec.ADA.multiply.produces valid amounts (20 mutations)
  3911. 277.17 s [really-safe-money-gen] coverage (552/1610): Money\.AccountOfSpec.ADA.USD.convert.produces valid amounts (27 mutations)
  3912. 286.67 s [really-safe-money-gen] coverage (553/1610): Money\.AccountOfSpec.ADA.USD.rate.produces valid amounts (15 mutations)
  3913. 287.60 s [really-safe-money-gen] coverage (555/1610): Money\.AccountOfSpec.BTC.add.produces valid amounts (27 mutations)
  3914. 287.66 s [really-safe-money-gen] coverage (545/1610): Money\.AccountOfSpec.ADA.BTC.convert.produces valid amounts (27 mutations)
  3915. 287.72 s [really-safe-money-gen] coverage (554/1610): Money\.AccountOfSpec.BTC.add.is commutative (27 mutations)
  3916. 287.80 s [really-safe-money-gen] coverage (549/1610): Money\.AccountOfSpec.ADA.multiply.has an identity\: 1 (20 mutations)
  3917. 287.92 s [really-safe-money-gen] coverage (536/1610): Money\.AccountOfSpec.ADA.ADA.convert.produces valid amounts (27 mutations)
  3918. 288.50 s [really-safe-money-gen] coverage (556/1610): Money\.AccountOfSpec.BTC.add.has a left-identity\: zero (28 mutations)
  3919. 288.65 s [really-safe-money-gen] coverage (559/1610): Money\.AccountOfSpec.BTC.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3920. 288.68 s [really-safe-money-gen] coverage (538/1610): Money\.AccountOfSpec.ADA.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3921. 288.93 s [really-safe-money-gen] coverage (561/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
  3922. 288.95 s [really-safe-money-gen] coverage (535/1610): Money\.AccountOfSpec.ADA.toMinimalQuantisations.produces valid accounts (3 mutations)
  3923. 289.03 s [really-safe-money-gen] coverage (477/1610): Money\.AccountOfSpec.CHF.add.is commutative (27 mutations)
  3924. 289.05 s [really-safe-money-gen] coverage (531/1610): Money\.AccountOfSpec.ADA.INR.convert.produces valid amounts (27 mutations)
  3925. 289.13 s [really-safe-money-gen] coverage (534/1610): Money\.AccountOfSpec.ADA.sum.produces valid amounts (28 mutations)
  3926. 289.54 s [really-safe-money-gen] coverage (560/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * BTC)"'s (3 mutations)
  3927. 289.92 s [really-safe-money-gen] coverage (548/1610): Money\.AccountOfSpec.ADA.multiply.is distributive with add when both succeed (44 mutations)
  3928. 289.94 s [really-safe-money-gen] coverage (564/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antisymmetric for "valid (AccountOf * BTC)"'s (3 mutations)
  3929. 290.28 s [really-safe-money-gen] coverage (566/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
  3930. 290.50 s [really-safe-money-gen] coverage (563/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * BTC)"'s (3 mutations)
  3931. 291.27 s [really-safe-money-gen] coverage (568/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * BTC)"'s (3 mutations)
  3932. 291.30 s [really-safe-money-gen] coverage (532/1610): Money\.AccountOfSpec.ADA.fromAmount.produces valid AccountOfs (1 mutations)
  3933. 291.61 s [really-safe-money-gen] coverage (562/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antireflexive for "valid (AccountOf * BTC)"'s (3 mutations)
  3934. 292.66 s [really-safe-money-gen] coverage (565/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is reflexive for "valid (AccountOf * BTC)"'s (3 mutations)
  3935. 293.24 s [really-safe-money-gen] coverage (419/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(/=) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
  3936. 293.35 s [really-safe-money-gen] coverage (558/1610): Money\.AccountOfSpec.BTC.add.is associative when both succeed (27 mutations)
  3937. 293.78 s [really-safe-money-gen] coverage (472/1610): Money\.AccountOfSpec.CHF.CHF.convert.produces valid amounts (27 mutations)
  3938. 294.66 s [really-safe-money-gen] coverage (570/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC)."min \:\: (AccountOf * BTC -> AccountOf * BTC -> AccountOf * BTC)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * BTC)"'s (3 mutations)
  3939. 295.78 s [really-safe-money-gen] coverage (569/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antireflexive for "valid (AccountOf * BTC)"'s (3 mutations)
  3940. 303.93 s [really-safe-money-gen] coverage (557/1610): Money\.AccountOfSpec.BTC.add.has a right-identity\: zero (28 mutations)
  3941. 304.98 s [really-safe-money-gen] coverage (571/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC)."max \:\: (AccountOf * BTC -> AccountOf * BTC -> AccountOf * BTC)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * BTC)"'s (3 mutations)
  3942. 305.10 s [really-safe-money-gen] coverage (576/1610): Money\.AccountOfSpec.BTC.BTC.convert.produces valid amounts (27 mutations)
  3943. 305.63 s [really-safe-money-gen] coverage (574/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
  3944. 305.65 s [really-safe-money-gen] coverage (572/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antisymmetric for "valid (AccountOf * BTC)"'s (3 mutations)
  3945. 305.70 s [really-safe-money-gen] coverage (573/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * BTC)"'s (3 mutations)
  3946. 305.81 s [really-safe-money-gen] coverage (474/1610): Money\.AccountOfSpec.CHF.add.has a left-identity\: zero (28 mutations)
  3947. 305.91 s [really-safe-money-gen] coverage (579/1610): Money\.AccountOfSpec.BTC.distribute.produces results that sum up to the greater whole (64 mutations)
  3948. 306.23 s [really-safe-money-gen] coverage (567/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
  3949. 306.34 s [really-safe-money-gen] coverage (578/1610): Money\.AccountOfSpec.BTC.distribute.produces valid amounts (34 mutations)
  3950. 306.35 s [really-safe-money-gen] coverage (494/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antisymmetric for "valid (AccountOf * ADA)"'s (3 mutations)
  3951. 306.45 s [really-safe-money-gen] coverage (493/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * ADA)"'s (3 mutations)
  3952. 306.58 s [really-safe-money-gen] coverage (575/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is reflexive for "valid (AccountOf * BTC)"'s (3 mutations)
  3953. 306.76 s [really-safe-money-gen] coverage (588/1610): Money\.AccountOfSpec.BTC.negate.produces valid amounts (1 mutations)
  3954. 307.57 s [really-safe-money-gen] coverage (581/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
  3955. 307.71 s [really-safe-money-gen] coverage (583/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is symmetric for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
  3956. 307.97 s [really-safe-money-gen] coverage (587/1610): Money\.AccountOfSpec.BTC.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3957. 308.08 s [really-safe-money-gen] coverage (585/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(/=) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
  3958. 308.63 s [really-safe-money-gen] coverage (455/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
  3959. 308.82 s [really-safe-money-gen] coverage (584/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is transitive for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
  3960. 309.35 s [really-safe-money-gen] coverage (582/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is reflexive for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
  3961. 309.79 s [really-safe-money-gen] coverage (586/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(/=) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
  3962. 310.46 s [really-safe-money-gen] coverage (589/1610): Money\.AccountOfSpec.BTC.fromAmountOf.produces valid AccountOfs (1 mutations)
  3963. 311.67 s [really-safe-money-gen] coverage (591/1610): Money\.AccountOfSpec.BTC.multiply.is distributive with add when both succeed (44 mutations)
  3964. 311.77 s [really-safe-money-gen] coverage (593/1610): Money\.AccountOfSpec.BTC.multiply.has an identity\: 1 (20 mutations)
  3965. 312.05 s [really-safe-money-gen] coverage (592/1610): Money\.AccountOfSpec.BTC.multiply.is absorbed by 0 (20 mutations)
  3966. 312.47 s [really-safe-money-gen] coverage (594/1610): Money\.AccountOfSpec.BTC.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3967. 313.03 s [really-safe-money-gen] coverage (590/1610): Money\.AccountOfSpec.BTC.multiply.produces valid amounts (20 mutations)
  3968. 321.93 s [really-safe-money-gen] coverage (595/1610): Money\.AccountOfSpec.BTC.sum.produces valid amounts (28 mutations)
  3969. 322.16 s [really-safe-money-gen] coverage (597/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is reflexive for "valid (AccountOf * BTC)"s (3 mutations)
  3970. 322.59 s [really-safe-money-gen] coverage (596/1610): Money\.AccountOfSpec.BTC.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3971. 322.83 s [really-safe-money-gen] coverage (601/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(/=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antireflexive for "valid (AccountOf * BTC)"s (3 mutations)
  3972. 322.89 s [really-safe-money-gen] coverage (599/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * BTC)"s (3 mutations)
  3973. 323.35 s [really-safe-money-gen] coverage (602/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(/=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * BTC)"s (3 mutations)
  3974. 323.38 s [really-safe-money-gen] coverage (600/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is symmetric for "valid (AccountOf * BTC)"s (3 mutations)
  3975. 323.60 s [really-safe-money-gen] coverage (608/1610): Money\.AccountOfSpec.BTC.ADA.rate.produces valid amounts (15 mutations)
  3976. 324.03 s [really-safe-money-gen] coverage (609/1610): Money\.AccountOfSpec.BTC.fromRational.produces valid rational (27 mutations)
  3977. 324.05 s [really-safe-money-gen] coverage (605/1610): Money\.AccountOfSpec.BTC.USD.rate.produces valid amounts (15 mutations)
  3978. 324.07 s [really-safe-money-gen] coverage (606/1610): Money\.AccountOfSpec.BTC.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3979. 324.16 s [really-safe-money-gen] coverage (598/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"s (3 mutations)
  3980. 324.20 s [really-safe-money-gen] coverage (607/1610): Money\.AccountOfSpec.BTC.ADA.convert.produces valid amounts (27 mutations)
  3981. 324.20 s [really-safe-money-gen] coverage (604/1610): Money\.AccountOfSpec.BTC.USD.convert.produces valid amounts (27 mutations)
  3982. 325.07 s [really-safe-money-gen] coverage (603/1610): Money\.AccountOfSpec.BTC.format.produces valid strings (6 mutations)
  3983. 325.27 s [really-safe-money-gen] coverage (610/1610): Money\.AccountOfSpec.BTC.fromRational.roundtrips with toRational (31 mutations)
  3984. 325.64 s [really-safe-money-gen] coverage (611/1610): Money\.AccountOfSpec.BTC.Show (AccountOf * BTC) and Read (AccountOf * BTC).are implemented such that read \. show == id for valid values (3 mutations)
  3985. 325.73 s [really-safe-money-gen] coverage (616/1610): Money\.AccountOfSpec.BTC.INR.convert.produces valid amounts (27 mutations)
  3986. 325.88 s [really-safe-money-gen] coverage (615/1610): Money\.AccountOfSpec.BTC.INR.rate.produces valid amounts (15 mutations)
  3987. 326.09 s [really-safe-money-gen] coverage (613/1610): Money\.AccountOfSpec.BTC.GenValid (AccountOf * BTC).genValid \:\: Gen (AccountOf * BTC).only generates valid '(AccountOf * BTC)'s (1 mutations)
  3988. 326.68 s [really-safe-money-gen] coverage (612/1610): Money\.AccountOfSpec.BTC.toMinimalQuantisations.produces valid accounts (3 mutations)
  3989. 327.10 s [really-safe-money-gen] coverage (614/1610): Money\.AccountOfSpec.BTC.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3990. 327.59 s [really-safe-money-gen] coverage (617/1610): Money\.AccountOfSpec.BTC.fromDouble.roundtrips with toDouble (40 mutations)
  3991. 328.48 s [really-safe-money-gen] coverage (621/1610): Money\.AccountOfSpec.BTC.CHF.rate.produces valid amounts (15 mutations)
  3992. 328.90 s [really-safe-money-gen] coverage (619/1610): Money\.AccountOfSpec.BTC.fraction.produces valid amounts (39 mutations)
  3993. 329.32 s [really-safe-money-gen] coverage (618/1610): Money\.AccountOfSpec.BTC.fromDouble.produces valid rational (38 mutations)
  3994. 329.82 s [really-safe-money-gen] coverage (577/1610): Money\.AccountOfSpec.BTC.BTC.rate.produces valid amounts (15 mutations)
  3995. 330.45 s [really-safe-money-gen] coverage (580/1610): Money\.AccountOfSpec.BTC.distribute.Show (Distribution (AccountOf * BTC)) and Read (Distribution (AccountOf * BTC)).are implemented such that read \. show == id for valid values (3 mutations)
  3996. 338.26 s [really-safe-money-gen] coverage (624/1610): Money\.AccountOfSpec.BTC.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3997. 338.51 s [really-safe-money-gen] coverage (623/1610): Money\.AccountOfSpec.BTC.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3998. 338.69 s [really-safe-money-gen] coverage (622/1610): Money\.AccountOfSpec.BTC.CHF.convert.produces valid amounts (27 mutations)
  3999. 339.25 s [really-safe-money-gen] coverage (620/1610): Money\.AccountOfSpec.BTC.fraction.Produces a result that can be multiplied back (38 mutations)
  4000. 339.79 s [really-safe-money-gen] coverage (627/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4001. 339.97 s [really-safe-money-gen] coverage (634/1610): Money\.ConversionRateOfSpec.INR.ADA.compose.produces valid rates (8 mutations)
  4002. 340.05 s [really-safe-money-gen] coverage (625/1610): Money\.AccountOfSpec.BTC.fromAmount.produces valid AccountOfs (1 mutations)
  4003. 340.30 s [really-safe-money-gen] coverage (631/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4004. 340.52 s [really-safe-money-gen] coverage (630/1610): Money\.ConversionRateOfSpec.INR.ADA.GenValid (ConversionRateOf INR ADA).genValid \:\: Gen (ConversionRateOf INR ADA).only generates valid '(ConversionRateOf INR ADA)'s (6 mutations)
  4005. 340.81 s [really-safe-money-gen] coverage (626/1610): Money\.AccountOfSpec.BTC.abs.produces valid amounts (1 mutations)
  4006. 341.21 s [really-safe-money-gen] coverage (633/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4007. 341.34 s [really-safe-money-gen] coverage (632/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4008. 341.44 s [really-safe-money-gen] coverage (628/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4009. 341.85 s [really-safe-money-gen] coverage (629/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4010. 342.14 s [really-safe-money-gen] coverage (637/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4011. 342.31 s [really-safe-money-gen] coverage (639/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4012. 343.10 s [really-safe-money-gen] coverage (643/1610): Money\.ConversionRateOfSpec.INR.BTC.compose.produces valid rates (8 mutations)
  4013. 343.10 s [really-safe-money-gen] coverage (635/1610): Money\.ConversionRateOfSpec.INR.ADA.invert.produces valid rates (8 mutations)
  4014. 343.74 s [really-safe-money-gen] coverage (644/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4015. 344.33 s [really-safe-money-gen] coverage (645/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4016. 344.45 s [really-safe-money-gen] coverage (646/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4017. 344.49 s [really-safe-money-gen] coverage (638/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4018. 345.70 s [really-safe-money-gen] coverage (636/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4019. 345.74 s [really-safe-money-gen] coverage (647/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4020. 346.59 s [really-safe-money-gen] coverage (648/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4021. 347.20 s [really-safe-money-gen] coverage (650/1610): Money\.ConversionRateOfSpec.INR.BTC.GenValid (ConversionRateOf INR BTC).genValid \:\: Gen (ConversionRateOf INR BTC).only generates valid '(ConversionRateOf INR BTC)'s (6 mutations)
  4022. 347.66 s [really-safe-money-gen] coverage (651/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4023. 348.41 s [really-safe-money-gen] coverage (652/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4024. 356.38 s [really-safe-money-gen] coverage (654/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4025. 356.75 s [really-safe-money-gen] coverage (655/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4026. 356.87 s [really-safe-money-gen] coverage (657/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4027. 356.97 s [really-safe-money-gen] coverage (653/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4028. 357.83 s [really-safe-money-gen] coverage (662/1610): Money\.ConversionRateOfSpec.INR.CHF.GenValid (ConversionRateOf INR CHF).genValid \:\: Gen (ConversionRateOf INR CHF).only generates valid '(ConversionRateOf INR CHF)'s (6 mutations)
  4029. 357.92 s [really-safe-money-gen] coverage (671/1610): Money\.ConversionRateOfSpec.INR.USD.compose.produces valid rates (8 mutations)
  4030. 357.92 s [really-safe-money-gen] coverage (660/1610): Money\.ConversionRateOfSpec.INR.CHF.invert.produces valid rates (8 mutations)
  4031. 357.94 s [really-safe-money-gen] coverage (659/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4032. 358.11 s [really-safe-money-gen] coverage (661/1610): Money\.ConversionRateOfSpec.INR.CHF.compose.produces valid rates (8 mutations)
  4033. 358.16 s [really-safe-money-gen] coverage (642/1610): Money\.ConversionRateOfSpec.INR.BTC.invert.produces valid rates (8 mutations)
  4034. 358.31 s [really-safe-money-gen] coverage (667/1610): Money\.ConversionRateOfSpec.INR.USD.invert.produces valid rates (8 mutations)
  4035. 358.48 s [really-safe-money-gen] coverage (641/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4036. 358.63 s [really-safe-money-gen] coverage (658/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4037. 359.17 s [really-safe-money-gen] coverage (669/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4038. 359.18 s [really-safe-money-gen] coverage (668/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4039. 359.20 s [really-safe-money-gen] coverage (640/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4040. 361.03 s [really-safe-money-gen] coverage (664/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.toRational.produces valid rationals (0 mutations)
  4041. 361.43 s [really-safe-money-gen] coverage (673/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4042. 361.91 s [really-safe-money-gen] coverage (672/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4043. 362.41 s [really-safe-money-gen] coverage (674/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4044. 362.53 s [really-safe-money-gen] coverage (649/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4045. 362.60 s [really-safe-money-gen] coverage (670/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4046. 362.89 s [really-safe-money-gen] coverage (677/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4047. 363.08 s [really-safe-money-gen] coverage (676/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4048. 363.27 s [really-safe-money-gen] coverage (675/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.toRational.produces valid rationals (0 mutations)
  4049. 365.09 s [really-safe-money-gen] coverage (680/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4050. 365.64 s [really-safe-money-gen] coverage (678/1610): Money\.ConversionRateOfSpec.INR.INR.GenValid (ConversionRateOf INR INR).genValid \:\: Gen (ConversionRateOf INR INR).only generates valid '(ConversionRateOf INR INR)'s (6 mutations)
  4051. 366.72 s [really-safe-money-gen] coverage (679/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4052. 377.55 s [really-safe-money-gen] coverage (683/1610): Money\.ConversionRateOfSpec.INR.INR.invert.produces valid rates (8 mutations)
  4053. 377.69 s [really-safe-money-gen] coverage (687/1610): Money\.ConversionRateOfSpec.ADA.USD.compose.produces valid rates (8 mutations)
  4054. 377.72 s [really-safe-money-gen] coverage (684/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4055. 378.15 s [really-safe-money-gen] coverage (691/1610): Money\.ConversionRateOfSpec.ADA.USD.invert.produces valid rates (8 mutations)
  4056. 378.23 s [really-safe-money-gen] coverage (682/1610): Money\.ConversionRateOfSpec.INR.INR.compose.produces valid rates (8 mutations)
  4057. 378.62 s [really-safe-money-gen] coverage (686/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4058. 378.62 s [really-safe-money-gen] coverage (681/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4059. 378.64 s [really-safe-money-gen] coverage (690/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4060. 378.75 s [really-safe-money-gen] coverage (689/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4061. 378.94 s [really-safe-money-gen] coverage (688/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4062. 379.20 s [really-safe-money-gen] coverage (685/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4063. 379.29 s [really-safe-money-gen] coverage (692/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4064. 379.85 s [really-safe-money-gen] coverage (697/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4065. 379.98 s [really-safe-money-gen] coverage (695/1610): Money\.ConversionRateOfSpec.ADA.USD.GenValid (ConversionRateOf ADA USD).genValid \:\: Gen (ConversionRateOf ADA USD).only generates valid '(ConversionRateOf ADA USD)'s (6 mutations)
  4066. 380.00 s [really-safe-money-gen] coverage (696/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4067. 380.06 s [really-safe-money-gen] coverage (693/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4068. 381.87 s [really-safe-money-gen] coverage (709/1610): Money\.ConversionRateOfSpec.ADA.CHF.GenValid (ConversionRateOf ADA CHF).genValid \:\: Gen (ConversionRateOf ADA CHF).only generates valid '(ConversionRateOf ADA CHF)'s (6 mutations)
  4069. 381.97 s [really-safe-money-gen] coverage (702/1610): Money\.ConversionRateOfSpec.ADA.CHF.compose.produces valid rates (8 mutations)
  4070. 382.02 s [really-safe-money-gen] coverage (700/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4071. 382.67 s [really-safe-money-gen] coverage (706/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4072. 383.76 s [really-safe-money-gen] coverage (699/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4073. 383.99 s [really-safe-money-gen] coverage (704/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4074. 385.11 s [really-safe-money-gen] coverage (703/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4075. 385.80 s [really-safe-money-gen] coverage (708/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4076. 386.71 s [really-safe-money-gen] coverage (710/1610): Money\.ConversionRateOfSpec.ADA.CHF.invert.produces valid rates (8 mutations)
  4077. 390.16 s [really-safe-money-gen] coverage (705/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4078. 391.51 s [really-safe-money-gen] coverage (698/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4079. 392.14 s [really-safe-money-gen] coverage (701/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4080. 396.15 s [really-safe-money-gen] coverage (712/1610): Money\.ConversionRateOfSpec.ADA.ADA.invert.produces valid rates (8 mutations)
  4081. 396.33 s [really-safe-money-gen] coverage (733/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4082. 396.40 s [really-safe-money-gen] coverage (707/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4083. 397.87 s [really-safe-money-gen] coverage (730/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4084. 398.11 s [really-safe-money-gen] coverage (729/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4085. 398.63 s [really-safe-money-gen] coverage (732/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4086. 398.86 s [really-safe-money-gen] coverage (738/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.toRational.produces valid rationals (0 mutations)
  4087. 399.00 s [really-safe-money-gen] coverage (728/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4088. 399.01 s [really-safe-money-gen] coverage (694/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.toRational.produces valid rationals (0 mutations)
  4089. 399.02 s [really-safe-money-gen] coverage (714/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4090. 399.09 s [really-safe-money-gen] coverage (736/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4091. 399.50 s [really-safe-money-gen] coverage (735/1610): Money\.ConversionRateOfSpec.ADA.INR.GenValid (ConversionRateOf ADA INR).genValid \:\: Gen (ConversionRateOf ADA INR).only generates valid '(ConversionRateOf ADA INR)'s (6 mutations)
  4092. 399.50 s [really-safe-money-gen] coverage (740/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4093. 399.63 s [really-safe-money-gen] coverage (713/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4094. 399.79 s [really-safe-money-gen] coverage (737/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4095. 400.63 s [really-safe-money-gen] coverage (731/1610): Money\.ConversionRateOfSpec.ADA.BTC.compose.produces valid rates (8 mutations)
  4096. 401.05 s [really-safe-money-gen] coverage (739/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4097. 401.06 s [really-safe-money-gen] coverage (741/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4098. 402.16 s [really-safe-money-gen] coverage (720/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4099. 402.58 s [really-safe-money-gen] coverage (727/1610): Money\.ConversionRateOfSpec.ADA.BTC.invert.produces valid rates (8 mutations)
  4100. 403.68 s [really-safe-money-gen] coverage (715/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4101. 404.27 s [really-safe-money-gen] coverage (711/1610): Money\.ConversionRateOfSpec.ADA.ADA.GenValid (ConversionRateOf ADA ADA).genValid \:\: Gen (ConversionRateOf ADA ADA).only generates valid '(ConversionRateOf ADA ADA)'s (6 mutations)
  4102. 404.39 s [really-safe-money-gen] coverage (742/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4103. 405.41 s [really-safe-money-gen] coverage (743/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4104. 405.42 s [really-safe-money-gen] coverage (745/1610): Money\.ConversionRateOfSpec.ADA.INR.compose.produces valid rates (8 mutations)
  4105. 405.85 s [really-safe-money-gen] coverage (744/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4106. 408.66 s [really-safe-money-gen] coverage (746/1610): Money\.ConversionRateOfSpec.ADA.INR.invert.produces valid rates (8 mutations)
  4107. 411.63 s [really-safe-money-gen] coverage (724/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4108. 413.81 s [really-safe-money-gen] coverage (748/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4109. 414.24 s [really-safe-money-gen] coverage (747/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4110. 414.38 s [really-safe-money-gen] coverage (725/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4111. 415.90 s [really-safe-money-gen] coverage (749/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4112. 416.45 s [really-safe-money-gen] coverage (750/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4113. 416.88 s [really-safe-money-gen] coverage (719/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4114. 416.91 s [really-safe-money-gen] coverage (751/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4115. 417.46 s [really-safe-money-gen] coverage (716/1610): Money\.ConversionRateOfSpec.ADA.ADA.compose.produces valid rates (8 mutations)
  4116. 418.49 s [really-safe-money-gen] coverage (757/1610): Money\.ConversionRateOfSpec.CHF.BTC.invert.produces valid rates (8 mutations)
  4117. 418.63 s [really-safe-money-gen] coverage (721/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4118. 420.48 s [really-safe-money-gen] coverage (718/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4119. 420.60 s [really-safe-money-gen] coverage (752/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4120. 420.86 s [really-safe-money-gen] coverage (726/1610): Money\.ConversionRateOfSpec.ADA.BTC.GenValid (ConversionRateOf ADA BTC).genValid \:\: Gen (ConversionRateOf ADA BTC).only generates valid '(ConversionRateOf ADA BTC)'s (6 mutations)
  4121. 421.36 s [really-safe-money-gen] coverage (723/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4122. 421.43 s [really-safe-money-gen] coverage (765/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4123. 422.92 s [really-safe-money-gen] coverage (758/1610): Money\.ConversionRateOfSpec.CHF.BTC.GenValid (ConversionRateOf CHF BTC).genValid \:\: Gen (ConversionRateOf CHF BTC).only generates valid '(ConversionRateOf CHF BTC)'s (6 mutations)
  4124. 423.95 s [really-safe-money-gen] coverage (764/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4125. 423.98 s [really-safe-money-gen] coverage (759/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4126. 424.42 s [really-safe-money-gen] coverage (762/1610): Money\.ConversionRateOfSpec.CHF.ADA.invert.produces valid rates (8 mutations)
  4127. 424.66 s [really-safe-money-gen] coverage (722/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4128. 428.81 s [really-safe-money-gen] coverage (763/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4129. 428.97 s [really-safe-money-gen] coverage (761/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4130. 429.05 s [really-safe-money-gen] coverage (768/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4131. 430.14 s [really-safe-money-gen] coverage (666/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4132. 430.71 s [really-safe-money-gen] coverage (753/1610): Money\.ConversionRateOfSpec.CHF.BTC.compose.produces valid rates (8 mutations)
  4133. 430.82 s [really-safe-money-gen] coverage (766/1610): Money\.ConversionRateOfSpec.CHF.ADA.compose.produces valid rates (8 mutations)
  4134. 430.87 s [really-safe-money-gen] coverage (769/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4135. 430.93 s [really-safe-money-gen] coverage (760/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4136. 432.46 s [really-safe-money-gen] coverage (755/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4137. 432.66 s [really-safe-money-gen] coverage (772/1610): Money\.ConversionRateOfSpec.CHF.USD.GenValid (ConversionRateOf CHF USD).genValid \:\: Gen (ConversionRateOf CHF USD).only generates valid '(ConversionRateOf CHF USD)'s (6 mutations)
  4138. 432.81 s [really-safe-money-gen] coverage (665/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4139. 433.88 s [really-safe-money-gen] coverage (717/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4140. 433.91 s [really-safe-money-gen] coverage (780/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4141. 433.98 s [really-safe-money-gen] coverage (656/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4142. 434.87 s [really-safe-money-gen] coverage (754/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4143. 436.30 s [really-safe-money-gen] coverage (771/1610): Money\.ConversionRateOfSpec.CHF.USD.invert.produces valid rates (8 mutations)
  4144. 436.60 s [really-safe-money-gen] coverage (663/1610): Money\.ConversionRateOfSpec.INR.USD.GenValid (ConversionRateOf INR USD).genValid \:\: Gen (ConversionRateOf INR USD).only generates valid '(ConversionRateOf INR USD)'s (6 mutations)
  4145. 436.62 s [really-safe-money-gen] coverage (796/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4146. 437.63 s [really-safe-money-gen] coverage (774/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4147. 437.86 s [really-safe-money-gen] coverage (779/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.toRational.produces valid rationals (0 mutations)
  4148. 438.96 s [really-safe-money-gen] coverage (775/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4149. 439.62 s [really-safe-money-gen] coverage (734/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4150. 440.26 s [really-safe-money-gen] coverage (770/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4151. 440.49 s [really-safe-money-gen] coverage (776/1610): Money\.ConversionRateOfSpec.CHF.USD.compose.produces valid rates (8 mutations)
  4152. 442.22 s [really-safe-money-gen] coverage (777/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4153. 442.34 s [really-safe-money-gen] coverage (756/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4154. 442.81 s [really-safe-money-gen] coverage (778/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4155. 443.30 s [really-safe-money-gen] coverage (787/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4156. 443.39 s [really-safe-money-gen] coverage (767/1610): Money\.ConversionRateOfSpec.CHF.ADA.GenValid (ConversionRateOf CHF ADA).genValid \:\: Gen (ConversionRateOf CHF ADA).only generates valid '(ConversionRateOf CHF ADA)'s (6 mutations)
  4157. 446.76 s [really-safe-money-gen] coverage (773/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4158. 447.30 s [really-safe-money-gen] coverage (783/1610): Money\.ConversionRateOfSpec.CHF.CHF.GenValid (ConversionRateOf CHF CHF).genValid \:\: Gen (ConversionRateOf CHF CHF).only generates valid '(ConversionRateOf CHF CHF)'s (6 mutations)
  4159. 447.72 s [really-safe-money-gen] coverage (797/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4160. 447.98 s [really-safe-money-gen] coverage (786/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4161. 448.81 s [really-safe-money-gen] coverage (788/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4162. 450.03 s [really-safe-money-gen] coverage (789/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4163. 450.50 s [really-safe-money-gen] coverage (791/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4164. 451.17 s [really-safe-money-gen] coverage (790/1610): Money\.ConversionRateOfSpec.CHF.CHF.invert.produces valid rates (8 mutations)
  4165. 451.33 s [really-safe-money-gen] coverage (785/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4166. 451.82 s [really-safe-money-gen] coverage (793/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4167. 451.92 s [really-safe-money-gen] coverage (792/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4168. 452.63 s [really-safe-money-gen] coverage (794/1610): Money\.ConversionRateOfSpec.CHF.CHF.compose.produces valid rates (8 mutations)
  4169. 452.77 s [really-safe-money-gen] coverage (798/1610): Money\.ConversionRateOfSpec.CHF.INR.compose.produces valid rates (8 mutations)
  4170. 453.22 s [really-safe-money-gen] coverage (795/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4171. 453.75 s [really-safe-money-gen] coverage (799/1610): Money\.ConversionRateOfSpec.CHF.INR.invert.produces valid rates (8 mutations)
  4172. 454.33 s [really-safe-money-gen] coverage (800/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4173. 454.91 s [really-safe-money-gen] coverage (801/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4174. 455.69 s [really-safe-money-gen] coverage (805/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4175. 456.00 s [really-safe-money-gen] coverage (803/1610): Money\.ConversionRateOfSpec.CHF.INR.GenValid (ConversionRateOf CHF INR).genValid \:\: Gen (ConversionRateOf CHF INR).only generates valid '(ConversionRateOf CHF INR)'s (6 mutations)
  4176. 456.55 s [really-safe-money-gen] coverage (802/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4177. 456.63 s [really-safe-money-gen] coverage (807/1610): Money\.ConversionRateOfSpec.USD.CHF.GenValid (ConversionRateOf USD CHF).genValid \:\: Gen (ConversionRateOf USD CHF).only generates valid '(ConversionRateOf USD CHF)'s (6 mutations)
  4178. 457.27 s [really-safe-money-gen] coverage (804/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4179. 458.07 s [really-safe-money-gen] coverage (808/1610): Money\.ConversionRateOfSpec.USD.CHF.invert.produces valid rates (8 mutations)
  4180. 460.33 s [really-safe-money-gen] coverage (810/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4181. 460.56 s [really-safe-money-gen] coverage (813/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4182. 460.82 s [really-safe-money-gen] coverage (812/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4183. 460.99 s [really-safe-money-gen] coverage (809/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4184. 461.27 s [really-safe-money-gen] coverage (811/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4185. 464.19 s [really-safe-money-gen] coverage (814/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4186. 464.45 s [really-safe-money-gen] coverage (784/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4187. 465.01 s [really-safe-money-gen] coverage (816/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4188. 465.13 s [really-safe-money-gen] coverage (820/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4189. 465.77 s [really-safe-money-gen] coverage (782/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4190. 466.32 s [really-safe-money-gen] coverage (781/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4191. 466.62 s [really-safe-money-gen] coverage (815/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4192. 467.15 s [really-safe-money-gen] coverage (818/1610): Money\.ConversionRateOfSpec.USD.CHF.compose.produces valid rates (8 mutations)
  4193. 468.70 s [really-safe-money-gen] coverage (825/1610): Money\.ConversionRateOfSpec.USD.USD.invert.produces valid rates (8 mutations)
  4194. 468.75 s [really-safe-money-gen] coverage (806/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.toRational.produces valid rationals (0 mutations)
  4195. 469.55 s [really-safe-money-gen] coverage (826/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.toRational.produces valid rationals (0 mutations)
  4196. 469.73 s [really-safe-money-gen] coverage (828/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4197. 470.18 s [really-safe-money-gen] coverage (822/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4198. 470.57 s [really-safe-money-gen] coverage (821/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4199. 470.68 s [really-safe-money-gen] coverage (830/1610): Money\.ConversionRateOfSpec.USD.USD.GenValid (ConversionRateOf USD USD).genValid \:\: Gen (ConversionRateOf USD USD).only generates valid '(ConversionRateOf USD USD)'s (6 mutations)
  4200. 471.13 s [really-safe-money-gen] coverage (827/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4201. 471.97 s [really-safe-money-gen] coverage (832/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4202. 472.48 s [really-safe-money-gen] coverage (833/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4203. 472.49 s [really-safe-money-gen] coverage (835/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4204. 472.66 s [really-safe-money-gen] coverage (829/1610): Money\.ConversionRateOfSpec.USD.USD.compose.produces valid rates (8 mutations)
  4205. 473.86 s [really-safe-money-gen] coverage (819/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4206. 475.08 s [really-safe-money-gen] coverage (852/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4207. 477.41 s [really-safe-money-gen] coverage (855/1610): Money\.ConversionRateOfSpec.USD.ADA.GenValid (ConversionRateOf USD ADA).genValid \:\: Gen (ConversionRateOf USD ADA).only generates valid '(ConversionRateOf USD ADA)'s (6 mutations)
  4208. 477.57 s [really-safe-money-gen] coverage (853/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4209. 477.63 s [really-safe-money-gen] coverage (834/1610): Money\.ConversionRateOfSpec.USD.INR.compose.produces valid rates (8 mutations)
  4210. 477.69 s [really-safe-money-gen] coverage (823/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4211. 478.51 s [really-safe-money-gen] coverage (838/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4212. 479.07 s [really-safe-money-gen] coverage (857/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4213. 481.03 s [really-safe-money-gen] coverage (849/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4214. 481.56 s [really-safe-money-gen] coverage (850/1610): Money\.ConversionRateOfSpec.USD.BTC.GenValid (ConversionRateOf USD BTC).genValid \:\: Gen (ConversionRateOf USD BTC).only generates valid '(ConversionRateOf USD BTC)'s (6 mutations)
  4215. 482.27 s [really-safe-money-gen] coverage (836/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4216. 482.69 s [really-safe-money-gen] coverage (856/1610): Money\.ConversionRateOfSpec.USD.ADA.compose.produces valid rates (8 mutations)
  4217. 482.90 s [really-safe-money-gen] coverage (844/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4218. 483.83 s [really-safe-money-gen] coverage (824/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4219. 484.07 s [really-safe-money-gen] coverage (817/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4220. 484.15 s [really-safe-money-gen] coverage (847/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4221. 485.00 s [really-safe-money-gen] coverage (864/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4222. 485.69 s [really-safe-money-gen] coverage (865/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4223. 485.79 s [really-safe-money-gen] coverage (861/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4224. 486.73 s [really-safe-money-gen] coverage (862/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4225. 487.33 s [really-safe-money-gen] coverage (863/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4226. 487.72 s [really-safe-money-gen] coverage (846/1610): Money\.ConversionRateOfSpec.USD.BTC.compose.produces valid rates (8 mutations)
  4227. 488.63 s [really-safe-money-gen] coverage (860/1610): Money\.ConversionRateOfSpec.USD.ADA.invert.produces valid rates (8 mutations)
  4228. 488.63 s [really-safe-money-gen] coverage (845/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4229. 488.90 s [really-safe-money-gen] coverage (859/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4230. 489.10 s [really-safe-money-gen] coverage (842/1610): Money\.ConversionRateOfSpec.USD.INR.GenValid (ConversionRateOf USD INR).genValid \:\: Gen (ConversionRateOf USD INR).only generates valid '(ConversionRateOf USD INR)'s (6 mutations)
  4231. 489.58 s [really-safe-money-gen] coverage (866/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4232. 490.30 s [really-safe-money-gen] coverage (858/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4233. 491.79 s [really-safe-money-gen] coverage (854/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4234. 491.96 s [really-safe-money-gen] coverage (840/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4235. 494.12 s [really-safe-money-gen] coverage (841/1610): Money\.ConversionRateOfSpec.USD.INR.invert.produces valid rates (8 mutations)
  4236. 494.28 s [really-safe-money-gen] coverage (851/1610): Money\.ConversionRateOfSpec.USD.BTC.invert.produces valid rates (8 mutations)
  4237. 494.39 s [really-safe-money-gen] coverage (843/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4238. 495.24 s [really-safe-money-gen] coverage (878/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4239. 495.28 s [really-safe-money-gen] coverage (877/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4240. 497.80 s [really-safe-money-gen] coverage (872/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4241. 498.27 s [really-safe-money-gen] coverage (875/1610): Money\.ConversionRateOfSpec.BTC.ADA.GenValid (ConversionRateOf BTC ADA).genValid \:\: Gen (ConversionRateOf BTC ADA).only generates valid '(ConversionRateOf BTC ADA)'s (6 mutations)
  4242. 499.32 s [really-safe-money-gen] coverage (871/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4243. 499.82 s [really-safe-money-gen] coverage (873/1610): Money\.ConversionRateOfSpec.BTC.ADA.compose.produces valid rates (8 mutations)
  4244. 500.06 s [really-safe-money-gen] coverage (874/1610): Money\.ConversionRateOfSpec.BTC.ADA.invert.produces valid rates (8 mutations)
  4245. 500.37 s [really-safe-money-gen] coverage (876/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4246. 501.87 s [really-safe-money-gen] coverage (868/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4247. 502.00 s [really-safe-money-gen] coverage (869/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4248. 502.04 s [really-safe-money-gen] coverage (870/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4249. 503.52 s [really-safe-money-gen] coverage (867/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4250. 504.18 s [really-safe-money-gen] coverage (885/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4251. 504.73 s [really-safe-money-gen] coverage (884/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4252. 504.83 s [really-safe-money-gen] coverage (883/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4253. 505.16 s [really-safe-money-gen] coverage (880/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4254. 505.65 s [really-safe-money-gen] coverage (881/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4255. 506.38 s [really-safe-money-gen] coverage (837/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.toRational.produces valid rationals (0 mutations)
  4256. 506.58 s [really-safe-money-gen] coverage (879/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.toRational.produces valid rationals (0 mutations)
  4257. 506.65 s [really-safe-money-gen] coverage (848/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4258. 506.69 s [really-safe-money-gen] coverage (839/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4259. 508.96 s [really-safe-money-gen] coverage (831/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4260. 508.96 s [really-safe-money-gen] coverage (889/1610): Money\.ConversionRateOfSpec.BTC.USD.invert.produces valid rates (8 mutations)
  4261. 509.17 s [really-safe-money-gen] coverage (887/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4262. 511.12 s [really-safe-money-gen] coverage (891/1610): Money\.ConversionRateOfSpec.BTC.INR.compose.produces valid rates (8 mutations)
  4263. 511.69 s [really-safe-money-gen] coverage (894/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4264. 511.90 s [really-safe-money-gen] coverage (886/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4265. 512.34 s [really-safe-money-gen] coverage (890/1610): Money\.ConversionRateOfSpec.BTC.USD.GenValid (ConversionRateOf BTC USD).genValid \:\: Gen (ConversionRateOf BTC USD).only generates valid '(ConversionRateOf BTC USD)'s (6 mutations)
  4266. 512.81 s [really-safe-money-gen] coverage (893/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4267. 513.06 s [really-safe-money-gen] coverage (888/1610): Money\.ConversionRateOfSpec.BTC.USD.compose.produces valid rates (8 mutations)
  4268. 515.90 s [really-safe-money-gen] coverage (906/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4269. 516.16 s [really-safe-money-gen] coverage (895/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4270. 516.45 s [really-safe-money-gen] coverage (907/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4271. 518.00 s [really-safe-money-gen] coverage (882/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4272. 518.12 s [really-safe-money-gen] coverage (910/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4273. 518.14 s [really-safe-money-gen] coverage (909/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4274. 518.39 s [really-safe-money-gen] coverage (905/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4275. 519.29 s [really-safe-money-gen] coverage (904/1610): Money\.ConversionRateOfSpec.BTC.CHF.GenValid (ConversionRateOf BTC CHF).genValid \:\: Gen (ConversionRateOf BTC CHF).only generates valid '(ConversionRateOf BTC CHF)'s (6 mutations)
  4276. 519.48 s [really-safe-money-gen] coverage (892/1610): Money\.ConversionRateOfSpec.BTC.INR.GenValid (ConversionRateOf BTC INR).genValid \:\: Gen (ConversionRateOf BTC INR).only generates valid '(ConversionRateOf BTC INR)'s (6 mutations)
  4277. 520.00 s [really-safe-money-gen] coverage (911/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4278. 521.93 s [really-safe-money-gen] coverage (912/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4279. 521.97 s [really-safe-money-gen] coverage (914/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4280. 522.09 s [really-safe-money-gen] coverage (915/1610): Money\.ConversionRateOfSpec.BTC.BTC.invert.produces valid rates (8 mutations)
  4281. 522.41 s [really-safe-money-gen] coverage (917/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4282. 522.42 s [really-safe-money-gen] coverage (913/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4283. 522.67 s [really-safe-money-gen] coverage (916/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4284. 523.49 s [really-safe-money-gen] coverage (919/1610): Money\.ConversionRateOfSpec.BTC.BTC.compose.produces valid rates (8 mutations)
  4285. 523.89 s [really-safe-money-gen] coverage (918/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4286. 524.10 s [really-safe-money-gen] coverage (920/1610): Money\.ConversionRateOfSpec.BTC.BTC.GenValid (ConversionRateOf BTC BTC).genValid \:\: Gen (ConversionRateOf BTC BTC).only generates valid '(ConversionRateOf BTC BTC)'s (6 mutations)
  4287. 526.00 s [really-safe-money-gen] coverage (902/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4288. 526.09 s [really-safe-money-gen] coverage (921/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4289. 526.91 s [really-safe-money-gen] coverage (922/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4290. 528.24 s [really-safe-money-gen] coverage (901/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4291. 528.67 s [really-safe-money-gen] coverage (900/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4292. 528.92 s [really-safe-money-gen] coverage (899/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.toRational.produces valid rationals (0 mutations)
  4293. 529.94 s [really-safe-money-gen] coverage (897/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4294. 530.64 s [really-safe-money-gen] coverage (896/1610): Money\.ConversionRateOfSpec.BTC.INR.invert.produces valid rates (8 mutations)
  4295. 530.85 s [really-safe-money-gen] coverage (898/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4296. 534.03 s [really-safe-money-gen] coverage (928/1610): Money\.QuantisationFactorSpec.digits.works on 10 (0 mutations)
  4297. 534.31 s [really-safe-money-gen] coverage (932/1610): Money\.QuantisationFactorSpec.digits.works on 1 (0 mutations)
  4298. 534.97 s [really-safe-money-gen] coverage (933/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render a non-1 integer (23 mutations)
  4299. 536.06 s [really-safe-money-gen] coverage (935/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.produces valid factors (37 mutations)
  4300. 536.65 s [really-safe-money-gen] coverage (939/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 1 into quantisation factor 10 (31 mutations)
  4301. 536.93 s [really-safe-money-gen] coverage (936/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render a 0 (8 mutations)
  4302. 537.87 s [really-safe-money-gen] coverage (934/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render negative fractionals (17 mutations)
  4303. 538.29 s [really-safe-money-gen] coverage (944/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 2 2 into quantisation factor 50 (31 mutations)
  4304. 538.59 s [really-safe-money-gen] coverage (947/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 5 2 into quantisation factor 20 (31 mutations)
  4305. 539.08 s [really-safe-money-gen] coverage (946/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 20 into DecimalLiteral Nothing 5 2 (38 mutations)
  4306. 539.50 s [really-safe-money-gen] coverage (950/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 1000 into DecimalLiteral Nothing 1 3 (38 mutations)
  4307. 539.76 s [really-safe-money-gen] coverage (945/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 0 into quantisation factor 1 (31 mutations)
  4308. 540.07 s [really-safe-money-gen] coverage (948/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 1 into DecimalLiteral Nothing 1 0 (32 mutations)
  4309. 540.68 s [really-safe-money-gen] coverage (949/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 2 into quantisation factor 100 (31 mutations)
  4310. 540.95 s [really-safe-money-gen] coverage (952/1610): Money\.MultiAccountSpec.subtractAmount.produces valid amounts (44 mutations)
  4311. 541.40 s [really-safe-money-gen] coverage (951/1610): Money\.QuantisationFactorSpec.GenValid QuantisationFactor.genValid \:\: Gen QuantisationFactor.only generates valid 'QuantisationFactor's (6 mutations)
  4312. 541.87 s [really-safe-money-gen] coverage (953/1610): Money\.MultiAccountSpec.subtractAmount.computes this example correctly (24 mutations)
  4313. 542.84 s [really-safe-money-gen] coverage (954/1610): Money\.MultiAccountSpec.subtractAmount.adds a non zero amount (5 mutations)
  4314. 543.26 s [really-safe-money-gen] coverage (931/1610): Money\.QuantisationFactorSpec.digits.produces valid numbers of digits (0 mutations)
  4315. 544.11 s [really-safe-money-gen] coverage (929/1610): Money\.QuantisationFactorSpec.digits.works on 20 (0 mutations)
  4316. 545.32 s [really-safe-money-gen] coverage (927/1610): Money\.QuantisationFactorSpec.fromWord32.produces valid quantisation factors (6 mutations)
  4317. 545.58 s [really-safe-money-gen] coverage (926/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4318. 546.11 s [really-safe-money-gen] coverage (925/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4319. 546.73 s [really-safe-money-gen] coverage (941/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 50 into DecimalLiteral Nothing 2 2 (38 mutations)
  4320. 547.59 s [really-safe-money-gen] coverage (930/1610): Money\.QuantisationFactorSpec.digits.works on 100 (0 mutations)
  4321. 547.78 s [really-safe-money-gen] coverage (923/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4322. 549.68 s [really-safe-money-gen] coverage (924/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4323. 551.47 s [really-safe-money-gen] coverage (962/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is reflexive for "valid (MultiAccount Currency)"s (4 mutations)
  4324. 551.86 s [really-safe-money-gen] coverage (961/1610): Money\.MultiAccountSpec.GenValid (MultiAccount Currency).genValid \:\: Gen (MultiAccount Currency).only generates valid '(MultiAccount Currency)'s (15 mutations)
  4325. 552.73 s [really-safe-money-gen] coverage (963/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is symmetric for "valid (MultiAccount Currency)"s (1 mutations)
  4326. 553.15 s [really-safe-money-gen] coverage (964/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"s (1 mutations)
  4327. 553.46 s [really-safe-money-gen] coverage (965/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (MultiAccount Currency)"s (1 mutations)
  4328. 554.41 s [really-safe-money-gen] coverage (966/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(/=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (MultiAccount Currency)"s (1 mutations)
  4329. 554.86 s [really-safe-money-gen] coverage (940/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 100 into DecimalLiteral Nothing 1 2 (38 mutations)
  4330. 556.35 s [really-safe-money-gen] coverage (943/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 10 into DecimalLiteral Nothing 1 1 (38 mutations)
  4331. 556.76 s [really-safe-money-gen] coverage (958/1610): Money\.MultiAccountSpec.add.produces valid amounts (44 mutations)
  4332. 556.93 s [really-safe-money-gen] coverage (960/1610): Money\.MultiAccountSpec.add.has a left-identity\: zero (6 mutations)
  4333. 557.34 s [really-safe-money-gen] coverage (942/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 3 into quantisation factor 1000 (31 mutations)
  4334. 557.78 s [really-safe-money-gen] coverage (956/1610): Money\.MultiAccountSpec.add.has a right-identity\: zero (4 mutations)
  4335. 558.22 s [really-safe-money-gen] coverage (957/1610): Money\.MultiAccountSpec.add.is commutative (33 mutations)
  4336. 558.31 s [really-safe-money-gen] coverage (967/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(/=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antireflexive for "valid (MultiAccount Currency)"s (4 mutations)
  4337. 559.78 s [really-safe-money-gen] coverage (971/1610): Money\.MultiAccountSpec.fromAccount.produces valid amounts (18 mutations)
  4338. 560.19 s [really-safe-money-gen] coverage (968/1610): Money\.MultiAccountSpec.sum.produces valid amounts (44 mutations)
  4339. 560.70 s [really-safe-money-gen] coverage (969/1610): Money\.MultiAccountSpec.Show (MultiAccount Currency) and Read (MultiAccount Currency).are implemented such that read \. show == id for valid values (4 mutations)
  4340. 561.13 s [really-safe-money-gen] coverage (959/1610): Money\.MultiAccountSpec.add.is associative when both succeed (33 mutations)
  4341. 561.26 s [really-safe-money-gen] coverage (973/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is reflexive for "valid (MultiAccount Currency)"'s (4 mutations)
  4342. 561.96 s [really-safe-money-gen] coverage (975/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antisymmetric for "valid (MultiAccount Currency)"'s (4 mutations)
  4343. 562.57 s [really-safe-money-gen] coverage (974/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
  4344. 563.07 s [really-safe-money-gen] coverage (976/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (MultiAccount Currency)"'s (4 mutations)
  4345. 564.09 s [really-safe-money-gen] coverage (978/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (MultiAccount Currency)"'s (4 mutations)
  4346. 564.14 s [really-safe-money-gen] coverage (977/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency)."min \:\: (MultiAccount Currency -> MultiAccount Currency -> MultiAccount Currency)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (MultiAccount Currency)"'s (4 mutations)
  4347. 565.11 s [really-safe-money-gen] coverage (979/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antireflexive for "valid (MultiAccount Currency)"'s (4 mutations)
  4348. 565.97 s [really-safe-money-gen] coverage (980/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
  4349. 567.55 s [really-safe-money-gen] coverage (981/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (MultiAccount Currency)"'s (4 mutations)
  4350. 568.61 s [really-safe-money-gen] coverage (982/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is reflexive for "valid (MultiAccount Currency)"'s (4 mutations)
  4351. 569.17 s [really-safe-money-gen] coverage (984/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
  4352. 569.57 s [really-safe-money-gen] coverage (983/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antisymmetric for "valid (MultiAccount Currency)"'s (4 mutations)
  4353. 570.35 s [really-safe-money-gen] coverage (985/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
  4354. 571.29 s [really-safe-money-gen] coverage (986/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antireflexive for "valid (MultiAccount Currency)"'s (4 mutations)
  4355. 571.85 s [really-safe-money-gen] coverage (987/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (MultiAccount Currency)"'s (4 mutations)
  4356. 573.07 s [really-safe-money-gen] coverage (990/1610): Money\.MultiAccountSpec.subtract.has a right-identity\: zero (4 mutations)
  4357. 573.69 s [really-safe-money-gen] coverage (989/1610): Money\.MultiAccountSpec.subtract.produces valid amounts (44 mutations)
  4358. 574.13 s [really-safe-money-gen] coverage (993/1610): Money\.MultiAccountSpec.addAmount.adds a non zero amount (5 mutations)
  4359. 574.13 s [really-safe-money-gen] coverage (988/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency)."max \:\: (MultiAccount Currency -> MultiAccount Currency -> MultiAccount Currency)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (MultiAccount Currency)"'s (4 mutations)
  4360. 574.13 s [really-safe-money-gen] coverage (992/1610): Money\.MultiAccountSpec.addAmount.computes this example correctly (18 mutations)
  4361. 574.84 s [really-safe-money-gen] coverage (991/1610): Money\.MultiAccountSpec.addAmount.produces valid amounts (45 mutations)
  4362. 575.29 s [really-safe-money-gen] coverage (972/1610): Money\.MultiAccountSpec.addAccount.produces valid amounts (46 mutations)
  4363. 575.69 s [really-safe-money-gen] coverage (955/1610): Money\.MultiAccountSpec.subtractAmount.removes a zero amount (24 mutations)
  4364. 576.16 s [really-safe-money-gen] coverage (970/1610): Money\.MultiAccountSpec.zero.is valid (2 mutations)
  4365. 577.31 s [really-safe-money-gen] coverage (1000/1610): Money\.AmountOfSpec.USD.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4366. 577.56 s [really-safe-money-gen] coverage (908/1610): Money\.ConversionRateOfSpec.BTC.CHF.invert.produces valid rates (8 mutations)
  4367. 577.80 s [really-safe-money-gen] coverage (903/1610): Money\.ConversionRateOfSpec.BTC.CHF.compose.produces valid rates (8 mutations)
  4368. 577.99 s [really-safe-money-gen] coverage (997/1610): Money\.MultiAccountSpec.lookupAccount.produces valid amounts (4 mutations)
  4369. 578.41 s [really-safe-money-gen] coverage (999/1610): Money\.MultiAccountSpec.convertAll.produces the right result in this example (23 mutations)
  4370. 579.39 s [really-safe-money-gen] coverage (1005/1610): Money\.AmountOfSpec.USD.fromRatio.roundtrips with toRatio (19 mutations)
  4371. 580.21 s [really-safe-money-gen] coverage (1007/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 77 (19 mutations)
  4372. 580.65 s [really-safe-money-gen] coverage (1008/1610): Money\.AmountOfSpec.USD.fromRatio.fails on NaN (2 mutations)
  4373. 580.75 s [really-safe-money-gen] coverage (1006/1610): Money\.AmountOfSpec.USD.fromRatio.produces valid AmountOfs (19 mutations)
  4374. 582.31 s [really-safe-money-gen] coverage (1009/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 0 (20 mutations)
  4375. 582.36 s [really-safe-money-gen] coverage (1010/1610): Money\.AmountOfSpec.USD.fromRatio.fails on 7\.123 (13 mutations)
  4376. 584.31 s [really-safe-money-gen] coverage (1011/1610): Money\.AmountOfSpec.USD.fromRatio.fails on +Infinity (2 mutations)
  4377. 584.63 s [really-safe-money-gen] coverage (1012/1610): Money\.AmountOfSpec.USD.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4378. 584.76 s [really-safe-money-gen] coverage (1013/1610): Money\.AmountOfSpec.USD.add.has a right-identity\: zero (10 mutations)
  4379. 586.23 s [really-safe-money-gen] coverage (1014/1610): Money\.AmountOfSpec.USD.add.produces valid amounts (9 mutations)
  4380. 586.68 s [really-safe-money-gen] coverage (1015/1610): Money\.AmountOfSpec.USD.add.has a left-identity\: zero (10 mutations)
  4381. 586.79 s [really-safe-money-gen] coverage (1016/1610): Money\.AmountOfSpec.USD.add.is commutative (9 mutations)
  4382. 588.92 s [really-safe-money-gen] coverage (1017/1610): Money\.AmountOfSpec.USD.add.is associative when both succeed (9 mutations)
  4383. 589.78 s [really-safe-money-gen] coverage (1019/1610): Money\.AmountOfSpec.USD.fromRational.roundtrips with toRational (19 mutations)
  4384. 590.18 s [really-safe-money-gen] coverage (1021/1610): Money\.AmountOfSpec.USD.fromRational.fails on +Infinity (2 mutations)
  4385. 590.19 s [really-safe-money-gen] coverage (1020/1610): Money\.AmountOfSpec.USD.fromRational.fails on -1 (8 mutations)
  4386. 590.61 s [really-safe-money-gen] coverage (1022/1610): Money\.AmountOfSpec.USD.fromRational.produces valid Amounts (19 mutations)
  4387. 590.64 s [really-safe-money-gen] coverage (1018/1610): Money\.AmountOfSpec.USD.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4388. 591.38 s [really-safe-money-gen] coverage (1023/1610): Money\.AmountOfSpec.USD.fromRational.fails on NaN (2 mutations)
  4389. 592.09 s [really-safe-money-gen] coverage (1024/1610): Money\.AmountOfSpec.USD.fromRational.fails on -Infinity (2 mutations)
  4390. 592.12 s [really-safe-money-gen] coverage (1025/1610): Money\.AmountOfSpec.USD.fromRational.succeeds on 1 (19 mutations)
  4391. 593.44 s [really-safe-money-gen] coverage (1003/1610): Money\.AmountOfSpec.USD.CHF.convert.produces valid amounts (25 mutations)
  4392. 593.53 s [really-safe-money-gen] coverage (1027/1610): Money\.AmountOfSpec.USD.toRational.produces valid Rationals (0 mutations)
  4393. 593.98 s [really-safe-money-gen] coverage (995/1610): Money\.MultiAccountSpec.subtractAccount.produces valid amounts (46 mutations)
  4394. 594.24 s [really-safe-money-gen] coverage (1002/1610): Money\.AmountOfSpec.USD.CHF.rate.produces valid amounts (10 mutations)
  4395. 594.54 s [really-safe-money-gen] coverage (1028/1610): Money\.AmountOfSpec.USD.GenValid (AmountOf * USD).genValid \:\: Gen (AmountOf * USD).only generates valid '(AmountOf * USD)'s (0 mutations)
  4396. 595.96 s [really-safe-money-gen] coverage (1030/1610): Money\.AmountOfSpec.USD.Show (AmountOf * USD) and Read (AmountOf * USD).are implemented such that read \. show == id for valid values (1 mutations)
  4397. 596.08 s [really-safe-money-gen] coverage (1032/1610): Money\.AmountOfSpec.USD.BTC.rate.produces valid amounts (10 mutations)
  4398. 596.27 s [really-safe-money-gen] coverage (1031/1610): Money\.AmountOfSpec.USD.BTC.convert.produces valid amounts (25 mutations)
  4399. 596.37 s [really-safe-money-gen] coverage (937/1610): Money\.QuantisationFactorSpec.DecimalLiteral.toDecimalLiteral.roundtrips with fromDecimalLiteral (70 mutations)
  4400. 596.79 s [really-safe-money-gen] coverage (938/1610): Money\.QuantisationFactorSpec.DecimalLiteral.toDecimalLiteral.produces valid literals (40 mutations)
  4401. 597.47 s [really-safe-money-gen] coverage (1034/1610): Money\.AmountOfSpec.USD.fromDouble.succeeds on 0 (30 mutations)
  4402. 598.35 s [really-safe-money-gen] coverage (1033/1610): Money\.AmountOfSpec.USD.fromDouble.produces valid amounts (30 mutations)
  4403. 598.82 s [really-safe-money-gen] coverage (1035/1610): Money\.AmountOfSpec.USD.fromDouble.succeeds on 1 (30 mutations)
  4404. 599.82 s [really-safe-money-gen] coverage (1036/1610): Money\.AmountOfSpec.USD.fromDouble.fails on +Infinity (10 mutations)
  4405. 601.12 s [really-safe-money-gen] coverage (1037/1610): Money\.AmountOfSpec.USD.fromDouble.fails on -Infinity (6 mutations)
  4406. 601.17 s [really-safe-money-gen] coverage (1038/1610): Money\.AmountOfSpec.USD.fromDouble.fails on NaN (8 mutations)
  4407. 601.85 s [really-safe-money-gen] coverage (1039/1610): Money\.AmountOfSpec.USD.fromDouble.fails on -1 (6 mutations)
  4408. 602.44 s [really-safe-money-gen] coverage (1041/1610): Money\.AmountOfSpec.USD.INR.convert.produces valid amounts (25 mutations)
  4409. 602.99 s [really-safe-money-gen] coverage (998/1610): Money\.MultiAccountSpec.convertAll.produces valid results when converting two currencies to one (28 mutations)
  4410. 605.11 s [really-safe-money-gen] coverage (1044/1610): Money\.AmountOfSpec.USD.USD.convert.produces valid amounts (25 mutations)
  4411. 606.00 s [really-safe-money-gen] coverage (1029/1610): Money\.AmountOfSpec.USD.zero.is valid (1 mutations)
  4412. 606.09 s [really-safe-money-gen] coverage (1042/1610): Money\.AmountOfSpec.USD.INR.rate.produces valid amounts (10 mutations)
  4413. 606.52 s [really-safe-money-gen] coverage (1043/1610): Money\.AmountOfSpec.USD.USD.rate.produces valid amounts (10 mutations)
  4414. 607.09 s [really-safe-money-gen] coverage (994/1610): Money\.MultiAccountSpec.addAmount.removes a zero amount (24 mutations)
  4415. 607.29 s [really-safe-money-gen] coverage (1040/1610): Money\.AmountOfSpec.USD.fraction.produces valid amounts (17 mutations)
  4416. 607.60 s [really-safe-money-gen] coverage (1026/1610): Money\.AmountOfSpec.USD.fromRational.succeeds on 0 (19 mutations)
  4417. 608.69 s [really-safe-money-gen] coverage (1045/1610): Money\.AmountOfSpec.USD.sum.produces valid amounts (10 mutations)
  4418. 609.10 s [really-safe-money-gen] coverage (1001/1610): Money\.AmountOfSpec.USD.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4419. 610.01 s [really-safe-money-gen] coverage (1047/1610): Money\.AmountOfSpec.USD.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4420. 610.66 s [really-safe-money-gen] coverage (1046/1610): Money\.AmountOfSpec.USD.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4421. 610.76 s [really-safe-money-gen] coverage (1053/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * USD)"'s (0 mutations)
  4422. 611.63 s [really-safe-money-gen] coverage (996/1610): Money\.MultiAccountSpec.lookupAccount.can find an added amount (7 mutations)
  4423. 612.28 s [really-safe-money-gen] coverage (1055/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is reflexive for "valid (AmountOf * USD)"'s (0 mutations)
  4424. 612.92 s [really-safe-money-gen] coverage (1057/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * USD)"'s (0 mutations)
  4425. 613.20 s [really-safe-money-gen] coverage (1052/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
  4426. 613.30 s [really-safe-money-gen] coverage (1056/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antisymmetric for "valid (AmountOf * USD)"'s (0 mutations)
  4427. 613.39 s [really-safe-money-gen] coverage (1050/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * USD)"'s (0 mutations)
  4428. 614.29 s [really-safe-money-gen] coverage (1048/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antireflexive for "valid (AmountOf * USD)"'s (0 mutations)
  4429. 614.96 s [really-safe-money-gen] coverage (1049/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
  4430. 616.10 s [really-safe-money-gen] coverage (1051/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antireflexive for "valid (AmountOf * USD)"'s (0 mutations)
  4431. 616.60 s [really-safe-money-gen] coverage (1061/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antisymmetric for "valid (AmountOf * USD)"'s (0 mutations)
  4432. 617.32 s [really-safe-money-gen] coverage (1063/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
  4433. 617.83 s [really-safe-money-gen] coverage (1064/1610): Money\.AmountOfSpec.USD.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4434. 619.41 s [really-safe-money-gen] coverage (1065/1610): Money\.AmountOfSpec.USD.format.produces valid strings (3 mutations)
  4435. 619.92 s [really-safe-money-gen] coverage (1066/1610): Money\.AmountOfSpec.USD.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4436. 620.19 s [really-safe-money-gen] coverage (1068/1610): Money\.AmountOfSpec.USD.multiply.is distributive with add when both succeed (17 mutations)
  4437. 620.82 s [really-safe-money-gen] coverage (1058/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD)."min \:\: (AmountOf * USD -> AmountOf * USD -> AmountOf * USD)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * USD)"'s (0 mutations)
  4438. 622.82 s [really-safe-money-gen] coverage (1059/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD)."max \:\: (AmountOf * USD -> AmountOf * USD -> AmountOf * USD)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * USD)"'s (0 mutations)
  4439. 623.41 s [really-safe-money-gen] coverage (1004/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 1 (19 mutations)
  4440. 624.26 s [really-safe-money-gen] coverage (1072/1610): Money\.AmountOfSpec.USD.distribute.Show (Distribution (AmountOf * USD)) and Read (Distribution (AmountOf * USD)).are implemented such that read \. show == id for valid values (1 mutations)
  4441. 624.30 s [really-safe-money-gen] coverage (1077/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is transitive for "valid (Distribution (AmountOf * USD))"s (1 mutations)
  4442. 624.30 s [really-safe-money-gen] coverage (1060/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * USD)"'s (0 mutations)
  4443. 624.86 s [really-safe-money-gen] coverage (1075/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(/=) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * USD))"s (1 mutations)
  4444. 625.09 s [really-safe-money-gen] coverage (1079/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is symmetric for "valid (Distribution (AmountOf * USD))"s (1 mutations)
  4445. 625.62 s [really-safe-money-gen] coverage (1081/1610): Money\.AmountOfSpec.USD.ADA.convert.produces valid amounts (25 mutations)
  4446. 626.36 s [really-safe-money-gen] coverage (1082/1610): Money\.AmountOfSpec.USD.ADA.rate.produces valid amounts (10 mutations)
  4447. 627.64 s [really-safe-money-gen] coverage (1083/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * USD)"s (0 mutations)
  4448. 628.65 s [really-safe-money-gen] coverage (1084/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is symmetric for "valid (AmountOf * USD)"s (0 mutations)
  4449. 628.97 s [really-safe-money-gen] coverage (1085/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is reflexive for "valid (AmountOf * USD)"s (0 mutations)
  4450. 630.24 s [really-safe-money-gen] coverage (1089/1610): Money\.AmountOfSpec.ADA.BTC.convert.produces valid amounts (25 mutations)
  4451. 630.30 s [really-safe-money-gen] coverage (1087/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(/=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * USD)"s (0 mutations)
  4452. 630.41 s [really-safe-money-gen] coverage (1086/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"s (0 mutations)
  4453. 630.49 s [really-safe-money-gen] coverage (1088/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(/=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antireflexive for "valid (AmountOf * USD)"s (0 mutations)
  4454. 632.06 s [really-safe-money-gen] coverage (1091/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"s (0 mutations)
  4455. 632.19 s [really-safe-money-gen] coverage (1090/1610): Money\.AmountOfSpec.ADA.BTC.rate.produces valid amounts (10 mutations)
  4456. 632.94 s [really-safe-money-gen] coverage (1092/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is symmetric for "valid (AmountOf * ADA)"s (0 mutations)
  4457. 633.47 s [really-safe-money-gen] coverage (1093/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * ADA)"s (0 mutations)
  4458. 634.51 s [really-safe-money-gen] coverage (1074/1610): Money\.AmountOfSpec.USD.distribute.produces results that sum up to the greater whole (29 mutations)
  4459. 634.95 s [really-safe-money-gen] coverage (1096/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(/=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * ADA)"s (0 mutations)
  4460. 635.37 s [really-safe-money-gen] coverage (1067/1610): Money\.AmountOfSpec.USD.multiply.is absorbed by 0 (10 mutations)
  4461. 635.68 s [really-safe-money-gen] coverage (1073/1610): Money\.AmountOfSpec.USD.distribute.produces valid amounts (21 mutations)
  4462. 637.14 s [really-safe-money-gen] coverage (1078/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is reflexive for "valid (Distribution (AmountOf * USD))"s (1 mutations)
  4463. 638.38 s [really-safe-money-gen] coverage (1076/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(/=) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * USD))"s (1 mutations)
  4464. 638.47 s [really-safe-money-gen] coverage (1069/1610): Money\.AmountOfSpec.USD.multiply.has an identity\: 1 (9 mutations)
  4465. 638.61 s [really-safe-money-gen] coverage (1054/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
  4466. 641.46 s [really-safe-money-gen] coverage (1062/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is reflexive for "valid (AmountOf * USD)"'s (0 mutations)
  4467. 642.18 s [really-safe-money-gen] coverage (1080/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * USD))"s (1 mutations)
  4468. 642.32 s [really-safe-money-gen] coverage (1101/1610): Money\.AmountOfSpec.ADA.fromRatio.produces valid AmountOfs (19 mutations)
  4469. 642.42 s [really-safe-money-gen] coverage (1071/1610): Money\.AmountOfSpec.USD.toDouble.produces valid Doubles (0 mutations)
  4470. 642.61 s [really-safe-money-gen] coverage (1070/1610): Money\.AmountOfSpec.USD.multiply.produces valid amounts (9 mutations)
  4471. 642.64 s [really-safe-money-gen] coverage (1102/1610): Money\.AmountOfSpec.ADA.fromRatio.roundtrips with toRatio (19 mutations)
  4472. 643.51 s [really-safe-money-gen] coverage (1104/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on +Infinity (2 mutations)
  4473. 644.77 s [really-safe-money-gen] coverage (1098/1610): Money\.AmountOfSpec.ADA.Show (AmountOf * ADA) and Read (AmountOf * ADA).are implemented such that read \. show == id for valid values (1 mutations)
  4474. 644.91 s [really-safe-money-gen] coverage (1095/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(/=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antireflexive for "valid (AmountOf * ADA)"s (0 mutations)
  4475. 646.02 s [really-safe-money-gen] coverage (1097/1610): Money\.AmountOfSpec.ADA.zero.is valid (1 mutations)
  4476. 647.28 s [really-safe-money-gen] coverage (1103/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 0 (20 mutations)
  4477. 647.33 s [really-safe-money-gen] coverage (1099/1610): Money\.AmountOfSpec.ADA.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4478. 647.79 s [really-safe-money-gen] coverage (1107/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 77 (19 mutations)
  4479. 647.87 s [really-safe-money-gen] coverage (1105/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 1 (19 mutations)
  4480. 648.51 s [really-safe-money-gen] coverage (1094/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is reflexive for "valid (AmountOf * ADA)"s (0 mutations)
  4481. 648.54 s [really-safe-money-gen] coverage (1108/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on 7\.123 (13 mutations)
  4482. 649.56 s [really-safe-money-gen] coverage (1111/1610): Money\.AmountOfSpec.ADA.fromRational.roundtrips with toRational (19 mutations)
  4483. 650.19 s [really-safe-money-gen] coverage (1110/1610): Money\.AmountOfSpec.ADA.fromRational.succeeds on 1 (19 mutations)
  4484. 651.13 s [really-safe-money-gen] coverage (1112/1610): Money\.AmountOfSpec.ADA.fromRational.fails on -1 (8 mutations)
  4485. 651.29 s [really-safe-money-gen] coverage (1113/1610): Money\.AmountOfSpec.ADA.fromRational.fails on -Infinity (2 mutations)
  4486. 652.54 s [really-safe-money-gen] coverage (1116/1610): Money\.AmountOfSpec.ADA.fromRational.succeeds on 0 (19 mutations)
  4487. 652.70 s [really-safe-money-gen] coverage (1114/1610): Money\.AmountOfSpec.ADA.fromRational.fails on +Infinity (2 mutations)
  4488. 653.51 s [really-safe-money-gen] coverage (1115/1610): Money\.AmountOfSpec.ADA.fromRational.produces valid Amounts (19 mutations)
  4489. 653.53 s [really-safe-money-gen] coverage (1106/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on NaN (2 mutations)
  4490. 654.03 s [really-safe-money-gen] coverage (1127/1610): Money\.AmountOfSpec.ADA.USD.convert.produces valid amounts (25 mutations)
  4491. 655.20 s [really-safe-money-gen] coverage (1129/1610): Money\.AmountOfSpec.ADA.distribute.Show (Distribution (AmountOf * ADA)) and Read (Distribution (AmountOf * ADA)).are implemented such that read \. show == id for valid values (1 mutations)
  4492. 655.50 s [really-safe-money-gen] coverage (1130/1610): Money\.AmountOfSpec.ADA.distribute.produces results that sum up to the greater whole (29 mutations)
  4493. 655.98 s [really-safe-money-gen] coverage (1120/1610): Money\.AmountOfSpec.ADA.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4494. 659.11 s [really-safe-money-gen] coverage (1131/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(/=) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
  4495. 659.61 s [really-safe-money-gen] coverage (1133/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
  4496. 660.11 s [really-safe-money-gen] coverage (1135/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is transitive for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
  4497. 660.65 s [really-safe-money-gen] coverage (1138/1610): Money\.AmountOfSpec.ADA.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4498. 661.58 s [really-safe-money-gen] coverage (1137/1610): Money\.AmountOfSpec.ADA.distribute.produces valid amounts (21 mutations)
  4499. 662.24 s [really-safe-money-gen] coverage (1136/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is symmetric for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
  4500. 662.29 s [really-safe-money-gen] coverage (1139/1610): Money\.AmountOfSpec.ADA.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4501. 662.29 s [really-safe-money-gen] coverage (1140/1610): Money\.AmountOfSpec.ADA.CHF.convert.produces valid amounts (25 mutations)
  4502. 662.39 s [really-safe-money-gen] coverage (1141/1610): Money\.AmountOfSpec.ADA.CHF.rate.produces valid amounts (10 mutations)
  4503. 663.48 s [really-safe-money-gen] coverage (1100/1610): Money\.AmountOfSpec.ADA.toRational.produces valid Rationals (0 mutations)
  4504. 664.61 s [really-safe-money-gen] coverage (1142/1610): Money\.AmountOfSpec.ADA.format.produces valid strings (3 mutations)
  4505. 665.05 s [really-safe-money-gen] coverage (1145/1610): Money\.AmountOfSpec.ADA.ADA.convert.produces valid amounts (25 mutations)
  4506. 665.50 s [really-safe-money-gen] coverage (1147/1610): Money\.AmountOfSpec.ADA.INR.rate.produces valid amounts (10 mutations)
  4507. 666.04 s [really-safe-money-gen] coverage (1149/1610): Money\.AmountOfSpec.ADA.multiply.produces valid amounts (9 mutations)
  4508. 666.55 s [really-safe-money-gen] coverage (1155/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on +Infinity (10 mutations)
  4509. 666.92 s [really-safe-money-gen] coverage (1151/1610): Money\.AmountOfSpec.ADA.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4510. 667.35 s [really-safe-money-gen] coverage (1150/1610): Money\.AmountOfSpec.ADA.multiply.is absorbed by 0 (10 mutations)
  4511. 668.68 s [really-safe-money-gen] coverage (1157/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on NaN (8 mutations)
  4512. 669.09 s [really-safe-money-gen] coverage (1143/1610): Money\.AmountOfSpec.ADA.GenValid (AmountOf * ADA).genValid \:\: Gen (AmountOf * ADA).only generates valid '(AmountOf * ADA)'s (0 mutations)
  4513. 669.51 s [really-safe-money-gen] coverage (1119/1610): Money\.AmountOfSpec.ADA.toDouble.produces valid Doubles (0 mutations)
  4514. 669.75 s [really-safe-money-gen] coverage (1168/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
  4515. 670.19 s [really-safe-money-gen] coverage (1164/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * ADA)"'s (0 mutations)
  4516. 670.44 s [really-safe-money-gen] coverage (1146/1610): Money\.AmountOfSpec.ADA.fraction.produces valid amounts (17 mutations)
  4517. 671.05 s [really-safe-money-gen] coverage (1169/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is reflexive for "valid (AmountOf * ADA)"'s (0 mutations)
  4518. 671.53 s [really-safe-money-gen] coverage (1167/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * ADA)"'s (0 mutations)
  4519. 672.60 s [really-safe-money-gen] coverage (1170/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antisymmetric for "valid (AmountOf * ADA)"'s (0 mutations)
  4520. 672.88 s [really-safe-money-gen] coverage (1171/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * ADA)"'s (0 mutations)
  4521. 673.88 s [really-safe-money-gen] coverage (1148/1610): Money\.AmountOfSpec.ADA.INR.convert.produces valid amounts (25 mutations)
  4522. 675.47 s [really-safe-money-gen] coverage (1172/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is reflexive for "valid (AmountOf * ADA)"'s (0 mutations)
  4523. 677.18 s [really-safe-money-gen] coverage (1173/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
  4524. 677.19 s [really-safe-money-gen] coverage (1175/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * ADA)"'s (0 mutations)
  4525. 678.78 s [really-safe-money-gen] coverage (1176/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
  4526. 678.98 s [really-safe-money-gen] coverage (1178/1610): Money\.AmountOfSpec.INR.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4527. 679.41 s [really-safe-money-gen] coverage (1180/1610): Money\.AmountOfSpec.INR.distribute.produces results that sum up to the greater whole (29 mutations)
  4528. 679.48 s [really-safe-money-gen] coverage (1179/1610): Money\.AmountOfSpec.INR.toDouble.produces valid Doubles (0 mutations)
  4529. 679.70 s [really-safe-money-gen] coverage (1181/1610): Money\.AmountOfSpec.INR.distribute.produces valid amounts (21 mutations)
  4530. 679.82 s [really-safe-money-gen] coverage (1177/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antireflexive for "valid (AmountOf * ADA)"'s (0 mutations)
  4531. 680.44 s [really-safe-money-gen] coverage (1182/1610): Money\.AmountOfSpec.INR.distribute.Show (Distribution (AmountOf * INR)) and Read (Distribution (AmountOf * INR)).are implemented such that read \. show == id for valid values (1 mutations)
  4532. 680.93 s [really-safe-money-gen] coverage (1183/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is reflexive for "valid (Distribution (AmountOf * INR))"s (1 mutations)
  4533. 681.42 s [really-safe-money-gen] coverage (1126/1610): Money\.AmountOfSpec.ADA.USD.rate.produces valid amounts (10 mutations)
  4534. 682.28 s [really-safe-money-gen] coverage (1184/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is symmetric for "valid (Distribution (AmountOf * INR))"s (1 mutations)
  4535. 683.34 s [really-safe-money-gen] coverage (1185/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * INR))"s (1 mutations)
  4536. 684.31 s [really-safe-money-gen] coverage (1186/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is transitive for "valid (Distribution (AmountOf * INR))"s (1 mutations)
  4537. 684.52 s [really-safe-money-gen] coverage (1189/1610): Money\.AmountOfSpec.INR.zero.is valid (1 mutations)
  4538. 684.57 s [really-safe-money-gen] coverage (1187/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(/=) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * INR))"s (1 mutations)
  4539. 685.27 s [really-safe-money-gen] coverage (1188/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(/=) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * INR))"s (1 mutations)
  4540. 685.99 s [really-safe-money-gen] coverage (1191/1610): Money\.AmountOfSpec.INR.fraction.produces valid amounts (17 mutations)
  4541. 686.80 s [really-safe-money-gen] coverage (1193/1610): Money\.AmountOfSpec.INR.ADA.convert.produces valid amounts (25 mutations)
  4542. 686.93 s [really-safe-money-gen] coverage (1194/1610): Money\.AmountOfSpec.INR.fromDouble.fails on -Infinity (6 mutations)
  4543. 686.94 s [really-safe-money-gen] coverage (1195/1610): Money\.AmountOfSpec.INR.fromDouble.succeeds on 1 (30 mutations)
  4544. 687.10 s [really-safe-money-gen] coverage (1190/1610): Money\.AmountOfSpec.INR.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4545. 687.77 s [really-safe-money-gen] coverage (1197/1610): Money\.AmountOfSpec.INR.fromDouble.fails on +Infinity (10 mutations)
  4546. 688.20 s [really-safe-money-gen] coverage (1196/1610): Money\.AmountOfSpec.INR.fromDouble.fails on NaN (8 mutations)
  4547. 689.64 s [really-safe-money-gen] coverage (1198/1610): Money\.AmountOfSpec.INR.fromDouble.fails on -1 (6 mutations)
  4548. 689.75 s [really-safe-money-gen] coverage (1199/1610): Money\.AmountOfSpec.INR.fromDouble.succeeds on 0 (30 mutations)
  4549. 691.27 s [really-safe-money-gen] coverage (1200/1610): Money\.AmountOfSpec.INR.fromDouble.produces valid amounts (30 mutations)
  4550. 692.16 s [really-safe-money-gen] coverage (1118/1610): Money\.AmountOfSpec.ADA.sum.produces valid amounts (10 mutations)
  4551. 694.41 s [really-safe-money-gen] coverage (1134/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is reflexive for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
  4552. 694.64 s [really-safe-money-gen] coverage (1125/1610): Money\.AmountOfSpec.ADA.add.is commutative (9 mutations)
  4553. 696.23 s [really-safe-money-gen] coverage (1121/1610): Money\.AmountOfSpec.ADA.add.has a left-identity\: zero (10 mutations)
  4554. 696.41 s [really-safe-money-gen] coverage (1192/1610): Money\.AmountOfSpec.INR.ADA.rate.produces valid amounts (10 mutations)
  4555. 696.81 s [really-safe-money-gen] coverage (1201/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR)."max \:\: (AmountOf * INR -> AmountOf * INR -> AmountOf * INR)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * INR)"'s (0 mutations)
  4556. 697.31 s [really-safe-money-gen] coverage (1202/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
  4557. 697.33 s [really-safe-money-gen] coverage (1124/1610): Money\.AmountOfSpec.ADA.add.produces valid amounts (9 mutations)
  4558. 697.75 s [really-safe-money-gen] coverage (1128/1610): Money\.AmountOfSpec.ADA.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4559. 697.99 s [really-safe-money-gen] coverage (1122/1610): Money\.AmountOfSpec.ADA.add.has a right-identity\: zero (10 mutations)
  4560. 698.22 s [really-safe-money-gen] coverage (1203/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * INR)"'s (0 mutations)
  4561. 699.08 s [really-safe-money-gen] coverage (1204/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antireflexive for "valid (AmountOf * INR)"'s (0 mutations)
  4562. 699.57 s [really-safe-money-gen] coverage (1205/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
  4563. 701.13 s [really-safe-money-gen] coverage (1206/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * INR)"'s (0 mutations)
  4564. 701.15 s [really-safe-money-gen] coverage (1123/1610): Money\.AmountOfSpec.ADA.add.is associative when both succeed (9 mutations)
  4565. 701.71 s [really-safe-money-gen] coverage (1207/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is reflexive for "valid (AmountOf * INR)"'s (0 mutations)
  4566. 701.82 s [really-safe-money-gen] coverage (1209/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * INR)"'s (0 mutations)
  4567. 702.76 s [really-safe-money-gen] coverage (1210/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is reflexive for "valid (AmountOf * INR)"'s (0 mutations)
  4568. 703.58 s [really-safe-money-gen] coverage (1211/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
  4569. 703.80 s [really-safe-money-gen] coverage (1213/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
  4570. 704.04 s [really-safe-money-gen] coverage (1212/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antisymmetric for "valid (AmountOf * INR)"'s (0 mutations)
  4571. 704.70 s [really-safe-money-gen] coverage (1214/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * INR)"'s (0 mutations)
  4572. 705.31 s [really-safe-money-gen] coverage (1215/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antireflexive for "valid (AmountOf * INR)"'s (0 mutations)
  4573. 705.51 s [really-safe-money-gen] coverage (1216/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR)."min \:\: (AmountOf * INR -> AmountOf * INR -> AmountOf * INR)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * INR)"'s (0 mutations)
  4574. 706.01 s [really-safe-money-gen] coverage (1217/1610): Money\.AmountOfSpec.INR.CHF.convert.produces valid amounts (25 mutations)
  4575. 707.16 s [really-safe-money-gen] coverage (1219/1610): Money\.AmountOfSpec.INR.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4576. 707.34 s [really-safe-money-gen] coverage (1218/1610): Money\.AmountOfSpec.INR.CHF.rate.produces valid amounts (10 mutations)
  4577. 709.08 s [really-safe-money-gen] coverage (1220/1610): Money\.AmountOfSpec.INR.multiply.produces valid amounts (9 mutations)
  4578. 709.12 s [really-safe-money-gen] coverage (1221/1610): Money\.AmountOfSpec.INR.multiply.is absorbed by 0 (10 mutations)
  4579. 711.77 s [really-safe-money-gen] coverage (1222/1610): Money\.AmountOfSpec.INR.multiply.has an identity\: 1 (9 mutations)
  4580. 712.18 s [really-safe-money-gen] coverage (1223/1610): Money\.AmountOfSpec.INR.multiply.is distributive with add when both succeed (17 mutations)
  4581. 713.60 s [really-safe-money-gen] coverage (1224/1610): Money\.AmountOfSpec.INR.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4582. 713.70 s [really-safe-money-gen] coverage (1227/1610): Money\.AmountOfSpec.INR.fromRational.fails on -Infinity (2 mutations)
  4583. 713.79 s [really-safe-money-gen] coverage (1226/1610): Money\.AmountOfSpec.INR.fromRational.succeeds on 0 (19 mutations)
  4584. 713.87 s [really-safe-money-gen] coverage (1225/1610): Money\.AmountOfSpec.INR.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4585. 714.13 s [really-safe-money-gen] coverage (1229/1610): Money\.AmountOfSpec.INR.fromRational.fails on +Infinity (2 mutations)
  4586. 714.31 s [really-safe-money-gen] coverage (1228/1610): Money\.AmountOfSpec.INR.fromRational.roundtrips with toRational (19 mutations)
  4587. 715.18 s [really-safe-money-gen] coverage (1166/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA)."min \:\: (AmountOf * ADA -> AmountOf * ADA -> AmountOf * ADA)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * ADA)"'s (0 mutations)
  4588. 715.89 s [really-safe-money-gen] coverage (1230/1610): Money\.AmountOfSpec.INR.fromRational.fails on NaN (2 mutations)
  4589. 717.00 s [really-safe-money-gen] coverage (1153/1610): Money\.AmountOfSpec.ADA.multiply.has an identity\: 1 (9 mutations)
  4590. 717.21 s [really-safe-money-gen] coverage (1231/1610): Money\.AmountOfSpec.INR.fromRational.produces valid Amounts (19 mutations)
  4591. 718.12 s [really-safe-money-gen] coverage (1233/1610): Money\.AmountOfSpec.INR.fromRational.fails on -1 (8 mutations)
  4592. 718.61 s [really-safe-money-gen] coverage (1117/1610): Money\.AmountOfSpec.ADA.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4593. 718.61 s [really-safe-money-gen] coverage (1154/1610): Money\.AmountOfSpec.ADA.fromDouble.succeeds on 0 (30 mutations)
  4594. 719.24 s [really-safe-money-gen] coverage (1158/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on -Infinity (6 mutations)
  4595. 719.66 s [really-safe-money-gen] coverage (1234/1610): Money\.AmountOfSpec.INR.add.is commutative (9 mutations)
  4596. 721.06 s [really-safe-money-gen] coverage (1235/1610): Money\.AmountOfSpec.INR.add.is associative when both succeed (9 mutations)
  4597. 721.19 s [really-safe-money-gen] coverage (1237/1610): Money\.AmountOfSpec.INR.add.has a left-identity\: zero (10 mutations)
  4598. 721.51 s [really-safe-money-gen] coverage (1161/1610): Money\.AmountOfSpec.ADA.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4599. 722.06 s [really-safe-money-gen] coverage (1174/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antisymmetric for "valid (AmountOf * ADA)"'s (0 mutations)
  4600. 722.56 s [really-safe-money-gen] coverage (1236/1610): Money\.AmountOfSpec.INR.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4601. 723.55 s [really-safe-money-gen] coverage (1238/1610): Money\.AmountOfSpec.INR.add.has a right-identity\: zero (10 mutations)
  4602. 724.05 s [really-safe-money-gen] coverage (1152/1610): Money\.AmountOfSpec.ADA.multiply.is distributive with add when both succeed (17 mutations)
  4603. 724.94 s [really-safe-money-gen] coverage (1239/1610): Money\.AmountOfSpec.INR.add.produces valid amounts (9 mutations)
  4604. 725.33 s [really-safe-money-gen] coverage (1144/1610): Money\.AmountOfSpec.ADA.ADA.rate.produces valid amounts (10 mutations)
  4605. 726.71 s [really-safe-money-gen] coverage (1242/1610): Money\.AmountOfSpec.INR.toRational.produces valid Rationals (0 mutations)
  4606. 726.92 s [really-safe-money-gen] coverage (1250/1610): Money\.AmountOfSpec.INR.fromRatio.fails on NaN (2 mutations)
  4607. 729.14 s [really-safe-money-gen] coverage (1257/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 77 (19 mutations)
  4608. 730.09 s [really-safe-money-gen] coverage (1258/1610): Money\.AmountOfSpec.INR.GenValid (AmountOf * INR).genValid \:\: Gen (AmountOf * INR).only generates valid '(AmountOf * INR)'s (0 mutations)
  4609. 731.10 s [really-safe-money-gen] coverage (1254/1610): Money\.AmountOfSpec.INR.fromRatio.roundtrips with toRatio (19 mutations)
  4610. 731.16 s [really-safe-money-gen] coverage (1260/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"s (0 mutations)
  4611. 731.23 s [really-safe-money-gen] coverage (1256/1610): Money\.AmountOfSpec.INR.fromRatio.fails on 7\.123 (13 mutations)
  4612. 731.88 s [really-safe-money-gen] coverage (1259/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is symmetric for "valid (AmountOf * INR)"s (0 mutations)
  4613. 731.94 s [really-safe-money-gen] coverage (1261/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is reflexive for "valid (AmountOf * INR)"s (0 mutations)
  4614. 731.96 s [really-safe-money-gen] coverage (1262/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * INR)"s (0 mutations)
  4615. 732.37 s [really-safe-money-gen] coverage (1246/1610): Money\.AmountOfSpec.INR.INR.rate.produces valid amounts (10 mutations)
  4616. 733.32 s [really-safe-money-gen] coverage (1241/1610): Money\.AmountOfSpec.INR.Show (AmountOf * INR) and Read (AmountOf * INR).are implemented such that read \. show == id for valid values (1 mutations)
  4617. 733.98 s [really-safe-money-gen] coverage (1255/1610): Money\.AmountOfSpec.INR.fromRatio.produces valid AmountOfs (19 mutations)
  4618. 734.01 s [really-safe-money-gen] coverage (1247/1610): Money\.AmountOfSpec.INR.INR.convert.produces valid amounts (25 mutations)
  4619. 735.14 s [really-safe-money-gen] coverage (1249/1610): Money\.AmountOfSpec.INR.BTC.convert.produces valid amounts (25 mutations)
  4620. 735.59 s [really-safe-money-gen] coverage (1253/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 0 (20 mutations)
  4621. 735.80 s [really-safe-money-gen] coverage (1252/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 1 (19 mutations)
  4622. 736.21 s [really-safe-money-gen] coverage (1244/1610): Money\.AmountOfSpec.INR.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4623. 736.64 s [really-safe-money-gen] coverage (1245/1610): Money\.AmountOfSpec.INR.format.produces valid strings (3 mutations)
  4624. 738.13 s [really-safe-money-gen] coverage (1248/1610): Money\.AmountOfSpec.INR.BTC.rate.produces valid amounts (10 mutations)
  4625. 738.37 s [really-safe-money-gen] coverage (1251/1610): Money\.AmountOfSpec.INR.fromRatio.fails on +Infinity (2 mutations)
  4626. 738.39 s [really-safe-money-gen] coverage (1263/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(/=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * INR)"s (0 mutations)
  4627. 739.43 s [really-safe-money-gen] coverage (1243/1610): Money\.AmountOfSpec.INR.sum.produces valid amounts (10 mutations)
  4628. 739.58 s [really-safe-money-gen] coverage (1240/1610): Money\.AmountOfSpec.INR.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4629. 739.75 s [really-safe-money-gen] coverage (1264/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(/=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antireflexive for "valid (AmountOf * INR)"s (0 mutations)
  4630. 741.37 s [really-safe-money-gen] coverage (1265/1610): Money\.AmountOfSpec.INR.USD.convert.produces valid amounts (25 mutations)
  4631. 741.37 s [really-safe-money-gen] coverage (1156/1610): Money\.AmountOfSpec.ADA.fromDouble.succeeds on 1 (30 mutations)
  4632. 742.18 s [really-safe-money-gen] coverage (1162/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antireflexive for "valid (AmountOf * ADA)"'s (0 mutations)
  4633. 743.08 s [really-safe-money-gen] coverage (1266/1610): Money\.AmountOfSpec.INR.USD.rate.produces valid amounts (10 mutations)
  4634. 744.00 s [really-safe-money-gen] coverage (1165/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA)."max \:\: (AmountOf * ADA -> AmountOf * ADA -> AmountOf * ADA)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * ADA)"'s (0 mutations)
  4635. 746.68 s [really-safe-money-gen] coverage (1267/1610): Money\.AmountOfSpec.BTC.format.produces valid strings (3 mutations)
  4636. 747.13 s [really-safe-money-gen] coverage (1132/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(/=) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
  4637. 747.22 s [really-safe-money-gen] coverage (1163/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
  4638. 747.65 s [really-safe-money-gen] coverage (1159/1610): Money\.AmountOfSpec.ADA.fromDouble.produces valid amounts (30 mutations)
  4639. 748.75 s [really-safe-money-gen] coverage (1268/1610): Money\.AmountOfSpec.BTC.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4640. 748.81 s [really-safe-money-gen] coverage (1208/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antisymmetric for "valid (AmountOf * INR)"'s (0 mutations)
  4641. 748.92 s [really-safe-money-gen] coverage (1269/1610): Money\.AmountOfSpec.BTC.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4642. 749.39 s [really-safe-money-gen] coverage (1160/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on -1 (6 mutations)
  4643. 749.85 s [really-safe-money-gen] coverage (1270/1610): Money\.AmountOfSpec.BTC.INR.rate.produces valid amounts (10 mutations)
  4644. 750.04 s [really-safe-money-gen] coverage (1275/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antisymmetric for "valid (AmountOf * BTC)"'s (0 mutations)
  4645. 750.69 s [really-safe-money-gen] coverage (1271/1610): Money\.AmountOfSpec.BTC.INR.convert.produces valid amounts (25 mutations)
  4646. 751.19 s [really-safe-money-gen] coverage (1276/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC)."min \:\: (AmountOf * BTC -> AmountOf * BTC -> AmountOf * BTC)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * BTC)"'s (0 mutations)
  4647. 752.67 s [really-safe-money-gen] coverage (1274/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is reflexive for "valid (AmountOf * BTC)"'s (0 mutations)
  4648. 752.81 s [really-safe-money-gen] coverage (1277/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antisymmetric for "valid (AmountOf * BTC)"'s (0 mutations)
  4649. 753.05 s [really-safe-money-gen] coverage (1272/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * BTC)"'s (0 mutations)
  4650. 753.58 s [really-safe-money-gen] coverage (1278/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is reflexive for "valid (AmountOf * BTC)"'s (0 mutations)
  4651. 754.29 s [really-safe-money-gen] coverage (1273/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
  4652. 755.12 s [really-safe-money-gen] coverage (1232/1610): Money\.AmountOfSpec.INR.fromRational.succeeds on 1 (19 mutations)
  4653. 755.44 s [really-safe-money-gen] coverage (1280/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
  4654. 755.73 s [really-safe-money-gen] coverage (1279/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * BTC)"'s (0 mutations)
  4655. 756.32 s [really-safe-money-gen] coverage (1288/1610): Money\.AmountOfSpec.BTC.fromRatio.roundtrips with toRatio (19 mutations)
  4656. 757.11 s [really-safe-money-gen] coverage (1109/1610): Money\.AmountOfSpec.ADA.fromRational.fails on NaN (2 mutations)
  4657. 757.25 s [really-safe-money-gen] coverage (1292/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 1 (19 mutations)
  4658. 757.76 s [really-safe-money-gen] coverage (1296/1610): Money\.AmountOfSpec.BTC.CHF.convert.produces valid amounts (25 mutations)
  4659. 758.89 s [really-safe-money-gen] coverage (1294/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on +Infinity (2 mutations)
  4660. 760.01 s [really-safe-money-gen] coverage (1298/1610): Money\.AmountOfSpec.BTC.fromRational.fails on NaN (2 mutations)
  4661. 760.32 s [really-safe-money-gen] coverage (1299/1610): Money\.AmountOfSpec.BTC.fromRational.produces valid Amounts (19 mutations)
  4662. 761.74 s [really-safe-money-gen] coverage (1301/1610): Money\.AmountOfSpec.BTC.fromRational.succeeds on 1 (19 mutations)
  4663. 764.25 s [really-safe-money-gen] coverage (1306/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on +Infinity (10 mutations)
  4664. 764.43 s [really-safe-money-gen] coverage (1303/1610): Money\.AmountOfSpec.BTC.fromRational.fails on -Infinity (2 mutations)
  4665. 764.56 s [really-safe-money-gen] coverage (1305/1610): Money\.AmountOfSpec.BTC.fromRational.roundtrips with toRational (19 mutations)
  4666. 765.19 s [really-safe-money-gen] coverage (1307/1610): Money\.AmountOfSpec.BTC.fromDouble.succeeds on 1 (30 mutations)
  4667. 766.07 s [really-safe-money-gen] coverage (1311/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on -Infinity (6 mutations)
  4668. 766.07 s [really-safe-money-gen] coverage (1309/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on -1 (6 mutations)
  4669. 767.06 s [really-safe-money-gen] coverage (1293/1610): Money\.AmountOfSpec.BTC.fromRatio.produces valid AmountOfs (19 mutations)
  4670. 767.17 s [really-safe-money-gen] coverage (1313/1610): Money\.AmountOfSpec.BTC.GenValid (AmountOf * BTC).genValid \:\: Gen (AmountOf * BTC).only generates valid '(AmountOf * BTC)'s (0 mutations)
  4671. 767.61 s [really-safe-money-gen] coverage (1315/1610): Money\.AmountOfSpec.BTC.USD.convert.produces valid amounts (25 mutations)
  4672. 767.73 s [really-safe-money-gen] coverage (1318/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * BTC)"s (0 mutations)
  4673. 768.36 s [really-safe-money-gen] coverage (1316/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is reflexive for "valid (AmountOf * BTC)"s (0 mutations)
  4674. 769.01 s [really-safe-money-gen] coverage (1310/1610): Money\.AmountOfSpec.BTC.fromDouble.succeeds on 0 (30 mutations)
  4675. 769.98 s [really-safe-money-gen] coverage (1287/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * BTC)"'s (0 mutations)
  4676. 770.12 s [really-safe-money-gen] coverage (1300/1610): Money\.AmountOfSpec.BTC.fromRational.fails on -1 (8 mutations)
  4677. 770.78 s [really-safe-money-gen] coverage (1302/1610): Money\.AmountOfSpec.BTC.fromRational.fails on +Infinity (2 mutations)
  4678. 771.42 s [really-safe-money-gen] coverage (1295/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on 7\.123 (13 mutations)
  4679. 772.41 s [really-safe-money-gen] coverage (1304/1610): Money\.AmountOfSpec.BTC.fromRational.succeeds on 0 (19 mutations)
  4680. 772.59 s [really-safe-money-gen] coverage (1284/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
  4681. 772.78 s [really-safe-money-gen] coverage (1297/1610): Money\.AmountOfSpec.BTC.CHF.rate.produces valid amounts (10 mutations)
  4682. 773.70 s [really-safe-money-gen] coverage (1289/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on NaN (2 mutations)
  4683. 774.15 s [really-safe-money-gen] coverage (1291/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 0 (20 mutations)
  4684. 774.25 s [really-safe-money-gen] coverage (1286/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
  4685. 774.71 s [really-safe-money-gen] coverage (1308/1610): Money\.AmountOfSpec.BTC.fromDouble.produces valid amounts (30 mutations)
  4686. 774.78 s [really-safe-money-gen] coverage (1312/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on NaN (8 mutations)
  4687. 776.29 s [really-safe-money-gen] coverage (1314/1610): Money\.AmountOfSpec.BTC.USD.rate.produces valid amounts (10 mutations)
  4688. 776.40 s [really-safe-money-gen] coverage (1290/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 77 (19 mutations)
  4689. 778.10 s [really-safe-money-gen] coverage (1285/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antireflexive for "valid (AmountOf * BTC)"'s (0 mutations)
  4690. 779.85 s [really-safe-money-gen] coverage (1282/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * BTC)"'s (0 mutations)
  4691. 782.56 s [really-safe-money-gen] coverage (1317/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"s (0 mutations)
  4692. 782.70 s [really-safe-money-gen] coverage (1283/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antireflexive for "valid (AmountOf * BTC)"'s (0 mutations)
  4693. 783.21 s [really-safe-money-gen] coverage (1322/1610): Money\.AmountOfSpec.BTC.add.has a right-identity\: zero (10 mutations)
  4694. 783.28 s [really-safe-money-gen] coverage (1324/1610): Money\.AmountOfSpec.BTC.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4695. 783.77 s [really-safe-money-gen] coverage (1323/1610): Money\.AmountOfSpec.BTC.add.has a left-identity\: zero (10 mutations)
  4696. 784.24 s [really-safe-money-gen] coverage (1320/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(/=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * BTC)"s (0 mutations)
  4697. 785.37 s [really-safe-money-gen] coverage (1327/1610): Money\.AmountOfSpec.BTC.add.is associative when both succeed (9 mutations)
  4698. 785.50 s [really-safe-money-gen] coverage (1321/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(/=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antireflexive for "valid (AmountOf * BTC)"s (0 mutations)
  4699. 786.00 s [really-safe-money-gen] coverage (1340/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(/=) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
  4700. 786.12 s [really-safe-money-gen] coverage (1281/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC)."max \:\: (AmountOf * BTC -> AmountOf * BTC -> AmountOf * BTC)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * BTC)"'s (0 mutations)
  4701. 786.32 s [really-safe-money-gen] coverage (1344/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
  4702. 786.50 s [really-safe-money-gen] coverage (1319/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is symmetric for "valid (AmountOf * BTC)"s (0 mutations)
  4703. 787.60 s [really-safe-money-gen] coverage (1347/1610): Money\.AmountOfSpec.BTC.distribute.produces results that sum up to the greater whole (29 mutations)
  4704. 787.78 s [really-safe-money-gen] coverage (1351/1610): Money\.AmountOfSpec.BTC.multiply.is absorbed by 0 (10 mutations)
  4705. 789.09 s [really-safe-money-gen] coverage (1353/1610): Money\.AmountOfSpec.BTC.multiply.produces valid amounts (9 mutations)
  4706. 789.22 s [really-safe-money-gen] coverage (1342/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is reflexive for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
  4707. 790.18 s [really-safe-money-gen] coverage (1357/1610): Money\.AmountOfSpec.CHF.INR.rate.produces valid amounts (10 mutations)
  4708. 790.81 s [really-safe-money-gen] coverage (1360/1610): Money\.AmountOfSpec.CHF.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4709. 790.84 s [really-safe-money-gen] coverage (1363/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on NaN (2 mutations)
  4710. 791.14 s [really-safe-money-gen] coverage (1361/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 0 (20 mutations)
  4711. 791.22 s [really-safe-money-gen] coverage (1355/1610): Money\.AmountOfSpec.BTC.multiply.is distributive with add when both succeed (17 mutations)
  4712. 791.91 s [really-safe-money-gen] coverage (1341/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(/=) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
  4713. 792.47 s [really-safe-money-gen] coverage (1362/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on +Infinity (2 mutations)
  4714. 793.23 s [really-safe-money-gen] coverage (1358/1610): Money\.AmountOfSpec.CHF.USD.convert.produces valid amounts (25 mutations)
  4715. 793.32 s [really-safe-money-gen] coverage (1352/1610): Money\.AmountOfSpec.BTC.multiply.has an identity\: 1 (9 mutations)
  4716. 794.03 s [really-safe-money-gen] coverage (1359/1610): Money\.AmountOfSpec.CHF.USD.rate.produces valid amounts (10 mutations)
  4717. 795.84 s [really-safe-money-gen] coverage (1350/1610): Money\.AmountOfSpec.BTC.fraction.produces valid amounts (17 mutations)
  4718. 795.96 s [really-safe-money-gen] coverage (1348/1610): Money\.AmountOfSpec.BTC.distribute.Show (Distribution (AmountOf * BTC)) and Read (Distribution (AmountOf * BTC)).are implemented such that read \. show == id for valid values (1 mutations)
  4719. 798.99 s [really-safe-money-gen] coverage (1346/1610): Money\.AmountOfSpec.BTC.distribute.produces valid amounts (21 mutations)
  4720. 799.80 s [really-safe-money-gen] coverage (1343/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is symmetric for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
  4721. 799.84 s [really-safe-money-gen] coverage (1349/1610): Money\.AmountOfSpec.BTC.toRational.produces valid Rationals (0 mutations)
  4722. 800.31 s [really-safe-money-gen] coverage (1338/1610): Money\.AmountOfSpec.BTC.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4723. 800.91 s [really-safe-money-gen] coverage (1339/1610): Money\.AmountOfSpec.BTC.sum.produces valid amounts (10 mutations)
  4724. 802.15 s [really-safe-money-gen] coverage (1337/1610): Money\.AmountOfSpec.BTC.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4725. 802.22 s [really-safe-money-gen] coverage (1354/1610): Money\.AmountOfSpec.BTC.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4726. 802.87 s [really-safe-money-gen] coverage (1336/1610): Money\.AmountOfSpec.BTC.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4727. 802.91 s [really-safe-money-gen] coverage (1334/1610): Money\.AmountOfSpec.BTC.Show (AmountOf * BTC) and Read (AmountOf * BTC).are implemented such that read \. show == id for valid values (1 mutations)
  4728. 803.50 s [really-safe-money-gen] coverage (1335/1610): Money\.AmountOfSpec.BTC.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4729. 803.73 s [really-safe-money-gen] coverage (1365/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 1 (19 mutations)
  4730. 803.93 s [really-safe-money-gen] coverage (1331/1610): Money\.AmountOfSpec.BTC.BTC.convert.produces valid amounts (25 mutations)
  4731. 804.92 s [really-safe-money-gen] coverage (1356/1610): Money\.AmountOfSpec.CHF.INR.convert.produces valid amounts (25 mutations)
  4732. 805.20 s [really-safe-money-gen] coverage (1332/1610): Money\.AmountOfSpec.BTC.BTC.rate.produces valid amounts (10 mutations)
  4733. 806.38 s [really-safe-money-gen] coverage (1366/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on 7\.123 (13 mutations)
  4734. 806.59 s [really-safe-money-gen] coverage (1330/1610): Money\.AmountOfSpec.BTC.zero.is valid (1 mutations)
  4735. 806.79 s [really-safe-money-gen] coverage (1345/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is transitive for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
  4736. 807.92 s [really-safe-money-gen] coverage (1326/1610): Money\.AmountOfSpec.BTC.add.produces valid amounts (9 mutations)
  4737. 808.22 s [really-safe-money-gen] coverage (1325/1610): Money\.AmountOfSpec.BTC.add.is commutative (9 mutations)
  4738. 808.37 s [really-safe-money-gen] coverage (1329/1610): Money\.AmountOfSpec.BTC.ADA.rate.produces valid amounts (10 mutations)
  4739. 809.03 s [really-safe-money-gen] coverage (1368/1610): Money\.AmountOfSpec.CHF.fromRatio.produces valid AmountOfs (19 mutations)
  4740. 809.53 s [really-safe-money-gen] coverage (1367/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 77 (19 mutations)
  4741. 810.62 s [really-safe-money-gen] coverage (1369/1610): Money\.AmountOfSpec.CHF.fraction.produces valid amounts (17 mutations)
  4742. 810.80 s [really-safe-money-gen] coverage (1333/1610): Money\.AmountOfSpec.BTC.toDouble.produces valid Doubles (0 mutations)
  4743. 810.82 s [really-safe-money-gen] coverage (1328/1610): Money\.AmountOfSpec.BTC.ADA.convert.produces valid amounts (25 mutations)
  4744. 810.86 s [really-safe-money-gen] coverage (1375/1610): Money\.AmountOfSpec.CHF.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4745. 813.01 s [really-safe-money-gen] coverage (1376/1610): Money\.AmountOfSpec.CHF.fromRational.fails on +Infinity (2 mutations)
  4746. 813.46 s [really-safe-money-gen] coverage (1378/1610): Money\.AmountOfSpec.CHF.fromRational.succeeds on 0 (19 mutations)
  4747. 816.82 s [really-safe-money-gen] coverage (1373/1610): Money\.AmountOfSpec.CHF.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4748. 816.90 s [really-safe-money-gen] coverage (1374/1610): Money\.AmountOfSpec.CHF.multiply.produces valid amounts (9 mutations)
  4749. 817.10 s [really-safe-money-gen] coverage (1383/1610): Money\.AmountOfSpec.CHF.fromRational.succeeds on 1 (19 mutations)
  4750. 817.97 s [really-safe-money-gen] coverage (1380/1610): Money\.AmountOfSpec.CHF.fromRational.fails on -1 (8 mutations)
  4751. 818.40 s [really-safe-money-gen] coverage (1377/1610): Money\.AmountOfSpec.CHF.fromRational.produces valid Amounts (19 mutations)
  4752. 819.16 s [really-safe-money-gen] coverage (1379/1610): Money\.AmountOfSpec.CHF.fromRational.fails on -Infinity (2 mutations)
  4753. 819.71 s [really-safe-money-gen] coverage (1372/1610): Money\.AmountOfSpec.CHF.multiply.is distributive with add when both succeed (17 mutations)
  4754. 820.14 s [really-safe-money-gen] coverage (1371/1610): Money\.AmountOfSpec.CHF.multiply.is absorbed by 0 (10 mutations)
  4755. 820.41 s [really-safe-money-gen] coverage (1370/1610): Money\.AmountOfSpec.CHF.multiply.has an identity\: 1 (9 mutations)
  4756. 821.29 s [really-safe-money-gen] coverage (1385/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is symmetric for "valid (AmountOf * CHF)"s (0 mutations)
  4757. 821.43 s [really-safe-money-gen] coverage (1386/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is reflexive for "valid (AmountOf * CHF)"s (0 mutations)
  4758. 821.49 s [really-safe-money-gen] coverage (1388/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(/=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antireflexive for "valid (AmountOf * CHF)"s (0 mutations)
  4759. 822.54 s [really-safe-money-gen] coverage (1393/1610): Money\.AmountOfSpec.CHF.BTC.rate.produces valid amounts (10 mutations)
  4760. 822.58 s [really-safe-money-gen] coverage (1392/1610): Money\.AmountOfSpec.CHF.BTC.convert.produces valid amounts (25 mutations)
  4761. 823.70 s [really-safe-money-gen] coverage (1391/1610): Money\.AmountOfSpec.CHF.sum.produces valid amounts (10 mutations)
  4762. 824.32 s [really-safe-money-gen] coverage (1389/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(/=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * CHF)"s (0 mutations)
  4763. 824.41 s [really-safe-money-gen] coverage (1390/1610): Money\.AmountOfSpec.CHF.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4764. 825.41 s [really-safe-money-gen] coverage (1382/1610): Money\.AmountOfSpec.CHF.fromRational.roundtrips with toRational (19 mutations)
  4765. 826.27 s [really-safe-money-gen] coverage (1364/1610): Money\.AmountOfSpec.CHF.fromRatio.roundtrips with toRatio (19 mutations)
  4766. 826.43 s [really-safe-money-gen] coverage (1387/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"s (0 mutations)
  4767. 826.61 s [really-safe-money-gen] coverage (1381/1610): Money\.AmountOfSpec.CHF.fromRational.fails on NaN (2 mutations)
  4768. 827.12 s [really-safe-money-gen] coverage (1384/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * CHF)"s (0 mutations)
  4769. 828.09 s [really-safe-money-gen] coverage (1406/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on -1 (6 mutations)
  4770. 828.21 s [really-safe-money-gen] coverage (1403/1610): Money\.AmountOfSpec.CHF.fromDouble.produces valid amounts (30 mutations)
  4771. 828.49 s [really-safe-money-gen] coverage (1407/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on NaN (8 mutations)
  4772. 828.49 s [really-safe-money-gen] coverage (1404/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on +Infinity (10 mutations)
  4773. 830.11 s [really-safe-money-gen] coverage (1408/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on -Infinity (6 mutations)
  4774. 830.63 s [really-safe-money-gen] coverage (1409/1610): Money\.AmountOfSpec.CHF.ADA.rate.produces valid amounts (10 mutations)
  4775. 832.48 s [really-safe-money-gen] coverage (1421/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is reflexive for "valid (AmountOf * CHF)"'s (0 mutations)
  4776. 833.45 s [really-safe-money-gen] coverage (1422/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antireflexive for "valid (AmountOf * CHF)"'s (0 mutations)
  4777. 834.47 s [really-safe-money-gen] coverage (1426/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * CHF)"'s (0 mutations)
  4778. 834.53 s [really-safe-money-gen] coverage (1427/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is reflexive for "valid (AmountOf * CHF)"'s (0 mutations)
  4779. 835.17 s [really-safe-money-gen] coverage (1429/1610): Money\.AmountOfSpec.CHF.GenValid (AmountOf * CHF).genValid \:\: Gen (AmountOf * CHF).only generates valid '(AmountOf * CHF)'s (0 mutations)
  4780. 835.85 s [really-safe-money-gen] coverage (1432/1610): Money\.AmountOfSpec.CHF.distribute.produces results that sum up to the greater whole (29 mutations)
  4781. 836.77 s [really-safe-money-gen] coverage (1434/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(/=) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
  4782. 836.78 s [really-safe-money-gen] coverage (1430/1610): Money\.AmountOfSpec.CHF.distribute.Show (Distribution (AmountOf * CHF)) and Read (Distribution (AmountOf * CHF)).are implemented such that read \. show == id for valid values (1 mutations)
  4783. 836.82 s [really-safe-money-gen] coverage (1435/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is symmetric for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
  4784. 838.23 s [really-safe-money-gen] coverage (1438/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is transitive for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
  4785. 838.37 s [really-safe-money-gen] coverage (1433/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(/=) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
  4786. 838.62 s [really-safe-money-gen] coverage (1436/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
  4787. 839.09 s [really-safe-money-gen] coverage (1439/1610): Money\.AmountOfSpec.CHF.add.is commutative (9 mutations)
  4788. 839.63 s [really-safe-money-gen] coverage (1440/1610): Money\.AmountOfSpec.CHF.add.has a left-identity\: zero (10 mutations)
  4789. 840.10 s [really-safe-money-gen] coverage (1437/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is reflexive for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
  4790. 840.96 s [really-safe-money-gen] coverage (1428/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antisymmetric for "valid (AmountOf * CHF)"'s (0 mutations)
  4791. 841.99 s [really-safe-money-gen] coverage (1431/1610): Money\.AmountOfSpec.CHF.distribute.produces valid amounts (21 mutations)
  4792. 842.53 s [really-safe-money-gen] coverage (1423/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * CHF)"'s (0 mutations)
  4793. 842.79 s [really-safe-money-gen] coverage (1442/1610): Money\.AmountOfSpec.CHF.add.produces valid amounts (9 mutations)
  4794. 843.46 s [really-safe-money-gen] coverage (1443/1610): Money\.AmountOfSpec.CHF.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4795. 843.57 s [really-safe-money-gen] coverage (1444/1610): Money\.AmountOfSpec.CHF.add.has a right-identity\: zero (10 mutations)
  4796. 844.00 s [really-safe-money-gen] coverage (1424/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
  4797. 845.48 s [really-safe-money-gen] coverage (1419/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * CHF)"'s (0 mutations)
  4798. 845.63 s [really-safe-money-gen] coverage (1425/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
  4799. 845.75 s [really-safe-money-gen] coverage (1416/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antireflexive for "valid (AmountOf * CHF)"'s (0 mutations)
  4800. 847.26 s [really-safe-money-gen] coverage (1415/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * CHF)"'s (0 mutations)
  4801. 847.35 s [really-safe-money-gen] coverage (1441/1610): Money\.AmountOfSpec.CHF.add.is associative when both succeed (9 mutations)
  4802. 847.84 s [really-safe-money-gen] coverage (1418/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
  4803. 850.20 s [really-safe-money-gen] coverage (1417/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
  4804. 851.04 s [really-safe-money-gen] coverage (1412/1610): Money\.AmountOfSpec.CHF.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4805. 851.08 s [really-safe-money-gen] coverage (1413/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF)."max \:\: (AmountOf * CHF -> AmountOf * CHF -> AmountOf * CHF)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * CHF)"'s (0 mutations)
  4806. 851.22 s [really-safe-money-gen] coverage (1445/1610): Money\.AmountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundDown (6 mutations)
  4807. 852.04 s [really-safe-money-gen] coverage (1411/1610): Money\.AmountOfSpec.CHF.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4808. 852.53 s [really-safe-money-gen] coverage (1420/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antisymmetric for "valid (AmountOf * CHF)"'s (0 mutations)
  4809. 853.15 s [really-safe-money-gen] coverage (1395/1610): Money\.AmountOfSpec.CHF.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4810. 853.71 s [really-safe-money-gen] coverage (1452/1610): Money\.AmountSpec.format.formats 1 correctly with quantisation factor 10 (3 mutations)
  4811. 854.33 s [really-safe-money-gen] coverage (1453/1610): Money\.AmountSpec.format.produces valid strings (3 mutations)
  4812. 855.57 s [really-safe-money-gen] coverage (1400/1610): Money\.AmountOfSpec.CHF.Show (AmountOf * CHF) and Read (AmountOf * CHF).are implemented such that read \. show == id for valid values (1 mutations)
  4813. 856.16 s [really-safe-money-gen] coverage (1401/1610): Money\.AmountOfSpec.CHF.format.produces valid strings (3 mutations)
  4814. 856.90 s [really-safe-money-gen] coverage (1454/1610): Money\.AmountSpec.fromRatio.produces valid Amounts (19 mutations)
  4815. 857.35 s [really-safe-money-gen] coverage (1451/1610): Money\.AmountSpec.format.formats 1 correctly with quantisation factor 1 (3 mutations)
  4816. 857.40 s [really-safe-money-gen] coverage (1456/1610): Money\.AmountSpec.fromRatio.succeeds on 1 (19 mutations)
  4817. 857.61 s [really-safe-money-gen] coverage (1396/1610): Money\.AmountOfSpec.CHF.toDouble.produces valid Doubles (0 mutations)
  4818. 857.70 s [really-safe-money-gen] coverage (1399/1610): Money\.AmountOfSpec.CHF.CHF.rate.produces valid amounts (10 mutations)
  4819. 857.93 s [really-safe-money-gen] coverage (1455/1610): Money\.AmountSpec.fromRatio.roundtrips with toRatio (19 mutations)
  4820. 859.64 s [really-safe-money-gen] coverage (1457/1610): Money\.AmountSpec.fromRatio.fails on NaN (2 mutations)
  4821. 859.81 s [really-safe-money-gen] coverage (1458/1610): Money\.AmountSpec.fromRatio.fails on +Infinity (2 mutations)
  4822. 860.25 s [really-safe-money-gen] coverage (1459/1610): Money\.AmountSpec.fromRatio.succeeds on 77\.02 with quantisation factor 100 (19 mutations)
  4823. 860.89 s [really-safe-money-gen] coverage (1397/1610): Money\.AmountOfSpec.CHF.toRational.produces valid Rationals (0 mutations)
  4824. 861.36 s [really-safe-money-gen] coverage (1398/1610): Money\.AmountOfSpec.CHF.CHF.convert.produces valid amounts (25 mutations)
  4825. 861.59 s [really-safe-money-gen] coverage (1461/1610): Money\.AmountSpec.fromRatio.fails on 7\.123 with quantisation factor 10 (13 mutations)
  4826. 861.60 s [really-safe-money-gen] coverage (1460/1610): Money\.AmountSpec.fromRatio.succeeds on 0 (19 mutations)
  4827. 863.25 s [really-safe-money-gen] coverage (1394/1610): Money\.AmountOfSpec.CHF.zero.is valid (1 mutations)
  4828. 864.87 s [really-safe-money-gen] coverage (1462/1610): Money\.AmountSpec.distribute.correctly distributes 3 into 3 (5 mutations)
  4829. 865.93 s [really-safe-money-gen] coverage (1463/1610): Money\.AmountSpec.distribute.produces results that sum up to the greater whole (25 mutations)
  4830. 867.98 s [really-safe-money-gen] coverage (1402/1610): Money\.AmountOfSpec.CHF.fromDouble.succeeds on 1 (30 mutations)
  4831. 868.02 s [really-safe-money-gen] coverage (1464/1610): Money\.AmountSpec.distribute.Show (Distribution Amount) and Read (Distribution Amount).are implemented such that read \. show == id for valid values (1 mutations)
  4832. 868.47 s [really-safe-money-gen] coverage (1405/1610): Money\.AmountOfSpec.CHF.fromDouble.succeeds on 0 (30 mutations)
  4833. 868.47 s [really-safe-money-gen] coverage (1414/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF)."min \:\: (AmountOf * CHF -> AmountOf * CHF -> AmountOf * CHF)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * CHF)"'s (0 mutations)
  4834. 868.70 s [really-safe-money-gen] coverage (1450/1610): Money\.AmountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundUp (6 mutations)
  4835. 869.74 s [really-safe-money-gen] coverage (1410/1610): Money\.AmountOfSpec.CHF.ADA.convert.produces valid amounts (25 mutations)
  4836. 870.58 s [really-safe-money-gen] coverage (1474/1610): Money\.AmountSpec.distribute.produces valid amounts (17 mutations)
  4837. 871.06 s [really-safe-money-gen] coverage (1477/1610): Money\.AmountSpec.sum.fails to sum above maxBound (9 mutations)
  4838. 872.31 s [really-safe-money-gen] coverage (1480/1610): Money\.AmountSpec.multiply.fails for 2 * maxbound (8 mutations)
  4839. 872.36 s [really-safe-money-gen] coverage (1479/1610): Money\.AmountSpec.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4840. 874.40 s [really-safe-money-gen] coverage (1476/1610): Money\.AmountSpec.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4841. 874.71 s [really-safe-money-gen] coverage (1470/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is reflexive for "valid (Distribution Amount)"s (1 mutations)
  4842. 875.30 s [really-safe-money-gen] coverage (1473/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(/=) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution Amount)"s (1 mutations)
  4843. 875.44 s [really-safe-money-gen] coverage (1472/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(/=) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is antireflexive for "valid (Distribution Amount)"s (1 mutations)
  4844. 875.53 s [really-safe-money-gen] coverage (1471/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is transitive for "valid (Distribution Amount)"s (1 mutations)
  4845. 875.66 s [really-safe-money-gen] coverage (1467/1610): Money\.AmountSpec.distribute.correctly distributes 5 into 3 (7 mutations)
  4846. 876.23 s [really-safe-money-gen] coverage (1469/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution Amount)"s (1 mutations)
  4847. 877.17 s [really-safe-money-gen] coverage (1478/1610): Money\.AmountSpec.sum.correctly sums [1,2,3] to 6 (10 mutations)
  4848. 877.45 s [really-safe-money-gen] coverage (1468/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is symmetric for "valid (Distribution Amount)"s (1 mutations)
  4849. 878.33 s [really-safe-money-gen] coverage (1481/1610): Money\.AmountSpec.multiply.produces valid amounts (9 mutations)
  4850. 878.74 s [really-safe-money-gen] coverage (1475/1610): Money\.AmountSpec.sum.produces valid amounts (10 mutations)
  4851. 878.96 s [really-safe-money-gen] coverage (1484/1610): Money\.AmountSpec.multiply.has an identity\: 1 (9 mutations)
  4852. 879.65 s [really-safe-money-gen] coverage (1494/1610): Money\.AmountSpec.fromDouble.fails on 7\.123 with quantisation factor 10 (24 mutations)
  4853. 879.73 s [really-safe-money-gen] coverage (1493/1610): Money\.AmountSpec.fromDouble.fails on -1 (6 mutations)
  4854. 880.39 s [really-safe-money-gen] coverage (1483/1610): Money\.AmountSpec.multiply.is distributive with add when both succeed (18 mutations)
  4855. 880.41 s [really-safe-money-gen] coverage (1486/1610): Money\.AmountSpec.Show Amount and Read Amount.are implemented such that read \. show == id for valid values (1 mutations)
  4856. 882.34 s [really-safe-money-gen] coverage (1495/1610): Money\.AmountSpec.fromDouble.fails on -Infinity (6 mutations)
  4857. 884.04 s [really-safe-money-gen] coverage (1496/1610): Money\.AmountSpec.fromDouble.fails on +Infinity (10 mutations)
  4858. 884.54 s [really-safe-money-gen] coverage (1501/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is antisymmetric for "valid Amount"'s (0 mutations)
  4859. 885.21 s [really-safe-money-gen] coverage (1498/1610): Money\.AmountSpec.fromDouble.succeeds on 0 (30 mutations)
  4860. 885.29 s [really-safe-money-gen] coverage (1499/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"'s (0 mutations)
  4861. 885.48 s [really-safe-money-gen] coverage (1497/1610): Money\.AmountSpec.fromDouble.succeeds on 1 (30 mutations)
  4862. 886.40 s [really-safe-money-gen] coverage (1502/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4863. 886.62 s [really-safe-money-gen] coverage (1503/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4864. 888.05 s [really-safe-money-gen] coverage (1511/1610): Money\.AmountSpec.Ord Amount."min \:\: (Amount -> Amount -> Amount)".is equivalent to (\\a b -> if a <= b then a else b) for "valid Amount"'s (0 mutations)
  4865. 888.34 s [really-safe-money-gen] coverage (1512/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid Amount"'s (0 mutations)
  4866. 889.53 s [really-safe-money-gen] coverage (1514/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4867. 889.71 s [really-safe-money-gen] coverage (1513/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"'s (0 mutations)
  4868. 891.81 s [really-safe-money-gen] coverage (1515/1610): Money\.AmountSpec.toRational.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4869. 892.65 s [really-safe-money-gen] coverage (1516/1610): Money\.AmountSpec.toRational.produces an invalid Rational with quantisation factor 0 (1 mutations)
  4870. 892.67 s [really-safe-money-gen] coverage (1519/1610): Money\.AmountSpec.fromRational.fails on really large numbers (19 mutations)
  4871. 892.72 s [really-safe-money-gen] coverage (1517/1610): Money\.AmountSpec.fromRational.roundtrips with toRational (19 mutations)
  4872. 893.61 s [really-safe-money-gen] coverage (1520/1610): Money\.AmountSpec.fromRational.fails on -Infinity (2 mutations)
  4873. 893.67 s [really-safe-money-gen] coverage (1518/1610): Money\.AmountSpec.fromRational.succeeds on 0 (19 mutations)
  4874. 894.24 s [really-safe-money-gen] coverage (1509/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4875. 894.46 s [really-safe-money-gen] coverage (1506/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"'s (0 mutations)
  4876. 894.90 s [really-safe-money-gen] coverage (1521/1610): Money\.AmountSpec.fromRational.succeeds on 1 (19 mutations)
  4877. 895.04 s [really-safe-money-gen] coverage (1505/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is antisymmetric for "valid Amount"'s (0 mutations)
  4878. 895.71 s [really-safe-money-gen] coverage (1522/1610): Money\.AmountSpec.fromRational.succeeds on 77\.02 with quantisation factor 100 (19 mutations)
  4879. 896.35 s [really-safe-money-gen] coverage (1507/1610): Money\.AmountSpec.Ord Amount."max \:\: (Amount -> Amount -> Amount)".is equivalent to (\\a b -> if a >= b then a else b) for "valid Amount"'s (0 mutations)
  4880. 897.22 s [really-safe-money-gen] coverage (1510/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid Amount"'s (0 mutations)
  4881. 897.39 s [really-safe-money-gen] coverage (1532/1610): Money\.AmountSpec.add.has a right-identity\: zero (10 mutations)
  4882. 897.42 s [really-safe-money-gen] coverage (1530/1610): Money\.AmountSpec.add.fails for maxBound + 1 (8 mutations)
  4883. 898.45 s [really-safe-money-gen] coverage (1531/1610): Money\.AmountSpec.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4884. 901.51 s [really-safe-money-gen] coverage (1533/1610): Money\.AmountSpec.add.produces valid amounts (9 mutations)
  4885. 901.72 s [really-safe-money-gen] coverage (1534/1610): Money\.AmountSpec.add.fails for maxBound + maxBound (8 mutations)
  4886. 902.38 s [really-safe-money-gen] coverage (1535/1610): Money\.AmountSpec.add.has a left-identity\: zero (10 mutations)
  4887. 902.93 s [really-safe-money-gen] coverage (1536/1610): Money\.AmountSpec.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4888. 903.11 s [really-safe-money-gen] coverage (1537/1610): Money\.AmountSpec.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4889. 903.33 s [really-safe-money-gen] coverage (1538/1610): Money\.AmountSpec.Eq Amount.(/=) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"s (0 mutations)
  4890. 903.85 s [really-safe-money-gen] coverage (1539/1610): Money\.AmountSpec.Eq Amount.(/=) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid Amount"s (0 mutations)
  4891. 905.27 s [really-safe-money-gen] coverage (1540/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid Amount"s (0 mutations)
  4892. 906.20 s [really-safe-money-gen] coverage (1542/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"s (0 mutations)
  4893. 907.04 s [really-safe-money-gen] coverage (1541/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"s (0 mutations)
  4894. 907.19 s [really-safe-money-gen] coverage (1543/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is symmetric for "valid Amount"s (0 mutations)
  4895. 908.30 s [really-safe-money-gen] coverage (1544/1610): Money\.AmountSpec.GenValid Amount.genValid \:\: Gen Amount.only generates valid 'Amount's (0 mutations)
  4896. 909.63 s [really-safe-money-gen] coverage (1545/1610): Money\.AmountSpec.toDouble.produces valid Doubles (0 mutations)
  4897. 910.17 s [really-safe-money-gen] coverage (1548/1610): Money\.AmountSpec.rate.produces valid conversion rates (10 mutations)
  4898. 910.40 s [really-safe-money-gen] coverage (1547/1610): Money\.AmountSpec.toDouble.produces an infinite Double with quantisation factor 0 (0 mutations)
  4899. 910.63 s [really-safe-money-gen] coverage (1546/1610): Money\.AmountSpec.toDouble.succeeds on 7702 with quantisation factor 100 (0 mutations)
  4900. 911.65 s [really-safe-money-gen] coverage (1550/1610): Money\.AmountSpec.rate.computes this USD to CHF rate correctly (10 mutations)
  4901. 911.80 s [really-safe-money-gen] coverage (1553/1610): Money\.AmountSpec.convert.converts this USD to CHF correctly (22 mutations)
  4902. 911.83 s [really-safe-money-gen] coverage (1551/1610): Money\.AmountSpec.zero.is valid (1 mutations)
  4903. 912.08 s [really-safe-money-gen] coverage (1552/1610): Money\.AmountSpec.convert.succeeds in converting 1\:1 without rounding if the quantisation factor is the same (25 mutations)
  4904. 912.68 s [really-safe-money-gen] coverage (1555/1610): Money\.AmountSpec.toRatio.produces an invalid Rational with quantisation factor 0 (1 mutations)
  4905. 913.55 s [really-safe-money-gen] coverage (1558/1610): Money\.AmountSpec.subtract.fails for 0 - 1 (9 mutations)
  4906. 913.99 s [really-safe-money-gen] coverage (1557/1610): Money\.AmountSpec.subtract.fails for 0 - maxBound (9 mutations)
  4907. 914.23 s [really-safe-money-gen] coverage (1556/1610): Money\.AmountSpec.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4908. 914.81 s [really-safe-money-gen] coverage (1559/1610): Money\.AmountSpec.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4909. 915.03 s [really-safe-money-gen] coverage (1549/1610): Money\.AmountSpec.rate.computes a rate that can be used to do a conversion without rounding (27 mutations)
  4910. 915.08 s [really-safe-money-gen] coverage (1554/1610): Money\.AmountSpec.convert.produces valid amounts (25 mutations)
  4911. 915.51 s [really-safe-money-gen] coverage (1560/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 600 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
  4912. 918.56 s [really-safe-money-gen] coverage (1562/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 2 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (23 mutations)
  4913. 918.71 s [really-safe-money-gen] coverage (1561/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} into DecimalLiteral (Just True) 500 8 (50 mutations)
  4914. 919.82 s [really-safe-money-gen] coverage (1565/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 8 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} (23 mutations)
  4915. 919.99 s [really-safe-money-gen] coverage (1564/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 20 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
  4916. 920.50 s [really-safe-money-gen] coverage (1504/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid Amount"'s (0 mutations)
  4917. 921.06 s [really-safe-money-gen] coverage (1563/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 600 2 (44 mutations)
  4918. 921.97 s [really-safe-money-gen] coverage (1529/1610): Money\.AmountSpec.add.is commutative (9 mutations)
  4919. 922.88 s [really-safe-money-gen] coverage (1526/1610): Money\.AmountSpec.fromRational.fails on NaN (2 mutations)
  4920. 923.10 s [really-safe-money-gen] coverage (1527/1610): Money\.AmountSpec.fromRational.produces valid Amounts (19 mutations)
  4921. 923.73 s [really-safe-money-gen] coverage (1523/1610): Money\.AmountSpec.fromRational.fails on 7\.123 with quantisation factor 10 (13 mutations)
  4922. 924.74 s [really-safe-money-gen] coverage (1525/1610): Money\.AmountSpec.fromRational.fails on -1 (8 mutations)
  4923. 925.98 s [really-safe-money-gen] coverage (1524/1610): Money\.AmountSpec.fromRational.fails on +Infinity (2 mutations)
  4924. 926.87 s [really-safe-money-gen] coverage (1449/1610): Money\.AmountSpec.fraction.Correctly fractions 100 with 1 % 100 (12 mutations)
  4925. 927.66 s [really-safe-money-gen] coverage (1446/1610): Money\.AmountSpec.fraction.Correctly fractions 101 with 1 % 100 (12 mutations)
  4926. 928.64 s [really-safe-money-gen] coverage (1448/1610): Money\.AmountSpec.fraction.produces valid amounts (17 mutations)
  4927. 928.64 s [really-safe-money-gen] coverage (1568/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
  4928. 928.64 s [really-safe-money-gen] coverage (1570/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.fails on this amount that is too precise (17 mutations)
  4929. 928.77 s [really-safe-money-gen] coverage (1487/1610): Money\.AmountSpec.fromDouble.fails on really large numbers (21 mutations)
  4930. 929.22 s [really-safe-money-gen] coverage (1500/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid Amount"'s (0 mutations)
  4931. 929.74 s [really-safe-money-gen] coverage (1447/1610): Money\.AmountSpec.fraction.Produces a result that can be multiplied back (17 mutations)
  4932. 929.96 s [really-safe-money-gen] coverage (1567/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 10 2 (50 mutations)
  4933. 930.25 s [really-safe-money-gen] coverage (1566/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 200 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
  4934. 930.81 s [really-safe-money-gen] coverage (1508/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"'s (0 mutations)
  4935. 931.74 s [really-safe-money-gen] coverage (1489/1610): Money\.AmountSpec.fromDouble.succeeds on 77\.02 with quantisation factor 100 (30 mutations)
  4936. 933.00 s [really-safe-money-gen] coverage (1492/1610): Money\.AmountSpec.fromDouble.fails on NaN (8 mutations)
  4937. 933.10 s [really-safe-money-gen] coverage (1490/1610): Money\.AmountSpec.fromDouble.produces valid amounts (30 mutations)
  4938. 933.22 s [really-safe-money-gen] coverage (1491/1610): Money\.AmountSpec.fromDouble.fails on really large numbers:1 (10 mutations)
  4939. 933.93 s [really-safe-money-gen] coverage (1528/1610): Money\.AmountSpec.add.is associative when both succeed (9 mutations)
  4940. 935.99 s [really-safe-money-gen] coverage (1485/1610): Money\.AmountSpec.multiply.succeeds for 3 * 6 (9 mutations)
  4941. 936.63 s [really-safe-money-gen] coverage (1466/1610): Money\.AmountSpec.distribute.GenValid (Distribution Amount).genValid \:\: Gen (Distribution Amount).only generates valid '(Distribution Amount)'s (11 mutations)
  4942. 937.48 s [really-safe-money-gen] coverage (1465/1610): Money\.AmountSpec.distribute.correctly distributes 10 into 4 (7 mutations)
  4943. 937.64 s [really-safe-money-gen] coverage (1579/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 4 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
  4944. 938.71 s [really-safe-money-gen] coverage (1488/1610): Money\.AmountSpec.fromDouble.roundtrips with toDouble, back to double (30 mutations)
  4945. 938.77 s [really-safe-money-gen] coverage (1580/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 100 2 (44 mutations)
  4946. 939.99 s [really-safe-money-gen] coverage (1571/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.fails on this amount that is too precise:1 (17 mutations)
  4947. 940.92 s [really-safe-money-gen] coverage (1569/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.produces valid factors (23 mutations)
  4948. 941.93 s [really-safe-money-gen] coverage (1578/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 200 2 (44 mutations)
  4949. 942.57 s [really-safe-money-gen] coverage (1572/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 2 0 (38 mutations)
  4950. 943.19 s [really-safe-money-gen] coverage (1575/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 100 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
  4951. 944.46 s [really-safe-money-gen] coverage (1573/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 1 0 (38 mutations)
  4952. 945.17 s [really-safe-money-gen] coverage (1577/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 3 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
  4953. 946.54 s [really-safe-money-gen] coverage (1598/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is antisymmetric for "valid Currency"'s (1 mutations)
  4954. 946.59 s [really-safe-money-gen] coverage (1602/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid Currency"'s (1 mutations)
  4955. 946.88 s [really-safe-money-gen] coverage (1600/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"'s (1 mutations)
  4956. 947.46 s [really-safe-money-gen] coverage (1599/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid Currency"'s (1 mutations)
  4957. 947.48 s [really-safe-money-gen] coverage (1601/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4958. 947.95 s [really-safe-money-gen] coverage (1604/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4959. 948.39 s [really-safe-money-gen] coverage (1603/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"'s (1 mutations)
  4960. 948.44 s [really-safe-money-gen] coverage (1592/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"s (1 mutations)
  4961. 948.87 s [really-safe-money-gen] coverage (1607/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid Currency"'s (1 mutations)
  4962. 948.94 s [really-safe-money-gen] coverage (1605/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is antisymmetric for "valid Currency"'s (1 mutations)
  4963. 949.79 s [really-safe-money-gen] coverage (1594/1610): Money\.CurrencySpec.Show Currency and Read Currency.are implemented such that read \. show == id for valid values (1 mutations)
  4964. 950.62 s [really-safe-money-gen] coverage (1597/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4965. 950.66 s [really-safe-money-gen] coverage (1596/1610): Money\.CurrencySpec.Ord Currency."min \:\: (Currency -> Currency -> Currency)".is equivalent to (\\a b -> if a <= b then a else b) for "valid Currency"'s (1 mutations)
  4966. 952.22 s [really-safe-money-gen] coverage (1595/1610): Money\.CurrencySpec.Ord Currency."max \:\: (Currency -> Currency -> Currency)".is equivalent to (\\a b -> if a >= b then a else b) for "valid Currency"'s (1 mutations)
  4967. 952.66 s [really-safe-money-gen] coverage (1591/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is symmetric for "valid Currency"s (1 mutations)
  4968. 953.35 s [really-safe-money-gen] coverage (1590/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid Currency"s (1 mutations)
  4969. 953.67 s [really-safe-money-gen] coverage (1589/1610): Money\.CurrencySpec.Eq Currency.(/=) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid Currency"s (1 mutations)
  4970. 954.31 s [really-safe-money-gen] coverage (1608/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid Currency"'s (1 mutations)
  4971. 954.58 s [really-safe-money-gen] coverage (1588/1610): Money\.CurrencySpec.Eq Currency.(/=) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"s (1 mutations)
  4972. 955.05 s [really-safe-money-gen] coverage (1609/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4973. 955.19 s [really-safe-money-gen] coverage (1587/1610): Money\.AmountSpec.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4974. 955.33 s [really-safe-money-gen] coverage (1593/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"s (1 mutations)
  4975. 956.07 s [really-safe-money-gen] coverage (1585/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 1 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (23 mutations)
  4976. 956.34 s [really-safe-money-gen] coverage (1586/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 10 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
  4977. 956.54 s [really-safe-money-gen] coverage (1610/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"'s (1 mutations)
  4978. 956.78 s [really-safe-money-gen] coverage (1606/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"'s (1 mutations)
  4979. 957.15 s [really-safe-money-gen] coverage (1584/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 20 2 (50 mutations)
  4980. 957.56 s [really-safe-money-gen] coverage (1581/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 4 2 (44 mutations)
  4981. 957.66 s [really-safe-money-gen] coverage (1574/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 3 2 (44 mutations)
  4982. 957.73 s [really-safe-money-gen] coverage (1576/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 500 2 (44 mutations)
  4983. 957.75 s [really-safe-money-gen] coverage (1482/1610): Money\.AmountSpec.multiply.is absorbed by 0 (10 mutations)
  4984. 999.01 s [really-safe-money-gen] coverage (1582/1610): Money\.AmountSpec.DecimalLiteral.Amount\.toDecimalLiteral.produces valid decimal literals (52 mutations)
  4985. 1017.25 s [really-safe-money-gen] coverage (1583/1610): Money\.AmountSpec.DecimalLiteral.Amount\.toDecimalLiteral.roundtrips with Amount\.fromDecimalLiteral (74 mutations)
  4986. 1018.44 s [really-safe-money-gen] mutation-nix: running mutations
  4987. 1028.38 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  4988. 1028.44 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  4989. 1028.44 s [really-safe-money-gen] let aa1 = abs a1
  4990. 1028.44 s [really-safe-money-gen] aa2 = abs a2
  4991. 1028.45 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  4992. 1028.45 s [really-safe-money-gen] in case (a1, a2) of
  4993. 1028.45 s [really-safe-money-gen] - (Positive _, Positive _) -> mr
  4994. 1028.45 s [really-safe-money-gen] (Positive _, Negative _) -> Nothing
  4995. 1028.45 s [really-safe-money-gen] (Negative _, Positive _) -> Nothing
  4996. 1028.45 s [really-safe-money-gen] (Negative _, Negative _) -> mr
  4997. 1028.45 s [really-safe-money-gen]
  4998. 1028.45 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  4999. 1028.45 s [really-safe-money-gen] -- another currency using a conversion rate.
  5000. 1028.45 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  5001. 1028.45 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  5002. 1028.45 s [really-safe-money-gen] let aa1 = abs a1
  5003. 1028.45 s [really-safe-money-gen] aa2 = abs a2
  5004. 1028.45 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  5005. 1028.45 s [really-safe-money-gen] in case (a1, a2) of
  5006. 1028.45 s [really-safe-money-gen] (Positive _, Positive _) -> mr
  5007. 1028.45 s [really-safe-money-gen] (Positive _, Negative _) -> Nothing
  5008. 1028.45 s [really-safe-money-gen] (Negative _, Positive _) -> Nothing
  5009. 1028.45 s [really-safe-money-gen] - (Negative _, Negative _) -> mr
  5010. 1028.45 s [really-safe-money-gen]
  5011. 1028.45 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  5012. 1028.45 s [really-safe-money-gen] -- another currency using a conversion rate.
  5013. 1028.45 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  5014. 1028.45 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  5015. 1028.45 s [really-safe-money-gen] let aa1 = abs a1
  5016. 1028.45 s [really-safe-money-gen] aa2 = abs a2
  5017. 1028.45 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  5018. 1028.45 s [really-safe-money-gen] in case (a1, a2) of
  5019. 1028.45 s [really-safe-money-gen] (Positive _, Positive _) -> mr
  5020. 1028.45 s [really-safe-money-gen] (Positive _, Negative _) -> Nothing
  5021. 1028.45 s [really-safe-money-gen] - (Negative _, Positive _) -> Nothing
  5022. 1028.45 s [really-safe-money-gen] (Negative _, Negative _) -> mr
  5023. 1028.45 s [really-safe-money-gen]
  5024. 1028.45 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  5025. 1028.45 s [really-safe-money-gen] -- another currency using a conversion rate.
  5026. 1028.45 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
  5027. 1028.46 s [really-safe-money-gen] @@ -588,9 +588,8 @@
  5028. 1028.46 s [really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
  5029. 1028.46 s [really-safe-money-gen] convert r qf1 a cr qf2 =
  5030. 1028.46 s [really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
  5031. 1028.46 s [really-safe-money-gen] in case a of
  5032. 1028.46 s [really-safe-money-gen] Positive _ -> (Positive <$> ma, mr)
  5033. 1028.46 s [really-safe-money-gen] - Negative _ -> (Negative <$> ma, mr)
  5034. 1028.46 s [really-safe-money-gen]
  5035. 1028.46 s [really-safe-money-gen] -- | Format an account of money without a symbol.
  5036. 1028.46 s [really-safe-money-gen] --
  5037. 1028.46 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5038. 1028.46 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5039. 1028.46 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5040. 1028.46 s [really-safe-money-gen] multiply factor account =
  5041. 1028.46 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5042. 1028.46 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5043. 1028.46 s [really-safe-money-gen] - (EQ, _) -> const zero
  5044. 1028.46 s [really-safe-money-gen] (_, EQ) -> const zero
  5045. 1028.46 s [really-safe-money-gen] (GT, GT) -> Positive
  5046. 1028.46 s [really-safe-money-gen] (GT, LT) -> Negative
  5047. 1028.46 s [really-safe-money-gen] (LT, GT) -> Negative
  5048. 1028.46 s [really-safe-money-gen] (LT, LT) -> Positive
  5049. 1028.46 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5050. 1028.46 s [really-safe-money-gen]
  5051. 1028.46 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5052. 1028.46 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5053. 1028.46 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5054. 1028.46 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5055. 1028.46 s [really-safe-money-gen] multiply factor account =
  5056. 1028.46 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5057. 1028.46 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5058. 1028.46 s [really-safe-money-gen] (EQ, _) -> const zero
  5059. 1028.46 s [really-safe-money-gen] (_, EQ) -> const zero
  5060. 1028.46 s [really-safe-money-gen] (GT, GT) -> Positive
  5061. 1028.46 s [really-safe-money-gen] - (GT, LT) -> Negative
  5062. 1028.47 s [really-safe-money-gen] (LT, GT) -> Negative
  5063. 1028.47 s [really-safe-money-gen] (LT, LT) -> Positive
  5064. 1028.47 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5065. 1028.47 s [really-safe-money-gen]
  5066. 1028.47 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5067. 1028.47 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5068. 1028.47 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5069. 1028.47 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5070. 1028.47 s [really-safe-money-gen] multiply factor account =
  5071. 1028.47 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5072. 1028.47 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5073. 1028.47 s [really-safe-money-gen] (EQ, _) -> const zero
  5074. 1028.47 s [really-safe-money-gen] - (_, EQ) -> const zero
  5075. 1028.47 s [really-safe-money-gen] (GT, GT) -> Positive
  5076. 1028.47 s [really-safe-money-gen] (GT, LT) -> Negative
  5077. 1028.47 s [really-safe-money-gen] (LT, GT) -> Negative
  5078. 1028.47 s [really-safe-money-gen] (LT, LT) -> Positive
  5079. 1028.47 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5080. 1028.47 s [really-safe-money-gen]
  5081. 1028.47 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5082. 1028.47 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5083. 1028.47 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5084. 1028.47 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5085. 1028.47 s [really-safe-money-gen] multiply factor account =
  5086. 1028.47 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5087. 1028.47 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5088. 1028.47 s [really-safe-money-gen] (EQ, _) -> const zero
  5089. 1028.47 s [really-safe-money-gen] (_, EQ) -> const zero
  5090. 1028.47 s [really-safe-money-gen] - (GT, GT) -> Positive
  5091. 1028.47 s [really-safe-money-gen] (GT, LT) -> Negative
  5092. 1028.47 s [really-safe-money-gen] (LT, GT) -> Negative
  5093. 1028.47 s [really-safe-money-gen] (LT, LT) -> Positive
  5094. 1028.47 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5095. 1028.47 s [really-safe-money-gen]
  5096. 1028.47 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5097. 1028.47 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5098. 1028.47 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5099. 1028.47 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5100. 1028.47 s [really-safe-money-gen] multiply factor account =
  5101. 1028.47 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5102. 1028.48 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5103. 1028.48 s [really-safe-money-gen] (EQ, _) -> const zero
  5104. 1028.48 s [really-safe-money-gen] (_, EQ) -> const zero
  5105. 1028.48 s [really-safe-money-gen] (GT, GT) -> Positive
  5106. 1028.48 s [really-safe-money-gen] (GT, LT) -> Negative
  5107. 1028.48 s [really-safe-money-gen] (LT, GT) -> Negative
  5108. 1028.48 s [really-safe-money-gen] - (LT, LT) -> Positive
  5109. 1028.48 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5110. 1028.48 s [really-safe-money-gen]
  5111. 1028.48 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5112. 1028.48 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
  5113. 1028.48 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5114. 1028.48 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5115. 1028.48 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5116. 1028.48 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5117. 1028.48 s [really-safe-money-gen] - if a >= zero
  5118. 1028.48 s [really-safe-money-gen] + if False
  5119. 1028.48 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5120. 1028.48 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5121. 1028.48 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5122. 1028.48 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
  5123. 1028.48 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5124. 1028.48 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5125. 1028.48 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5126. 1028.48 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5127. 1028.48 s [really-safe-money-gen] - if a >= zero
  5128. 1028.48 s [really-safe-money-gen] + if a <= zero
  5129. 1028.48 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5130. 1028.48 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5131. 1028.48 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5132. 1028.48 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:421:32-33
  5133. 1028.48 s [really-safe-money-gen] @@ -418,7 +418,7 @@
  5134. 1028.48 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5135. 1028.48 s [really-safe-money-gen] multiply factor account =
  5136. 1028.48 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5137. 1028.48 s [really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
  5138. 1028.48 s [really-safe-money-gen] + f = case (compare factor 1, compare account zero) of
  5139. 1028.48 s [really-safe-money-gen] (EQ, _) -> const zero
  5140. 1028.48 s [really-safe-money-gen] (_, EQ) -> const zero
  5141. 1028.48 s [really-safe-money-gen] (GT, GT) -> Positive
  5142. 1028.48 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
  5143. 1028.48 s [really-safe-money-gen] @@ -588,9 +588,8 @@
  5144. 1028.49 s [really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
  5145. 1028.49 s [really-safe-money-gen] convert r qf1 a cr qf2 =
  5146. 1028.49 s [really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
  5147. 1028.49 s [really-safe-money-gen] in case a of
  5148. 1028.49 s [really-safe-money-gen] - Positive _ -> (Positive <$> ma, mr)
  5149. 1028.49 s [really-safe-money-gen] Negative _ -> (Negative <$> ma, mr)
  5150. 1028.49 s [really-safe-money-gen]
  5151. 1028.49 s [really-safe-money-gen] -- | Format an account of money without a symbol.
  5152. 1028.49 s [really-safe-money-gen] --
  5153. 1028.49 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
  5154. 1028.49 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5155. 1028.49 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5156. 1028.49 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5157. 1028.49 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5158. 1028.49 s [really-safe-money-gen] - if a >= zero
  5159. 1028.49 s [really-safe-money-gen] + if a <= zero
  5160. 1028.49 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5161. 1028.49 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5162. 1028.49 s [really-safe-money-gen]
  5163. 1028.49 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
  5164. 1028.49 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5165. 1028.49 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5166. 1028.49 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5167. 1028.49 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5168. 1028.49 s [really-safe-money-gen] - if a >= zero
  5169. 1028.49 s [really-safe-money-gen] + if a < zero
  5170. 1028.49 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5171. 1028.49 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5172. 1028.49 s [really-safe-money-gen]
  5173. 1028.49 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
  5174. 1028.49 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5175. 1028.49 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5176. 1028.49 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5177. 1028.49 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5178. 1028.49 s [really-safe-money-gen] - if a >= zero
  5179. 1028.49 s [really-safe-money-gen] + if a > zero
  5180. 1028.49 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5181. 1028.49 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5182. 1028.49 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5183. 1028.49 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  5184. 1028.49 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  5185. 1028.49 s [really-safe-money-gen] let aa1 = abs a1
  5186. 1028.49 s [really-safe-money-gen] aa2 = abs a2
  5187. 1028.49 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  5188. 1028.49 s [really-safe-money-gen] in case (a1, a2) of
  5189. 1028.49 s [really-safe-money-gen] (Positive _, Positive _) -> mr
  5190. 1028.49 s [really-safe-money-gen] - (Positive _, Negative _) -> Nothing
  5191. 1028.49 s [really-safe-money-gen] (Negative _, Positive _) -> Nothing
  5192. 1028.49 s [really-safe-money-gen] (Negative _, Negative _) -> mr
  5193. 1028.50 s [really-safe-money-gen]
  5194. 1028.50 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  5195. 1028.50 s [really-safe-money-gen] -- another currency using a conversion rate.
  5196. 1028.50 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:451:14-23
  5197. 1028.50 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5198. 1028.50 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5199. 1028.50 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5200. 1028.50 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5201. 1028.50 s [really-safe-money-gen] - if a >= zero
  5202. 1028.50 s [really-safe-money-gen] + if not (a >= zero)
  5203. 1028.50 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5204. 1028.50 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5205. 1028.50 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5206. 1028.50 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5207. 1028.50 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5208. 1028.50 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5209. 1028.50 s [really-safe-money-gen] multiply factor account =
  5210. 1028.50 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5211. 1028.50 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5212. 1028.50 s [really-safe-money-gen] (EQ, _) -> const zero
  5213. 1028.50 s [really-safe-money-gen] (_, EQ) -> const zero
  5214. 1028.50 s [really-safe-money-gen] (GT, GT) -> Positive
  5215. 1028.50 s [really-safe-money-gen] (GT, LT) -> Negative
  5216. 1028.50 s [really-safe-money-gen] - (LT, GT) -> Negative
  5217. 1028.50 s [really-safe-money-gen] (LT, LT) -> Positive
  5218. 1028.50 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5219. 1028.50 s [really-safe-money-gen]
  5220. 1028.50 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5221. 1028.50 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
  5222. 1028.50 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5223. 1028.50 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5224. 1028.50 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5225. 1028.50 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5226. 1028.50 s [really-safe-money-gen] - if a >= zero
  5227. 1028.50 s [really-safe-money-gen] + if a > zero
  5228. 1028.50 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5229. 1028.50 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5230. 1028.50 s [really-safe-money-gen]
  5231. 1028.50 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
  5232. 1028.50 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5233. 1028.50 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5234. 1028.50 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5235. 1028.50 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5236. 1028.50 s [really-safe-money-gen] - if a >= zero
  5237. 1028.50 s [really-safe-money-gen] + if a < zero
  5238. 1028.50 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5239. 1028.50 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5240. 1028.50 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5241. 1028.50 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
  5242. 1028.50 s [really-safe-money-gen] @@ -519,10 +519,9 @@
  5243. 1028.51 s [really-safe-money-gen] let aa = abs account
  5244. 1028.51 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5245. 1028.51 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5246. 1028.51 s [really-safe-money-gen] func ma r = case compare account zero of
  5247. 1028.51 s [really-safe-money-gen] EQ -> (Just zero, r)
  5248. 1028.51 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  5249. 1028.51 s [really-safe-money-gen] - LT -> (Negative <$> ma, r)
  5250. 1028.51 s [really-safe-money-gen] in func amount actualFraction
  5251. 1028.51 s [really-safe-money-gen]
  5252. 1028.51 s [really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
  5253. 1028.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
  5254. 1028.51 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5255. 1028.51 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5256. 1028.51 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5257. 1028.51 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5258. 1028.51 s [really-safe-money-gen] - if a >= zero
  5259. 1028.51 s [really-safe-money-gen] + if True
  5260. 1028.51 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5261. 1028.51 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5262. 1028.51 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5263. 1028.51 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5264. 1028.51 s [really-safe-money-gen] @@ -444,17 +444,16 @@
  5265. 1028.51 s [really-safe-money-gen] distribute a f =
  5266. 1028.51 s [really-safe-money-gen] let aa = abs a
  5267. 1028.51 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5268. 1028.51 s [really-safe-money-gen] in case Amount.distribute aa af of
  5269. 1028.51 s [really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5270. 1028.51 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5271. 1028.51 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5272. 1028.51 s [really-safe-money-gen] if a >= zero
  5273. 1028.51 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5274. 1028.51 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5275. 1028.51 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5276. 1028.51 s [really-safe-money-gen] if a >= zero
  5277. 1028.51 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5278. 1028.51 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5279. 1028.51 s [really-safe-money-gen]
  5280. 1028.51 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5281. 1028.51 s [really-safe-money-gen]
  5282. 1028.51 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
  5283. 1028.51 s [really-safe-money-gen] @@ -519,10 +519,9 @@
  5284. 1028.51 s [really-safe-money-gen] let aa = abs account
  5285. 1028.51 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5286. 1028.51 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5287. 1028.51 s [really-safe-money-gen] func ma r = case compare account zero of
  5288. 1028.51 s [really-safe-money-gen] EQ -> (Just zero, r)
  5289. 1028.51 s [really-safe-money-gen] - GT -> (Positive <$> ma, r)
  5290. 1028.51 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  5291. 1028.51 s [really-safe-money-gen] in func amount actualFraction
  5292. 1028.52 s [really-safe-money-gen]
  5293. 1028.52 s [really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
  5294. 1028.52 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
  5295. 1028.52 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5296. 1028.52 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5297. 1028.52 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5298. 1028.52 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5299. 1028.52 s [really-safe-money-gen] - if a >= zero
  5300. 1028.52 s [really-safe-money-gen] + if True
  5301. 1028.52 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5302. 1028.52 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5303. 1028.52 s [really-safe-money-gen]
  5304. 1028.52 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5305. 1028.52 s [really-safe-money-gen] @@ -444,17 +444,13 @@
  5306. 1028.52 s [really-safe-money-gen] distribute a f =
  5307. 1028.52 s [really-safe-money-gen] let aa = abs a
  5308. 1028.52 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5309. 1028.52 s [really-safe-money-gen] in case Amount.distribute aa af of
  5310. 1034.95 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5311. 1034.97 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5312. 1034.97 s [really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
  5313. 1034.97 s [really-safe-money-gen] - if a >= zero
  5314. 1034.97 s [really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5315. 1034.97 s [really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5316. 1034.97 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5317. 1034.97 s [really-safe-money-gen] if a >= zero
  5318. 1034.98 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5319. 1034.98 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5320. 1034.98 s [really-safe-money-gen]
  5321. 1034.98 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5322. 1034.98 s [really-safe-money-gen]
  5323. 1034.98 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Account.hs:523:16-25
  5324. 1034.98 s [really-safe-money-gen] @@ -520,7 +520,7 @@
  5325. 1034.98 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5326. 1034.98 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5327. 1034.98 s [really-safe-money-gen] func ma r = case compare account zero of
  5328. 1034.98 s [really-safe-money-gen] - EQ -> (Just zero, r)
  5329. 1034.98 s [really-safe-money-gen] + EQ -> (Nothing, r)
  5330. 1034.98 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  5331. 1034.98 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  5332. 1034.98 s [really-safe-money-gen] in func amount actualFraction
  5333. 1034.98 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
  5334. 1034.98 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5335. 1034.98 s [really-safe-money-gen] fraction rounding account f =
  5336. 1034.98 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5337. 1034.98 s [really-safe-money-gen] ro =
  5338. 1034.98 s [really-safe-money-gen] - if f >= 0
  5339. 1034.98 s [really-safe-money-gen] + if f <= 0
  5340. 1034.98 s [really-safe-money-gen] then rounding
  5341. 1034.98 s [really-safe-money-gen] else case rounding of
  5342. 1034.98 s [really-safe-money-gen] RoundUp -> RoundDown
  5343. 1034.98 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
  5344. 1034.98 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5345. 1034.98 s [really-safe-money-gen] fraction rounding account f =
  5346. 1034.98 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5347. 1034.98 s [really-safe-money-gen] ro =
  5348. 1034.98 s [really-safe-money-gen] - if f >= 0
  5349. 1034.98 s [really-safe-money-gen] + if f > 0
  5350. 1034.98 s [really-safe-money-gen] then rounding
  5351. 1034.98 s [really-safe-money-gen] else case rounding of
  5352. 1034.98 s [really-safe-money-gen] RoundUp -> RoundDown
  5353. 1034.98 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
  5354. 1034.99 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5355. 1034.99 s [really-safe-money-gen] fraction rounding account f =
  5356. 1034.99 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5357. 1034.99 s [really-safe-money-gen] ro =
  5358. 1034.99 s [really-safe-money-gen] - if f >= 0
  5359. 1034.99 s [really-safe-money-gen] + if True
  5360. 1034.99 s [really-safe-money-gen] then rounding
  5361. 1034.99 s [really-safe-money-gen] else case rounding of
  5362. 1034.99 s [really-safe-money-gen] RoundUp -> RoundDown
  5363. 1034.99 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:455:14-23
  5364. 1034.99 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5365. 1034.99 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5366. 1034.99 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5367. 1034.99 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5368. 1034.99 s [really-safe-money-gen] - if a >= zero
  5369. 1034.99 s [really-safe-money-gen] + if not (a >= zero)
  5370. 1034.99 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5371. 1034.99 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5372. 1034.99 s [really-safe-money-gen]
  5373. 1034.99 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5374. 1034.99 s [really-safe-money-gen] @@ -444,17 +444,16 @@
  5375. 1034.99 s [really-safe-money-gen] distribute a f =
  5376. 1034.99 s [really-safe-money-gen] let aa = abs a
  5377. 1034.99 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5378. 1034.99 s [really-safe-money-gen] in case Amount.distribute aa af of
  5379. 1034.99 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5380. 1034.99 s [really-safe-money-gen] - DistributedZero -> DistributedZero
  5381. 1034.99 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5382. 1034.99 s [really-safe-money-gen] if a >= zero
  5383. 1034.99 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5384. 1034.99 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5385. 1034.99 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5386. 1034.99 s [really-safe-money-gen] if a >= zero
  5387. 1034.99 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5388. 1034.99 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5389. 1034.99 s [really-safe-money-gen]
  5390. 1035.00 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5391. 1035.00 s [really-safe-money-gen]
  5392. 1035.00 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
  5393. 1035.00 s [really-safe-money-gen] @@ -494,10 +494,9 @@
  5394. 1035.00 s [really-safe-money-gen] ro =
  5395. 1035.00 s [really-safe-money-gen] if f >= 0
  5396. 1035.00 s [really-safe-money-gen] then rounding
  5397. 1035.00 s [really-safe-money-gen] else case rounding of
  5398. 1035.00 s [really-safe-money-gen] RoundUp -> RoundDown
  5399. 1035.00 s [really-safe-money-gen] - RoundDown -> RoundUp
  5400. 1035.00 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5401. 1035.00 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5402. 1035.00 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5403. 1035.00 s [really-safe-money-gen] in if f >= 0
  5404. 1035.00 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
  5405. 1035.00 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5406. 1035.00 s [really-safe-money-gen] fraction rounding account f =
  5407. 1035.00 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5408. 1035.00 s [really-safe-money-gen] ro =
  5409. 1035.00 s [really-safe-money-gen] - if f >= 0
  5410. 1035.00 s [really-safe-money-gen] + if f < 0
  5411. 1035.00 s [really-safe-money-gen] then rounding
  5412. 1035.00 s [really-safe-money-gen] else case rounding of
  5413. 1035.00 s [really-safe-money-gen] RoundUp -> RoundDown
  5414. 1035.00 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
  5415. 1035.00 s [really-safe-money-gen] @@ -519,10 +519,9 @@
  5416. 1035.00 s [really-safe-money-gen] let aa = abs account
  5417. 1035.00 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5418. 1035.00 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5419. 1035.00 s [really-safe-money-gen] func ma r = case compare account zero of
  5420. 1035.00 s [really-safe-money-gen] - EQ -> (Just zero, r)
  5421. 1035.00 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  5422. 1035.00 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  5423. 1035.00 s [really-safe-money-gen] in func amount actualFraction
  5424. 1035.00 s [really-safe-money-gen]
  5425. 1035.00 s [really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
  5426. 1035.00 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
  5427. 1035.00 s [really-safe-money-gen] @@ -494,10 +494,9 @@
  5428. 1035.00 s [really-safe-money-gen] ro =
  5429. 1035.00 s [really-safe-money-gen] if f >= 0
  5430. 1035.00 s [really-safe-money-gen] then rounding
  5431. 1035.00 s [really-safe-money-gen] else case rounding of
  5432. 1035.00 s [really-safe-money-gen] RoundUp -> RoundDown
  5433. 1035.01 s [really-safe-money-gen] RoundDown -> RoundUp
  5434. 1035.01 s [really-safe-money-gen] - RoundNearest -> RoundNearest
  5435. 1035.01 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5436. 1035.01 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5437. 1035.01 s [really-safe-money-gen] in if f >= 0
  5438. 1035.01 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
  5439. 1035.01 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5440. 1035.01 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5441. 1035.01 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5442. 1035.01 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5443. 1035.01 s [really-safe-money-gen] - if a >= zero
  5444. 1035.01 s [really-safe-money-gen] + if False
  5445. 1035.01 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5446. 1035.01 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5447. 1035.01 s [really-safe-money-gen]
  5448. 1035.01 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5449. 1035.01 s [really-safe-money-gen] @@ -444,17 +444,13 @@
  5450. 1035.01 s [really-safe-money-gen] distribute a f =
  5451. 1035.01 s [really-safe-money-gen] let aa = abs a
  5452. 1035.01 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5453. 1035.01 s [really-safe-money-gen] in case Amount.distribute aa af of
  5454. 1035.01 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5455. 1035.01 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5456. 1035.01 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5457. 1035.01 s [really-safe-money-gen] if a >= zero
  5458. 1035.01 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5459. 1035.01 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5460. 1035.01 s [really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5461. 1035.01 s [really-safe-money-gen] - if a >= zero
  5462. 1035.01 s [really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5463. 1035.01 s [really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5464. 1035.01 s [really-safe-money-gen]
  5465. 1035.01 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5466. 1035.01 s [really-safe-money-gen]
  5467. 1040.15 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18
  5468. 1040.15 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5469. 1040.18 s [really-safe-money-gen] fraction rounding account f =
  5470. 1040.18 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5471. 1040.18 s [really-safe-money-gen] ro =
  5472. 1040.18 s [really-safe-money-gen] - if f >= 0
  5473. 1040.18 s [really-safe-money-gen] + if f >= 1
  5474. 1040.18 s [really-safe-money-gen] then rounding
  5475. 1040.18 s [really-safe-money-gen] else case rounding of
  5476. 1040.18 s [really-safe-money-gen] RoundUp -> RoundDown
  5477. 1040.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:495:12-18
  5478. 1040.18 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5479. 1040.18 s [really-safe-money-gen] fraction rounding account f =
  5480. 1040.18 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5481. 1040.19 s [really-safe-money-gen] ro =
  5482. 1040.19 s [really-safe-money-gen] - if f >= 0
  5483. 1040.19 s [really-safe-money-gen] + if not (f >= 0)
  5484. 1040.19 s [really-safe-money-gen] then rounding
  5485. 1040.19 s [really-safe-money-gen] else case rounding of
  5486. 1040.19 s [really-safe-money-gen] RoundUp -> RoundDown
  5487. 1040.19 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
  5488. 1040.19 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5489. 1040.19 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5490. 1040.19 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5491. 1040.19 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5492. 1040.19 s [really-safe-money-gen] - in if f >= 0
  5493. 1040.19 s [really-safe-money-gen] + in if True
  5494. 1040.19 s [really-safe-money-gen] then (ma, r)
  5495. 1040.19 s [really-safe-money-gen] else (negate <$> ma, -r)
  5496. 1040.19 s [really-safe-money-gen]
  5497. 1040.19 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
  5498. 1040.19 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5499. 1040.19 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5500. 1040.19 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5501. 1040.19 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5502. 1040.19 s [really-safe-money-gen] - in if f >= 0
  5503. 1040.19 s [really-safe-money-gen] + in if f <= 0
  5504. 1040.19 s [really-safe-money-gen] then (ma, r)
  5505. 1040.19 s [really-safe-money-gen] else (negate <$> ma, -r)
  5506. 1040.19 s [really-safe-money-gen]
  5507. 1040.19 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
  5508. 1040.19 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5509. 1040.19 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5510. 1040.19 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5511. 1040.19 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5512. 1040.19 s [really-safe-money-gen] - in if f >= 0
  5513. 1040.19 s [really-safe-money-gen] + in if f > 0
  5514. 1040.19 s [really-safe-money-gen] then (ma, r)
  5515. 1040.19 s [really-safe-money-gen] else (negate <$> ma, -r)
  5516. 1040.19 s [really-safe-money-gen]
  5517. 1040.19 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
  5518. 1040.19 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5519. 1040.20 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5520. 1040.20 s [really-safe-money-gen] fromRational quantisationFactor r =
  5521. 1040.20 s [really-safe-money-gen] let r' = Prelude.abs r
  5522. 1040.20 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5523. 1040.20 s [really-safe-money-gen] + f = if r > 0 then Positive else Negative
  5524. 1040.20 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5525. 1040.20 s [really-safe-money-gen]
  5526. 1040.20 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5527. 1040.20 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:233:19-20
  5528. 1040.20 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5529. 1040.20 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5530. 1040.20 s [really-safe-money-gen] fromRational quantisationFactor r =
  5531. 1040.20 s [really-safe-money-gen] let r' = Prelude.abs r
  5532. 1040.20 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5533. 1040.20 s [really-safe-money-gen] + f = if r >= 1 then Positive else Negative
  5534. 1040.20 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5535. 1040.20 s [really-safe-money-gen]
  5536. 1040.20 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5537. 1040.20 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
  5538. 1040.20 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5539. 1040.20 s [really-safe-money-gen] fraction rounding account f =
  5540. 1040.20 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5541. 1040.20 s [really-safe-money-gen] ro =
  5542. 1040.20 s [really-safe-money-gen] - if f >= 0
  5543. 1040.20 s [really-safe-money-gen] + if False
  5544. 1040.20 s [really-safe-money-gen] then rounding
  5545. 1040.20 s [really-safe-money-gen] else case rounding of
  5546. 1040.20 s [really-safe-money-gen] RoundUp -> RoundDown
  5547. 1040.20 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
  5548. 1040.20 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5549. 1040.20 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5550. 1040.20 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5551. 1040.20 s [really-safe-money-gen] let d' = Prelude.abs d
  5552. 1040.20 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5553. 1040.20 s [really-safe-money-gen] + f = if d > 0 then Positive else Negative
  5554. 1040.20 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5555. 1040.20 s [really-safe-money-gen]
  5556. 1040.20 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5557. 1040.20 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
  5558. 1040.20 s [really-safe-money-gen] @@ -494,10 +494,9 @@
  5559. 1040.20 s [really-safe-money-gen] ro =
  5560. 1040.20 s [really-safe-money-gen] if f >= 0
  5561. 1040.20 s [really-safe-money-gen] then rounding
  5562. 1040.20 s [really-safe-money-gen] else case rounding of
  5563. 1040.20 s [really-safe-money-gen] - RoundUp -> RoundDown
  5564. 1040.20 s [really-safe-money-gen] RoundDown -> RoundUp
  5565. 1040.21 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5566. 1040.21 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5567. 1040.21 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5568. 1040.21 s [really-safe-money-gen] in if f >= 0
  5569. 1040.21 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
  5570. 1040.21 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5571. 1040.21 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5572. 1040.21 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5573. 1040.21 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5574. 1040.21 s [really-safe-money-gen] - in if f >= 0
  5575. 1040.21 s [really-safe-money-gen] + in if False
  5576. 1040.21 s [really-safe-money-gen] then (ma, r)
  5577. 1040.21 s [really-safe-money-gen] else (negate <$> ma, -r)
  5578. 1040.21 s [really-safe-money-gen]
  5579. 1040.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
  5580. 1040.21 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5581. 1040.21 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5582. 1040.21 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5583. 1040.21 s [really-safe-money-gen] let d' = Prelude.abs d
  5584. 1040.21 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5585. 1040.21 s [really-safe-money-gen] + f = if d <= 0 then Positive else Negative
  5586. 1040.21 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5587. 1040.21 s [really-safe-money-gen]
  5588. 1040.21 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5589. 1040.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
  5590. 1040.21 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5591. 1040.21 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5592. 1040.21 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5593. 1040.21 s [really-safe-money-gen] let d' = Prelude.abs d
  5594. 1040.21 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5595. 1040.21 s [really-safe-money-gen] + f = if d < 0 then Positive else Negative
  5596. 1040.21 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5597. 1040.21 s [really-safe-money-gen]
  5598. 1040.21 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5599. 1040.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
  5600. 1040.21 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5601. 1040.21 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5602. 1040.21 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5603. 1040.21 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5604. 1040.21 s [really-safe-money-gen] - in if f >= 0
  5605. 1040.21 s [really-safe-money-gen] + in if f < 0
  5606. 1040.21 s [really-safe-money-gen] then (ma, r)
  5607. 1040.21 s [really-safe-money-gen] else (negate <$> ma, -r)
  5608. 1040.21 s [really-safe-money-gen]
  5609. 1040.21 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20
  5610. 1040.21 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5611. 1040.21 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5612. 1040.21 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5613. 1040.21 s [really-safe-money-gen] let d' = Prelude.abs d
  5614. 1040.21 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5615. 1040.22 s [really-safe-money-gen] + f = if d >= 1 then Positive else Negative
  5616. 1040.22 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5617. 1040.22 s [really-safe-money-gen]
  5618. 1040.22 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5619. 1040.22 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:503:15-16
  5620. 1040.22 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5621. 1040.22 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5622. 1040.22 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5623. 1040.22 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5624. 1040.22 s [really-safe-money-gen] - in if f >= 0
  5625. 1040.22 s [really-safe-money-gen] + in if f >= 1
  5626. 1040.22 s [really-safe-money-gen] then (ma, r)
  5627. 1040.22 s [really-safe-money-gen] else (negate <$> ma, -r)
  5628. 1040.22 s [really-safe-money-gen]
  5629. 1040.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
  5630. 1040.22 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5631. 1040.22 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5632. 1040.22 s [really-safe-money-gen] fromRational quantisationFactor r =
  5633. 1040.22 s [really-safe-money-gen] let r' = Prelude.abs r
  5634. 1040.22 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5635. 1040.22 s [really-safe-money-gen] + f = if False then Positive else Negative
  5636. 1040.22 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5637. 1040.22 s [really-safe-money-gen]
  5638. 1040.22 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5639. 1040.22 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:503:10-16
  5640. 1040.22 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5641. 1040.22 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5642. 1040.22 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5643. 1040.22 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5644. 1040.22 s [really-safe-money-gen] - in if f >= 0
  5645. 1040.22 s [really-safe-money-gen] + in if not (f >= 0)
  5646. 1040.22 s [really-safe-money-gen] then (ma, r)
  5647. 1040.22 s [really-safe-money-gen] else (negate <$> ma, -r)
  5648. 1040.22 s [really-safe-money-gen]
  5649. 1040.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
  5650. 1040.22 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5651. 1040.22 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5652. 1040.22 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5653. 1040.22 s [really-safe-money-gen] let d' = Prelude.abs d
  5654. 1044.57 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5655. 1044.57 s [really-safe-money-gen] + f = if True then Positive else Negative
  5656. 1044.57 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5657. 1044.57 s [really-safe-money-gen]
  5658. 1044.57 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5659. 1044.57 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:233:14-20
  5660. 1044.57 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5661. 1044.57 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5662. 1044.57 s [really-safe-money-gen] fromRational quantisationFactor r =
  5663. 1044.57 s [really-safe-money-gen] let r' = Prelude.abs r
  5664. 1044.57 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5665. 1044.57 s [really-safe-money-gen] + f = if not (r >= 0) then Positive else Negative
  5666. 1044.57 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5667. 1044.57 s [really-safe-money-gen]
  5668. 1044.57 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5669. 1044.57 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
  5670. 1044.58 s [really-safe-money-gen] @@ -208,9 +208,8 @@
  5671. 1044.58 s [really-safe-money-gen] -- (-3) % 20
  5672. 1044.58 s [really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
  5673. 1044.58 s [really-safe-money-gen] toRational quantisationFactor account =
  5674. 1044.58 s [really-safe-money-gen] let f = case account of
  5675. 1044.58 s [really-safe-money-gen] - Positive _ -> id
  5676. 1044.58 s [really-safe-money-gen] Negative _ -> Prelude.negate
  5677. 1044.58 s [really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
  5678. 1044.58 s [really-safe-money-gen]
  5679. 1044.58 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5680. 1044.58 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
  5681. 1044.58 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5682. 1044.58 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5683. 1044.58 s [really-safe-money-gen] fromRational quantisationFactor r =
  5684. 1044.58 s [really-safe-money-gen] let r' = Prelude.abs r
  5685. 1044.58 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5686. 1044.58 s [really-safe-money-gen] + f = if r < 0 then Positive else Negative
  5687. 1044.58 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5688. 1044.58 s [really-safe-money-gen]
  5689. 1044.58 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5690. 1044.58 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
  5691. 1044.58 s [really-safe-money-gen] @@ -208,9 +208,8 @@
  5692. 1044.58 s [really-safe-money-gen] -- (-3) % 20
  5693. 1044.58 s [really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
  5694. 1044.58 s [really-safe-money-gen] toRational quantisationFactor account =
  5695. 1044.58 s [really-safe-money-gen] let f = case account of
  5696. 1044.58 s [really-safe-money-gen] Positive _ -> id
  5697. 1044.58 s [really-safe-money-gen] - Negative _ -> Prelude.negate
  5698. 1044.58 s [really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
  5699. 1044.58 s [really-safe-money-gen]
  5700. 1044.58 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5701. 1044.58 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
  5702. 1044.58 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5703. 1044.58 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5704. 1044.58 s [really-safe-money-gen] fromRational quantisationFactor r =
  5705. 1044.58 s [really-safe-money-gen] let r' = Prelude.abs r
  5706. 1044.58 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5707. 1044.58 s [really-safe-money-gen] + f = if r <= 0 then Positive else Negative
  5708. 1044.58 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5709. 1044.58 s [really-safe-money-gen]
  5710. 1044.58 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5711. 1044.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
  5712. 1044.58 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5713. 1044.58 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5714. 1044.59 s [really-safe-money-gen] fromRational quantisationFactor r =
  5715. 1044.59 s [really-safe-money-gen] let r' = Prelude.abs r
  5716. 1044.59 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5717. 1044.59 s [really-safe-money-gen] + f = if True then Positive else Negative
  5718. 1044.59 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5719. 1044.59 s [really-safe-money-gen]
  5720. 1044.59 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5721. 1044.59 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:197:14-20
  5722. 1044.59 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5723. 1044.59 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5724. 1044.59 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5725. 1044.59 s [really-safe-money-gen] let d' = Prelude.abs d
  5726. 1044.59 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5727. 1044.59 s [really-safe-money-gen] + f = if not (d >= 0) then Positive else Negative
  5728. 1044.59 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5729. 1044.59 s [really-safe-money-gen]
  5730. 1044.59 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5731. 1044.59 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
  5732. 1044.59 s [really-safe-money-gen] @@ -168,9 +168,8 @@
  5733. 1044.59 s [really-safe-money-gen] -- -0.25
  5734. 1044.59 s [really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
  5735. 1044.59 s [really-safe-money-gen] toDouble quantisationFactor account =
  5736. 1044.59 s [really-safe-money-gen] let f = case account of
  5737. 1044.59 s [really-safe-money-gen] - Positive _ -> id
  5738. 1044.59 s [really-safe-money-gen] Negative _ -> Prelude.negate
  5739. 1044.59 s [really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
  5740. 1044.59 s [really-safe-money-gen]
  5741. 1044.59 s [really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
  5742. 1044.59 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
  5743. 1044.59 s [really-safe-money-gen] @@ -152,9 +152,8 @@
  5744. 1044.59 s [really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
  5745. 1044.59 s [really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
  5746. 1044.59 s [really-safe-money-gen] toMinimalQuantisations account =
  5747. 1044.59 s [really-safe-money-gen] let f = case account of
  5748. 1044.59 s [really-safe-money-gen] - Positive _ -> id
  5749. 1044.59 s [really-safe-money-gen] Negative _ -> Prelude.negate
  5750. 1044.59 s [really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
  5751. 1044.59 s [really-safe-money-gen]
  5752. 1044.59 s [really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
  5753. 1044.59 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
  5754. 1044.59 s [really-safe-money-gen] @@ -152,9 +152,8 @@
  5755. 1044.59 s [really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
  5756. 1044.59 s [really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
  5757. 1044.59 s [really-safe-money-gen] toMinimalQuantisations account =
  5758. 1044.59 s [really-safe-money-gen] let f = case account of
  5759. 1044.59 s [really-safe-money-gen] Positive _ -> id
  5760. 1044.59 s [really-safe-money-gen] - Negative _ -> Prelude.negate
  5761. 1044.59 s [really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
  5762. 1044.59 s [really-safe-money-gen]
  5763. 1044.59 s [really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
  5764. 1044.59 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
  5765. 1044.59 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5766. 1044.60 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5767. 1044.60 s [really-safe-money-gen] a :: Integer
  5768. 1044.60 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5769. 1044.60 s [really-safe-money-gen] - in if a > maxBoundI
  5770. 1044.60 s [really-safe-money-gen] + in if a < maxBoundI
  5771. 1044.60 s [really-safe-money-gen] then Nothing
  5772. 1044.60 s [really-safe-money-gen] else
  5773. 1044.60 s [really-safe-money-gen] let w :: Word64
  5774. 1044.60 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
  5775. 1044.60 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5776. 1044.60 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5777. 1044.60 s [really-safe-money-gen] a :: Integer
  5778. 1044.60 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5779. 1044.60 s [really-safe-money-gen] - in if a > maxBoundI
  5780. 1044.60 s [really-safe-money-gen] + in if a <= maxBoundI
  5781. 1044.60 s [really-safe-money-gen] then Nothing
  5782. 1044.60 s [really-safe-money-gen] else
  5783. 1044.60 s [really-safe-money-gen] let w :: Word64
  5784. 1044.60 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
  5785. 1044.60 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5786. 1044.60 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5787. 1044.60 s [really-safe-money-gen] a :: Integer
  5788. 1044.60 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5789. 1044.60 s [really-safe-money-gen] - in if a > maxBoundI
  5790. 1044.60 s [really-safe-money-gen] + in if a >= maxBoundI
  5791. 1044.60 s [really-safe-money-gen] then Nothing
  5792. 1044.60 s [really-safe-money-gen] else
  5793. 1044.60 s [really-safe-money-gen] let w :: Word64
  5794. 1044.60 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
  5795. 1044.60 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5796. 1044.60 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5797. 1044.60 s [really-safe-money-gen] a :: Integer
  5798. 1044.60 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5799. 1044.60 s [really-safe-money-gen] - in if a > maxBoundI
  5800. 1044.60 s [really-safe-money-gen] + in if True
  5801. 1044.60 s [really-safe-money-gen] then Nothing
  5802. 1044.60 s [really-safe-money-gen] else
  5803. 1044.60 s [really-safe-money-gen] let w :: Word64
  5804. 1044.60 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
  5805. 1044.60 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5806. 1044.60 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5807. 1044.60 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5808. 1044.60 s [really-safe-money-gen] let d' = Prelude.abs d
  5809. 1044.60 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5810. 1044.60 s [really-safe-money-gen] + f = if False then Positive else Negative
  5811. 1044.60 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5812. 1044.60 s [really-safe-money-gen]
  5813. 1044.60 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5814. 1044.60 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
  5815. 1044.60 s [really-safe-money-gen] @@ -168,9 +168,8 @@
  5816. 1044.60 s [really-safe-money-gen] -- -0.25
  5817. 1044.60 s [really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
  5818. 1044.60 s [really-safe-money-gen] toDouble quantisationFactor account =
  5819. 1044.60 s [really-safe-money-gen] let f = case account of
  5820. 1044.60 s [really-safe-money-gen] Positive _ -> id
  5821. 1044.60 s [really-safe-money-gen] - Negative _ -> Prelude.negate
  5822. 1044.60 s [really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
  5823. 1044.60 s [really-safe-money-gen]
  5824. 1044.60 s [really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
  5825. 1044.60 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
  5826. 1044.60 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5827. 1044.60 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5828. 1044.60 s [really-safe-money-gen] a :: Integer
  5829. 1044.60 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5830. 1044.60 s [really-safe-money-gen] - in if a > maxBoundI
  5831. 1044.60 s [really-safe-money-gen] + in if False
  5832. 1044.60 s [really-safe-money-gen] then Nothing
  5833. 1044.61 s [really-safe-money-gen] else
  5834. 1044.61 s [really-safe-money-gen] let w :: Word64
  5835. 1044.61 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
  5836. 1044.61 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5837. 1050.04 s [really-safe-money-gen] amount :: Amount
  5838. 1050.04 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5839. 1050.07 s [really-safe-money-gen] in Just $
  5840. 1050.07 s [really-safe-money-gen] - if i >= 0
  5841. 1050.07 s [really-safe-money-gen] + if False
  5842. 1050.08 s [really-safe-money-gen] then Positive amount
  5843. 1050.08 s [really-safe-money-gen] else Negative amount
  5844. 1050.08 s [really-safe-money-gen]
  5845. 1050.08 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:341:11-18
  5846. 1050.08 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  5847. 1050.08 s [really-safe-money-gen] i2 :: Integer
  5848. 1050.08 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5849. 1050.08 s [really-safe-money-gen] r :: Integer
  5850. 1050.08 s [really-safe-money-gen] - r = i1 + i2
  5851. 1050.08 s [really-safe-money-gen] + r = i1 * i2
  5852. 1050.08 s [really-safe-money-gen] in fromMinimalQuantisations r
  5853. 1050.08 s [really-safe-money-gen]
  5854. 1050.08 s [really-safe-money-gen] -- | Add a number of accounts of money together.
  5855. 1050.08 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:378:11-18
  5856. 1050.08 s [really-safe-money-gen] @@ -375,7 +375,7 @@
  5857. 1050.08 s [really-safe-money-gen] i2 :: Integer
  5858. 1050.08 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5859. 1050.08 s [really-safe-money-gen] r :: Integer
  5860. 1050.08 s [really-safe-money-gen] - r = i1 - i2
  5861. 1050.08 s [really-safe-money-gen] + r = i1 + i2
  5862. 1050.08 s [really-safe-money-gen] in fromMinimalQuantisations r
  5863. 1050.08 s [really-safe-money-gen]
  5864. 1050.08 s [really-safe-money-gen] -- | The absolute value of the account
  5865. 1050.08 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
  5866. 1050.08 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5867. 1050.08 s [really-safe-money-gen] amount :: Amount
  5868. 1050.08 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5869. 1050.09 s [really-safe-money-gen] in Just $
  5870. 1050.09 s [really-safe-money-gen] - if i >= 0
  5871. 1050.09 s [really-safe-money-gen] + if i > 0
  5872. 1050.09 s [really-safe-money-gen] then Positive amount
  5873. 1050.09 s [really-safe-money-gen] else Negative amount
  5874. 1050.09 s [really-safe-money-gen]
  5875. 1050.09 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:378:11-18
  5876. 1050.09 s [really-safe-money-gen] @@ -375,7 +375,7 @@
  5877. 1050.09 s [really-safe-money-gen] i2 :: Integer
  5878. 1050.09 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5879. 1050.09 s [really-safe-money-gen] r :: Integer
  5880. 1050.09 s [really-safe-money-gen] - r = i1 - i2
  5881. 1050.09 s [really-safe-money-gen] + r = i1 * i2
  5882. 1050.09 s [really-safe-money-gen] in fromMinimalQuantisations r
  5883. 1050.09 s [really-safe-money-gen]
  5884. 1050.09 s [really-safe-money-gen] -- | The absolute value of the account
  5885. 1050.09 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  5886. 1050.09 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  5887. 1050.09 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  5888. 1050.09 s [really-safe-money-gen] let currentDigits :: Word8
  5889. 1050.09 s [really-safe-money-gen] currentDigits = digits dl
  5890. 1050.09 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  5891. 1050.09 s [really-safe-money-gen] + in if wantedDigits > currentDigits
  5892. 1050.09 s [really-safe-money-gen] then dl
  5893. 1050.09 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  5894. 1050.09 s [really-safe-money-gen] where
  5895. 1050.09 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
  5896. 1050.09 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5897. 1050.09 s [really-safe-money-gen] amount :: Amount
  5898. 1050.09 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5899. 1050.09 s [really-safe-money-gen] in Just $
  5900. 1050.09 s [really-safe-money-gen] - if i >= 0
  5901. 1050.09 s [really-safe-money-gen] + if True
  5902. 1050.09 s [really-safe-money-gen] then Positive amount
  5903. 1050.09 s [really-safe-money-gen] else Negative amount
  5904. 1050.09 s [really-safe-money-gen]
  5905. 1050.09 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  5906. 1050.09 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  5907. 1050.09 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  5908. 1050.09 s [really-safe-money-gen] let currentDigits :: Word8
  5909. 1050.09 s [really-safe-money-gen] currentDigits = digits dl
  5910. 1050.09 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  5911. 1050.09 s [really-safe-money-gen] + in if wantedDigits >= currentDigits
  5912. 1050.09 s [really-safe-money-gen] then dl
  5913. 1050.09 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  5914. 1050.09 s [really-safe-money-gen] where
  5915. 1050.09 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
  5916. 1050.09 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  5917. 1050.09 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  5918. 1050.09 s [really-safe-money-gen] let currentDigits :: Word8
  5919. 1050.09 s [really-safe-money-gen] currentDigits = digits dl
  5920. 1050.09 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  5921. 1050.09 s [really-safe-money-gen] + in if not (wantedDigits <= currentDigits)
  5922. 1050.09 s [really-safe-money-gen] then dl
  5923. 1050.09 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  5924. 1050.09 s [really-safe-money-gen] where
  5925. 1050.09 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  5926. 1050.09 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5927. 1050.10 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5928. 1050.10 s [really-safe-money-gen] increaseDigits 0 = id
  5929. 1050.10 s [really-safe-money-gen] increaseDigits w = \case
  5930. 1050.10 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5931. 1050.10 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 0) (succ e))
  5932. 1050.10 s [really-safe-money-gen]
  5933. 1050.10 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5934. 1050.10 s [really-safe-money-gen] --
  5935. 1050.10 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  5936. 1050.10 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5937. 1050.10 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5938. 1050.10 s [really-safe-money-gen] increaseDigits 0 = id
  5939. 1050.10 s [really-safe-money-gen] increaseDigits w = \case
  5940. 1050.10 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5941. 1050.10 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 1) (succ e))
  5942. 1050.10 s [really-safe-money-gen]
  5943. 1050.10 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5944. 1050.10 s [really-safe-money-gen] --
  5945. 1050.10 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  5946. 1050.10 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5947. 1050.10 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5948. 1050.10 s [really-safe-money-gen] increaseDigits 0 = id
  5949. 1050.10 s [really-safe-money-gen] increaseDigits w = \case
  5950. 1050.10 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5951. 1050.10 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m + 10) (succ e))
  5952. 1050.10 s [really-safe-money-gen]
  5953. 1050.10 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5954. 1050.10 s [really-safe-money-gen] --
  5955. 1050.10 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  5956. 1050.10 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5957. 1050.10 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5958. 1050.10 s [really-safe-money-gen] increaseDigits 0 = id
  5959. 1050.10 s [really-safe-money-gen] increaseDigits w = \case
  5960. 1050.10 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5961. 1050.10 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m - 10) (succ e))
  5962. 1050.10 s [really-safe-money-gen]
  5963. 1050.10 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5964. 1050.10 s [really-safe-money-gen] --
  5965. 1050.10 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  5966. 1050.10 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5967. 1050.10 s [really-safe-money-gen] pure $ fromIntegral n
  5968. 1050.10 s [really-safe-money-gen]
  5969. 1050.10 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  5970. 1050.10 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  5971. 1050.10 s [really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
  5972. 1050.10 s [really-safe-money-gen]
  5973. 1050.10 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  5974. 1050.10 s [really-safe-money-gen] signSignum = \case
  5975. 1050.10 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  5976. 1050.10 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5977. 1050.10 s [really-safe-money-gen] pure $ fromIntegral n
  5978. 1050.10 s [really-safe-money-gen]
  5979. 1050.10 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  5980. 1050.10 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  5981. 1050.10 s [really-safe-money-gen] +numSign a = if a < 0 then Nothing else Just False
  5982. 1050.10 s [really-safe-money-gen]
  5983. 1050.10 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  5984. 1050.10 s [really-safe-money-gen] signSignum = \case
  5985. 1050.11 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  5986. 1050.11 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5987. 1050.11 s [really-safe-money-gen] pure $ fromIntegral n
  5988. 1050.11 s [really-safe-money-gen]
  5989. 1050.11 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  5990. 1050.11 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  5991. 1050.11 s [really-safe-money-gen] +numSign a = if a <= 0 then Nothing else Just False
  5992. 1050.11 s [really-safe-money-gen]
  5993. 1050.11 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  5994. 1050.11 s [really-safe-money-gen] signSignum = \case
  5995. 1050.11 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  5996. 1050.11 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5997. 1050.11 s [really-safe-money-gen] pure $ fromIntegral n
  5998. 1050.11 s [really-safe-money-gen]
  5999. 1050.11 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6000. 1050.11 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6001. 1050.11 s [really-safe-money-gen] +numSign a = if a > 0 then Nothing else Just False
  6002. 1050.11 s [really-safe-money-gen]
  6003. 1050.11 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6004. 1050.11 s [really-safe-money-gen] signSignum = \case
  6005. 1050.11 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  6006. 1050.11 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6007. 1050.11 s [really-safe-money-gen] pure $ fromIntegral n
  6008. 1050.11 s [really-safe-money-gen]
  6009. 1050.11 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6010. 1050.11 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6011. 1050.11 s [really-safe-money-gen] +numSign a = if True then Nothing else Just False
  6012. 1050.11 s [really-safe-money-gen]
  6013. 1050.11 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6014. 1050.11 s [really-safe-money-gen] signSignum = \case
  6015. 1050.11 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  6016. 1050.11 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6017. 1050.11 s [really-safe-money-gen] pure $ fromIntegral n
  6018. 1050.11 s [really-safe-money-gen]
  6019. 1050.11 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6020. 1050.11 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6021. 1050.11 s [really-safe-money-gen] +numSign a = if False then Nothing else Just False
  6022. 1050.11 s [really-safe-money-gen]
  6023. 1050.11 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6024. 1050.11 s [really-safe-money-gen] signSignum = \case
  6025. 1054.72 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
  6026. 1054.72 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6027. 1054.72 s [really-safe-money-gen] pure $ fromIntegral n
  6028. 1054.72 s [really-safe-money-gen]
  6029. 1054.72 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6030. 1054.72 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6031. 1054.72 s [really-safe-money-gen] +numSign a = if not (a >= 0) then Nothing else Just False
  6032. 1054.72 s [really-safe-money-gen]
  6033. 1054.72 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6034. 1054.72 s [really-safe-money-gen] signSignum = \case
  6035. 1054.72 s [really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
  6036. 1054.73 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6037. 1054.73 s [really-safe-money-gen] pure $ fromIntegral n
  6038. 1054.73 s [really-safe-money-gen]
  6039. 1054.73 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6040. 1054.73 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6041. 1054.73 s [really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Just True
  6042. 1054.73 s [really-safe-money-gen]
  6043. 1054.73 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6044. 1054.73 s [really-safe-money-gen] signSignum = \case
  6045. 1054.73 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
  6046. 1054.73 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6047. 1054.73 s [really-safe-money-gen] pure $ fromIntegral n
  6048. 1054.73 s [really-safe-money-gen]
  6049. 1054.73 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6050. 1054.73 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6051. 1054.73 s [really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Nothing
  6052. 1054.73 s [really-safe-money-gen]
  6053. 1054.73 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6054. 1054.73 s [really-safe-money-gen] signSignum = \case
  6055. 1054.73 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  6056. 1054.73 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6057. 1054.73 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6058. 1054.73 s [really-safe-money-gen] toInt dl = do
  6059. 1054.73 s [really-safe-money-gen] n <- toInteger dl
  6060. 1054.73 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6061. 1054.73 s [really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
  6062. 1054.73 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6063. 1054.73 s [really-safe-money-gen] pure $ fromIntegral n
  6064. 1054.73 s [really-safe-money-gen]
  6065. 1054.73 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  6066. 1054.73 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6067. 1054.73 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6068. 1054.73 s [really-safe-money-gen] toInt dl = do
  6069. 1054.74 s [really-safe-money-gen] n <- toInteger dl
  6070. 1054.74 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6071. 1054.74 s [really-safe-money-gen] + guard $ n > fromIntegral (maxBound :: Int)
  6072. 1054.74 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6073. 1054.74 s [really-safe-money-gen] pure $ fromIntegral n
  6074. 1054.74 s [really-safe-money-gen]
  6075. 1054.74 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
  6076. 1054.74 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  6077. 1054.74 s [really-safe-money-gen] amount :: Amount
  6078. 1054.74 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  6079. 1054.74 s [really-safe-money-gen] in Just $
  6080. 1054.74 s [really-safe-money-gen] - if i >= 0
  6081. 1054.74 s [really-safe-money-gen] + if i <= 0
  6082. 1054.74 s [really-safe-money-gen] then Positive amount
  6083. 1054.74 s [really-safe-money-gen] else Negative amount
  6084. 1054.74 s [really-safe-money-gen]
  6085. 1054.74 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:131:20-26
  6086. 1054.74 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  6087. 1054.74 s [really-safe-money-gen] amount :: Amount
  6088. 1054.74 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  6089. 1054.74 s [really-safe-money-gen] in Just $
  6090. 1054.74 s [really-safe-money-gen] - if i >= 0
  6091. 1054.74 s [really-safe-money-gen] + if not (i >= 0)
  6092. 1054.74 s [really-safe-money-gen] then Positive amount
  6093. 1054.74 s [really-safe-money-gen] else Negative amount
  6094. 1054.74 s [really-safe-money-gen]
  6095. 1054.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  6096. 1054.74 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6097. 1054.74 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6098. 1054.74 s [really-safe-money-gen] toInt dl = do
  6099. 1054.74 s [really-safe-money-gen] n <- toInteger dl
  6100. 1054.74 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6101. 1054.74 s [really-safe-money-gen] + guard $ True
  6102. 1054.74 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6103. 1054.74 s [really-safe-money-gen] pure $ fromIntegral n
  6104. 1054.74 s [really-safe-money-gen]
  6105. 1054.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  6106. 1054.74 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6107. 1054.74 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6108. 1054.74 s [really-safe-money-gen] toInt dl = do
  6109. 1054.74 s [really-safe-money-gen] n <- toInteger dl
  6110. 1054.74 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6111. 1054.74 s [really-safe-money-gen] + guard $ False
  6112. 1054.74 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6113. 1054.74 s [really-safe-money-gen] pure $ fromIntegral n
  6114. 1054.74 s [really-safe-money-gen]
  6115. 1054.74 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
  6116. 1054.74 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6117. 1054.74 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6118. 1054.74 s [really-safe-money-gen] toInt dl = do
  6119. 1054.74 s [really-safe-money-gen] n <- toInteger dl
  6120. 1054.75 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6121. 1054.75 s [really-safe-money-gen] + guard $ not (n <= fromIntegral (maxBound :: Int))
  6122. 1054.75 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6123. 1054.75 s [really-safe-money-gen] pure $ fromIntegral n
  6124. 1054.75 s [really-safe-money-gen]
  6125. 1054.75 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  6126. 1054.75 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6127. 1054.75 s [really-safe-money-gen] toInt dl = do
  6128. 1054.75 s [really-safe-money-gen] n <- toInteger dl
  6129. 1054.75 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6130. 1054.75 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6131. 1054.75 s [really-safe-money-gen] + guard $ n > fromIntegral (minBound :: Int)
  6132. 1054.75 s [really-safe-money-gen] pure $ fromIntegral n
  6133. 1054.75 s [really-safe-money-gen]
  6134. 1054.75 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6135. 1054.75 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:341:11-18
  6136. 1054.75 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  6137. 1054.75 s [really-safe-money-gen] i2 :: Integer
  6138. 1054.75 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  6139. 1054.75 s [really-safe-money-gen] r :: Integer
  6140. 1054.75 s [really-safe-money-gen] - r = i1 + i2
  6141. 1054.75 s [really-safe-money-gen] + r = i1 - i2
  6142. 1054.75 s [really-safe-money-gen] in fromMinimalQuantisations r
  6143. 1054.75 s [really-safe-money-gen]
  6144. 1054.75 s [really-safe-money-gen] -- | Add a number of accounts of money together.
  6145. 1054.75 s [really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  6146. 1054.75 s [really-safe-money-gen] @@ -330,7 +330,6 @@
  6147. 1054.75 s [really-safe-money-gen] toInt dl = do
  6148. 1054.75 s [really-safe-money-gen] n <- toInteger dl
  6149. 1054.75 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6150. 1054.75 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6151. 1054.75 s [really-safe-money-gen] pure $ fromIntegral n
  6152. 1054.75 s [really-safe-money-gen]
  6153. 1054.75 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6154. 1054.75 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  6155. 1054.75 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6156. 1054.75 s [really-safe-money-gen] toInt dl = do
  6157. 1054.75 s [really-safe-money-gen] n <- toInteger dl
  6158. 1054.75 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6159. 1054.75 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6160. 1054.75 s [really-safe-money-gen] + guard $ True
  6161. 1054.75 s [really-safe-money-gen] pure $ fromIntegral n
  6162. 1054.75 s [really-safe-money-gen]
  6163. 1054.75 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6164. 1054.75 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  6165. 1054.75 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6166. 1054.75 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6167. 1054.75 s [really-safe-money-gen] toInt dl = do
  6168. 1054.75 s [really-safe-money-gen] n <- toInteger dl
  6169. 1054.75 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6170. 1054.75 s [really-safe-money-gen] + guard $ n >= fromIntegral (maxBound :: Int)
  6171. 1054.75 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6172. 1054.75 s [really-safe-money-gen] pure $ fromIntegral n
  6173. 1054.75 s [really-safe-money-gen]
  6174. 1054.75 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  6175. 1054.75 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6176. 1054.76 s [really-safe-money-gen] toInt dl = do
  6177. 1054.76 s [really-safe-money-gen] n <- toInteger dl
  6178. 1054.76 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6179. 1054.76 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6180. 1054.76 s [really-safe-money-gen] + guard $ False
  6181. 1054.76 s [really-safe-money-gen] pure $ fromIntegral n
  6182. 1054.76 s [really-safe-money-gen]
  6183. 1054.76 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6184. 1054.76 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  6185. 1054.76 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6186. 1054.76 s [really-safe-money-gen] toInt dl = do
  6187. 1054.76 s [really-safe-money-gen] n <- toInteger dl
  6188. 1054.76 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6189. 1054.76 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6190. 1054.76 s [really-safe-money-gen] + guard $ n < fromIntegral (minBound :: Int)
  6191. 1054.76 s [really-safe-money-gen] pure $ fromIntegral n
  6192. 1054.76 s [really-safe-money-gen]
  6193. 1054.76 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6194. 1054.76 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  6195. 1054.76 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  6196. 1054.76 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  6197. 1054.76 s [really-safe-money-gen] let currentDigits :: Word8
  6198. 1054.76 s [really-safe-money-gen] currentDigits = digits dl
  6199. 1054.76 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  6200. 1054.76 s [really-safe-money-gen] + in if wantedDigits < currentDigits
  6201. 1054.76 s [really-safe-money-gen] then dl
  6202. 1054.76 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  6203. 1054.76 s [really-safe-money-gen] where
  6204. 1054.76 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26
  6205. 1054.76 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  6206. 1054.76 s [really-safe-money-gen] amount :: Amount
  6207. 1054.76 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  6208. 1054.76 s [really-safe-money-gen] in Just $
  6209. 1054.76 s [really-safe-money-gen] - if i >= 0
  6210. 1054.76 s [really-safe-money-gen] + if i >= 1
  6211. 1054.76 s [really-safe-money-gen] then Positive amount
  6212. 1054.76 s [really-safe-money-gen] else Negative amount
  6213. 1054.76 s [really-safe-money-gen]
  6214. 1054.76 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
  6215. 1054.76 s [really-safe-money-gen] @@ -301,7 +301,7 @@
  6216. 1054.76 s [really-safe-money-gen]
  6217. 1058.40 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6218. 1058.40 s [really-safe-money-gen] fromNatural :: Natural -> DecimalLiteral
  6219. 1058.47 s [really-safe-money-gen] -fromNatural n = DecimalLiteral Nothing n 0
  6220. 1058.47 s [really-safe-money-gen] +fromNatural n = DecimalLiteral Nothing n 1
  6221. 1058.47 s [really-safe-money-gen]
  6222. 1058.47 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Natural'
  6223. 1058.47 s [really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
  6224. 1058.47 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  6225. 1058.47 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6226. 1058.47 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6227. 1058.47 s [really-safe-money-gen] toWord dl = do
  6228. 1058.47 s [really-safe-money-gen] n <- toNatural dl
  6229. 1058.47 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6230. 1058.47 s [really-safe-money-gen] + guard $ n >= fromIntegral (maxBound :: Word)
  6231. 1058.47 s [really-safe-money-gen] pure $ fromIntegral n
  6232. 1058.47 s [really-safe-money-gen]
  6233. 1058.47 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6234. 1058.47 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
  6235. 1058.47 s [really-safe-money-gen] @@ -312,7 +312,7 @@
  6236. 1058.47 s [really-safe-money-gen]
  6237. 1058.47 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
  6238. 1058.47 s [really-safe-money-gen] fromInteger :: Integer -> DecimalLiteral
  6239. 1058.47 s [really-safe-money-gen] -fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 0
  6240. 1058.47 s [really-safe-money-gen] +fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 1
  6241. 1058.47 s [really-safe-money-gen]
  6242. 1058.47 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into an 'Integer'
  6243. 1058.47 s [really-safe-money-gen] toInteger :: DecimalLiteral -> Maybe Integer
  6244. 1058.47 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
  6245. 1058.48 s [really-safe-money-gen] @@ -307,7 +307,7 @@
  6246. 1058.48 s [really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
  6247. 1058.48 s [really-safe-money-gen] toNatural = \case
  6248. 1058.48 s [really-safe-money-gen] DecimalLiteral (Just False) _ _ -> Nothing
  6249. 1058.48 s [really-safe-money-gen] - DecimalLiteral _ n 0 -> Just n
  6250. 1058.48 s [really-safe-money-gen] + DecimalLiteral _ n 0 -> Nothing
  6251. 1058.48 s [really-safe-money-gen] _ -> Nothing
  6252. 1058.48 s [really-safe-money-gen]
  6253. 1058.48 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
  6254. 1058.48 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  6255. 1058.48 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  6256. 1058.48 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  6257. 1058.48 s [really-safe-money-gen] let currentDigits :: Word8
  6258. 1058.48 s [really-safe-money-gen] currentDigits = digits dl
  6259. 1058.48 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  6260. 1058.48 s [really-safe-money-gen] + in if True
  6261. 1058.48 s [really-safe-money-gen] then dl
  6262. 1058.48 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  6263. 1058.48 s [really-safe-money-gen] where
  6264. 1058.48 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  6265. 1058.48 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6266. 1058.48 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6267. 1058.48 s [really-safe-money-gen] toWord dl = do
  6268. 1058.48 s [really-safe-money-gen] n <- toNatural dl
  6269. 1058.48 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6270. 1058.48 s [really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Word)
  6271. 1058.48 s [really-safe-money-gen] pure $ fromIntegral n
  6272. 1058.48 s [really-safe-money-gen]
  6273. 1058.48 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6274. 1058.48 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
  6275. 1058.48 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6276. 1058.48 s [really-safe-money-gen] toInt dl = do
  6277. 1058.48 s [really-safe-money-gen] n <- toInteger dl
  6278. 1058.48 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6279. 1058.49 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6280. 1058.49 s [really-safe-money-gen] + guard $ not (n >= fromIntegral (minBound :: Int))
  6281. 1058.49 s [really-safe-money-gen] pure $ fromIntegral n
  6282. 1058.49 s [really-safe-money-gen]
  6283. 1058.49 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6284. 1058.49 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  6285. 1058.49 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6286. 1058.49 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6287. 1058.49 s [really-safe-money-gen] toWord dl = do
  6288. 1058.49 s [really-safe-money-gen] n <- toNatural dl
  6289. 1058.49 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6290. 1058.49 s [really-safe-money-gen] + guard $ n > fromIntegral (maxBound :: Word)
  6291. 1058.49 s [really-safe-money-gen] pure $ fromIntegral n
  6292. 1058.49 s [really-safe-money-gen]
  6293. 1058.49 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6294. 1058.49 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  6295. 1058.49 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6296. 1058.49 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6297. 1058.49 s [really-safe-money-gen] toWord dl = do
  6298. 1058.49 s [really-safe-money-gen] n <- toNatural dl
  6299. 1058.49 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6300. 1058.49 s [really-safe-money-gen] + guard $ False
  6301. 1058.49 s [really-safe-money-gen] pure $ fromIntegral n
  6302. 1058.49 s [really-safe-money-gen]
  6303. 1058.49 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6304. 1058.49 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  6305. 1058.49 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6306. 1058.49 s [really-safe-money-gen] toInt dl = do
  6307. 1058.49 s [really-safe-money-gen] n <- toInteger dl
  6308. 1058.49 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6309. 1058.49 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6310. 1058.49 s [really-safe-money-gen] + guard $ n <= fromIntegral (minBound :: Int)
  6311. 1058.49 s [really-safe-money-gen] pure $ fromIntegral n
  6312. 1058.49 s [really-safe-money-gen]
  6313. 1058.49 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6314. 1058.49 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  6315. 1058.50 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6316. 1058.50 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6317. 1058.50 s [really-safe-money-gen] toWord dl = do
  6318. 1058.50 s [really-safe-money-gen] n <- toNatural dl
  6319. 1058.50 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6320. 1058.50 s [really-safe-money-gen] + guard $ True
  6321. 1058.50 s [really-safe-money-gen] pure $ fromIntegral n
  6322. 1058.50 s [really-safe-money-gen]
  6323. 1058.50 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6324. 1058.50 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
  6325. 1058.50 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6326. 1058.50 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6327. 1058.50 s [really-safe-money-gen] toWord dl = do
  6328. 1058.50 s [really-safe-money-gen] n <- toNatural dl
  6329. 1058.50 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6330. 1058.50 s [really-safe-money-gen] + guard $ not (n <= fromIntegral (maxBound :: Word))
  6331. 1058.50 s [really-safe-money-gen] pure $ fromIntegral n
  6332. 1058.50 s [really-safe-money-gen]
  6333. 1058.50 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6334. 1058.50 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  6335. 1058.50 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  6336. 1058.50 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  6337. 1058.50 s [really-safe-money-gen] let currentDigits :: Word8
  6338. 1058.50 s [really-safe-money-gen] currentDigits = digits dl
  6339. 1058.50 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  6340. 1058.50 s [really-safe-money-gen] + in if False
  6341. 1058.50 s [really-safe-money-gen] then dl
  6342. 1058.50 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  6343. 1058.50 s [really-safe-money-gen] where
  6344. 1058.50 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  6345. 1058.50 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  6346. 1058.50 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6347. 1058.50 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6348. 1058.50 s [really-safe-money-gen] Just False -> Nothing
  6349. 1058.50 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  6350. 1058.50 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (-10 ^ e)
  6351. 1058.50 s [really-safe-money-gen]
  6352. 1058.50 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6353. 1058.50 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6354. 1058.50 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
  6355. 1058.50 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  6356. 1058.50 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  6357. 1058.50 s [really-safe-money-gen] where
  6358. 1058.50 s [really-safe-money-gen] go = \case
  6359. 1058.50 s [really-safe-money-gen] - Nothing -> Just True
  6360. 1058.50 s [really-safe-money-gen] + Nothing -> Nothing
  6361. 1058.50 s [really-safe-money-gen] s -> s
  6362. 1058.50 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:123:10-23
  6363. 1058.50 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  6364. 1058.50 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  6365. 1058.51 s [really-safe-money-gen] a :: Integer
  6366. 1058.51 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  6367. 1058.51 s [really-safe-money-gen] - in if a > maxBoundI
  6368. 1058.51 s [really-safe-money-gen] + in if not (a > maxBoundI)
  6369. 1058.51 s [really-safe-money-gen] then Nothing
  6370. 1058.51 s [really-safe-money-gen] else
  6371. 1058.51 s [really-safe-money-gen] let w :: Word64
  6372. 1058.51 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  6373. 1058.51 s [really-safe-money-gen] @@ -233,7 +233,7 @@
  6374. 1058.51 s [really-safe-money-gen] -- >>> fromRatio (1 % 3)
  6375. 1058.51 s [really-safe-money-gen] -- Nothing
  6376. 1058.51 s [really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
  6377. 1058.51 s [really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
  6378. 1058.51 s [really-safe-money-gen] +fromRatio = fromRationalRepetendLimited 0
  6379. 1058.51 s [really-safe-money-gen] where
  6380. 1058.51 s [really-safe-money-gen] fromRationalRepetendLimited ::
  6381. 1058.51 s [really-safe-money-gen] -- limit
  6382. 1058.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
  6383. 1058.51 s [really-safe-money-gen] @@ -261,7 +261,7 @@
  6384. 1058.51 s [really-safe-money-gen] Just (c, e)
  6385. 1058.51 s [really-safe-money-gen] longDivWithLimit !c !e ns !n
  6386. 1058.51 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6387. 1058.51 s [really-safe-money-gen] - | S.member n ns = Nothing
  6388. 1058.51 s [really-safe-money-gen] + | True = Nothing
  6389. 1058.51 s [really-safe-money-gen] -- Over the limit, stop trying
  6390. 1058.51 s [really-safe-money-gen] | e >= l = Nothing
  6391. 1058.51 s [really-safe-money-gen] | n < d =
  6392. 1058.51 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
  6393. 1062.92 s [really-safe-money-gen] @@ -241,7 +241,7 @@
  6394. 1062.92 s [really-safe-money-gen] Ratio Natural ->
  6395. 1062.92 s [really-safe-money-gen] Maybe DecimalLiteral
  6396. 1062.93 s [really-safe-money-gen] fromRationalRepetendLimited l rational
  6397. 1062.93 s [really-safe-money-gen] - | d == 0 = Nothing
  6398. 1062.93 s [really-safe-money-gen] + | d == 1 = Nothing
  6399. 1062.93 s [really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
  6400. 1062.93 s [really-safe-money-gen] where
  6401. 1062.93 s [really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
  6402. 1062.93 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  6403. 1062.93 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6404. 1062.93 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6405. 1062.93 s [really-safe-money-gen] | S.member n ns = Nothing
  6406. 1062.93 s [really-safe-money-gen] -- Over the limit, stop trying
  6407. 1062.93 s [really-safe-money-gen] - | e >= l = Nothing
  6408. 1062.93 s [really-safe-money-gen] + | e < l = Nothing
  6409. 1062.93 s [really-safe-money-gen] | n < d =
  6410. 1062.93 s [really-safe-money-gen] let !ns' = S.insert n ns
  6411. 1062.93 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6412. 1062.93 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
  6413. 1062.93 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6414. 1062.93 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6415. 1062.93 s [really-safe-money-gen] | S.member n ns = Nothing
  6416. 1062.93 s [really-safe-money-gen] -- Over the limit, stop trying
  6417. 1062.93 s [really-safe-money-gen] - | e >= l = Nothing
  6418. 1062.93 s [really-safe-money-gen] + | True = Nothing
  6419. 1062.93 s [really-safe-money-gen] | n < d =
  6420. 1062.93 s [really-safe-money-gen] let !ns' = S.insert n ns
  6421. 1062.93 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6422. 1062.93 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  6423. 1062.93 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6424. 1062.93 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6425. 1062.93 s [really-safe-money-gen] | S.member n ns = Nothing
  6426. 1062.93 s [really-safe-money-gen] -- Over the limit, stop trying
  6427. 1062.93 s [really-safe-money-gen] - | e >= l = Nothing
  6428. 1062.93 s [really-safe-money-gen] + | e > l = Nothing
  6429. 1062.93 s [really-safe-money-gen] | n < d =
  6430. 1062.93 s [really-safe-money-gen] let !ns' = S.insert n ns
  6431. 1062.93 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6432. 1062.93 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  6433. 1062.93 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6434. 1062.93 s [really-safe-money-gen] | S.member n ns = Nothing
  6435. 1062.93 s [really-safe-money-gen] -- Over the limit, stop trying
  6436. 1062.93 s [really-safe-money-gen] | e >= l = Nothing
  6437. 1062.93 s [really-safe-money-gen] - | n < d =
  6438. 1062.93 s [really-safe-money-gen] + | n <= d =
  6439. 1062.93 s [really-safe-money-gen] let !ns' = S.insert n ns
  6440. 1062.93 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6441. 1062.93 s [really-safe-money-gen] | otherwise =
  6442. 1062.93 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  6443. 1062.93 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6444. 1062.93 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6445. 1062.93 s [really-safe-money-gen] | S.member n ns = Nothing
  6446. 1062.93 s [really-safe-money-gen] -- Over the limit, stop trying
  6447. 1062.93 s [really-safe-money-gen] - | e >= l = Nothing
  6448. 1062.93 s [really-safe-money-gen] + | e <= l = Nothing
  6449. 1062.94 s [really-safe-money-gen] | n < d =
  6450. 1062.94 s [really-safe-money-gen] let !ns' = S.insert n ns
  6451. 1062.94 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6452. 1062.94 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
  6453. 1062.94 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6454. 1062.94 s [really-safe-money-gen] | S.member n ns = Nothing
  6455. 1062.94 s [really-safe-money-gen] -- Over the limit, stop trying
  6456. 1062.94 s [really-safe-money-gen] | e >= l = Nothing
  6457. 1062.94 s [really-safe-money-gen] - | n < d =
  6458. 1062.94 s [really-safe-money-gen] + | True =
  6459. 1062.94 s [really-safe-money-gen] let !ns' = S.insert n ns
  6460. 1062.94 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6461. 1062.94 s [really-safe-money-gen] | otherwise =
  6462. 1062.94 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
  6463. 1062.94 s [really-safe-money-gen] @@ -261,7 +261,7 @@
  6464. 1062.94 s [really-safe-money-gen] Just (c, e)
  6465. 1062.94 s [really-safe-money-gen] longDivWithLimit !c !e ns !n
  6466. 1062.94 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6467. 1062.94 s [really-safe-money-gen] - | S.member n ns = Nothing
  6468. 1062.94 s [really-safe-money-gen] + | not (S.member n ns) = Nothing
  6469. 1062.94 s [really-safe-money-gen] -- Over the limit, stop trying
  6470. 1062.94 s [really-safe-money-gen] | e >= l = Nothing
  6471. 1062.94 s [really-safe-money-gen] | n < d =
  6472. 1062.94 s [really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  6473. 1062.94 s [really-safe-money-gen] @@ -329,7 +329,6 @@
  6474. 1062.94 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6475. 1062.94 s [really-safe-money-gen] toInt dl = do
  6476. 1062.94 s [really-safe-money-gen] n <- toInteger dl
  6477. 1062.94 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6478. 1062.94 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6479. 1062.94 s [really-safe-money-gen] pure $ fromIntegral n
  6480. 1062.94 s [really-safe-money-gen]
  6481. 1062.94 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  6482. 1062.94 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6483. 1062.94 s [really-safe-money-gen] | e >= l = Nothing
  6484. 1062.94 s [really-safe-money-gen] | n < d =
  6485. 1062.94 s [really-safe-money-gen] let !ns' = S.insert n ns
  6486. 1062.94 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6487. 1062.94 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n + 10)
  6488. 1062.94 s [really-safe-money-gen] | otherwise =
  6489. 1062.94 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6490. 1062.94 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6491. 1062.94 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  6492. 1062.94 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6493. 1062.94 s [really-safe-money-gen] | e >= l = Nothing
  6494. 1062.94 s [really-safe-money-gen] | n < d =
  6495. 1062.94 s [really-safe-money-gen] let !ns' = S.insert n ns
  6496. 1062.94 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6497. 1062.94 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n - 10)
  6498. 1062.94 s [really-safe-money-gen] | otherwise =
  6499. 1062.94 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6500. 1062.94 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6501. 1062.94 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
  6502. 1062.94 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  6503. 1062.94 s [really-safe-money-gen] amount :: Amount
  6504. 1062.94 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  6505. 1062.94 s [really-safe-money-gen] in Just $
  6506. 1062.94 s [really-safe-money-gen] - if i >= 0
  6507. 1062.94 s [really-safe-money-gen] + if i < 0
  6508. 1062.94 s [really-safe-money-gen] then Positive amount
  6509. 1062.94 s [really-safe-money-gen] else Negative amount
  6510. 1062.94 s [really-safe-money-gen]
  6511. 1062.94 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  6512. 1062.94 s [really-safe-money-gen] @@ -269,7 +269,7 @@
  6513. 1062.94 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6514. 1062.94 s [really-safe-money-gen] | otherwise =
  6515. 1062.94 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6516. 1062.94 s [really-safe-money-gen] - in longDivWithLimit (c + q) e ns r'
  6517. 1062.94 s [really-safe-money-gen] + in longDivWithLimit (c - q) e ns r'
  6518. 1062.94 s [really-safe-money-gen]
  6519. 1062.94 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Ratio Natural'
  6520. 1062.94 s [really-safe-money-gen] --
  6521. 1062.94 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  6522. 1062.94 s [really-safe-money-gen] @@ -269,7 +269,7 @@
  6523. 1062.94 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6524. 1062.94 s [really-safe-money-gen] | otherwise =
  6525. 1062.94 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6526. 1062.94 s [really-safe-money-gen] - in longDivWithLimit (c + q) e ns r'
  6527. 1062.94 s [really-safe-money-gen] + in longDivWithLimit (c * q) e ns r'
  6528. 1062.94 s [really-safe-money-gen]
  6529. 1062.94 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Ratio Natural'
  6530. 1062.94 s [really-safe-money-gen] --
  6531. 1062.94 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
  6532. 1062.94 s [really-safe-money-gen] @@ -249,7 +249,7 @@
  6533. 1062.94 s [really-safe-money-gen] num = numerator rational
  6534. 1062.94 s [really-safe-money-gen]
  6535. 1062.94 s [really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
  6536. 1062.94 s [really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
  6537. 1062.94 s [really-safe-money-gen] + longDiv = longDivWithLimit 1 0 S.empty
  6538. 1062.94 s [really-safe-money-gen]
  6539. 1062.94 s [really-safe-money-gen] longDivWithLimit ::
  6540. 1062.94 s [really-safe-money-gen] Natural ->
  6541. 1062.94 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
  6542. 1062.94 s [really-safe-money-gen] @@ -249,7 +249,7 @@
  6543. 1062.94 s [really-safe-money-gen] num = numerator rational
  6544. 1062.94 s [really-safe-money-gen]
  6545. 1062.94 s [really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
  6546. 1062.94 s [really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
  6547. 1062.94 s [really-safe-money-gen] + longDiv = longDivWithLimit 0 1 S.empty
  6548. 1062.94 s [really-safe-money-gen]
  6549. 1062.94 s [really-safe-money-gen] longDivWithLimit ::
  6550. 1062.94 s [really-safe-money-gen] Natural ->
  6551. 1062.94 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
  6552. 1062.94 s [really-safe-money-gen] @@ -241,7 +241,7 @@
  6553. 1062.94 s [really-safe-money-gen] Ratio Natural ->
  6554. 1062.94 s [really-safe-money-gen] Maybe DecimalLiteral
  6555. 1062.94 s [really-safe-money-gen] fromRationalRepetendLimited l rational
  6556. 1062.94 s [really-safe-money-gen] - | d == 0 = Nothing
  6557. 1062.94 s [really-safe-money-gen] + | not (d == 0) = Nothing
  6558. 1062.94 s [really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
  6559. 1062.94 s [really-safe-money-gen] where
  6560. 1062.94 s [really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
  6561. 1062.94 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
  6562. 1062.94 s [really-safe-money-gen] @@ -241,7 +241,7 @@
  6563. 1062.94 s [really-safe-money-gen] Ratio Natural ->
  6564. 1062.94 s [really-safe-money-gen] Maybe DecimalLiteral
  6565. 1062.94 s [really-safe-money-gen] fromRationalRepetendLimited l rational
  6566. 1062.94 s [really-safe-money-gen] - | d == 0 = Nothing
  6567. 1067.13 s [really-safe-money-gen] + | True = Nothing
  6568. 1067.20 s [really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
  6569. 1067.20 s [really-safe-money-gen] where
  6570. 1067.20 s [really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
  6571. 1067.20 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  6572. 1067.20 s [really-safe-money-gen] @@ -220,7 +220,7 @@
  6573. 1067.20 s [really-safe-money-gen] -- (-3) % 10
  6574. 1067.20 s [really-safe-money-gen] toRational :: DecimalLiteral -> Rational
  6575. 1067.20 s [really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
  6576. 1067.20 s [really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
  6577. 1067.20 s [really-safe-money-gen] + signSignum mSign (fromIntegral m / (1 ^ e))
  6578. 1067.20 s [really-safe-money-gen]
  6579. 1067.20 s [really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
  6580. 1067.20 s [really-safe-money-gen] --
  6581. 1067.20 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  6582. 1067.20 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6583. 1067.20 s [really-safe-money-gen] | S.member n ns = Nothing
  6584. 1067.20 s [really-safe-money-gen] -- Over the limit, stop trying
  6585. 1067.20 s [really-safe-money-gen] | e >= l = Nothing
  6586. 1067.20 s [really-safe-money-gen] - | n < d =
  6587. 1067.20 s [really-safe-money-gen] + | n >= d =
  6588. 1067.20 s [really-safe-money-gen] let !ns' = S.insert n ns
  6589. 1067.20 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6590. 1067.20 s [really-safe-money-gen] | otherwise =
  6591. 1067.20 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  6592. 1067.20 s [really-safe-money-gen] @@ -220,7 +220,7 @@
  6593. 1067.20 s [really-safe-money-gen] -- (-3) % 10
  6594. 1067.20 s [really-safe-money-gen] toRational :: DecimalLiteral -> Rational
  6595. 1067.20 s [really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
  6596. 1067.21 s [really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
  6597. 1067.21 s [really-safe-money-gen] + signSignum mSign (fromIntegral m / (0 ^ e))
  6598. 1067.21 s [really-safe-money-gen]
  6599. 1067.21 s [really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
  6600. 1067.21 s [really-safe-money-gen] --
  6601. 1067.21 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
  6602. 1067.21 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6603. 1067.21 s [really-safe-money-gen] -- Nothing
  6604. 1067.21 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6605. 1067.21 s [really-safe-money-gen] fromRational (n :% d)
  6606. 1067.21 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6607. 1067.21 s [really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6608. 1067.21 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6609. 1067.21 s [really-safe-money-gen]
  6610. 1067.21 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6611. 1067.21 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  6612. 1067.21 s [really-safe-money-gen] @@ -220,7 +220,7 @@
  6613. 1067.21 s [really-safe-money-gen] -- (-3) % 10
  6614. 1067.21 s [really-safe-money-gen] toRational :: DecimalLiteral -> Rational
  6615. 1067.21 s [really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
  6616. 1067.21 s [really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
  6617. 1067.21 s [really-safe-money-gen] + signSignum mSign (fromIntegral m / (-10 ^ e))
  6618. 1067.21 s [really-safe-money-gen]
  6619. 1067.21 s [really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
  6620. 1067.21 s [really-safe-money-gen] --
  6621. 1067.21 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  6622. 1067.21 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6623. 1067.21 s [really-safe-money-gen] -- Nothing
  6624. 1067.21 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6625. 1067.21 s [really-safe-money-gen] fromRational (n :% d)
  6626. 1067.21 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6627. 1067.21 s [really-safe-money-gen] + | n > 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6628. 1067.21 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6629. 1067.21 s [really-safe-money-gen]
  6630. 1067.21 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6631. 1067.21 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  6632. 1067.21 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6633. 1067.21 s [really-safe-money-gen] -- Nothing
  6634. 1067.21 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6635. 1067.21 s [really-safe-money-gen] fromRational (n :% d)
  6636. 1067.21 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6637. 1067.21 s [really-safe-money-gen] + | n <= 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6638. 1067.21 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6639. 1067.21 s [really-safe-money-gen]
  6640. 1067.21 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6641. 1067.21 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  6642. 1067.21 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6643. 1067.21 s [really-safe-money-gen] | e >= l = Nothing
  6644. 1067.21 s [really-safe-money-gen] | n < d =
  6645. 1067.21 s [really-safe-money-gen] let !ns' = S.insert n ns
  6646. 1067.21 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6647. 1067.21 s [really-safe-money-gen] + in longDivWithLimit (c - 10) (succ e) ns' (n * 10)
  6648. 1067.21 s [really-safe-money-gen] | otherwise =
  6649. 1067.21 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6650. 1067.21 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6651. 1067.21 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  6652. 1067.21 s [really-safe-money-gen] @@ -284,9 +284,8 @@
  6653. 1067.22 s [really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
  6654. 1067.22 s [really-safe-money-gen] -- Nothing
  6655. 1067.22 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6656. 1067.22 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6657. 1067.22 s [really-safe-money-gen] Just False -> Nothing
  6658. 1067.22 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  6659. 1067.22 s [really-safe-money-gen]
  6660. 1067.22 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6661. 1067.22 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6662. 1067.22 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  6663. 1067.22 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6664. 1067.22 s [really-safe-money-gen] | S.member n ns = Nothing
  6665. 1067.22 s [really-safe-money-gen] -- Over the limit, stop trying
  6666. 1067.22 s [really-safe-money-gen] | e >= l = Nothing
  6667. 1067.22 s [really-safe-money-gen] - | n < d =
  6668. 1067.22 s [really-safe-money-gen] + | n > d =
  6669. 1067.22 s [really-safe-money-gen] let !ns' = S.insert n ns
  6670. 1067.22 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6671. 1067.22 s [really-safe-money-gen] | otherwise =
  6672. 1067.22 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  6673. 1067.22 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6674. 1067.22 s [really-safe-money-gen] | e >= l = Nothing
  6675. 1067.22 s [really-safe-money-gen] | n < d =
  6676. 1067.22 s [really-safe-money-gen] let !ns' = S.insert n ns
  6677. 1067.22 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6678. 1067.22 s [really-safe-money-gen] + in longDivWithLimit (c * 0) (succ e) ns' (n * 10)
  6679. 1067.22 s [really-safe-money-gen] | otherwise =
  6680. 1067.22 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6681. 1067.22 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6682. 1067.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
  6683. 1067.22 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6684. 1067.22 s [really-safe-money-gen] -- Nothing
  6685. 1067.22 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6686. 1067.22 s [really-safe-money-gen] fromRational (n :% d)
  6687. 1067.22 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6688. 1067.22 s [really-safe-money-gen] + | True = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6689. 1067.22 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6690. 1067.22 s [really-safe-money-gen]
  6691. 1067.22 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6692. 1067.22 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  6693. 1067.22 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6694. 1067.22 s [really-safe-money-gen] | e >= l = Nothing
  6695. 1067.22 s [really-safe-money-gen] | n < d =
  6696. 1067.22 s [really-safe-money-gen] let !ns' = S.insert n ns
  6697. 1067.22 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6698. 1067.22 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 0)
  6699. 1067.22 s [really-safe-money-gen] | otherwise =
  6700. 1067.22 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6701. 1067.22 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6702. 1067.22 s [really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
  6703. 1067.22 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6704. 1067.22 s [really-safe-money-gen] -- Nothing
  6705. 1067.22 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6706. 1067.22 s [really-safe-money-gen] fromRational (n :% d)
  6707. 1067.22 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6708. 1067.22 s [really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just True) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6709. 1067.22 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6710. 1067.22 s [really-safe-money-gen]
  6711. 1067.22 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6712. 1067.22 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
  6713. 1067.22 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6714. 1067.22 s [really-safe-money-gen] -- Nothing
  6715. 1067.22 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6716. 1067.22 s [really-safe-money-gen] fromRational (n :% d)
  6717. 1067.22 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6718. 1067.22 s [really-safe-money-gen] + | not (n < 0) = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6719. 1067.22 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6720. 1067.22 s [really-safe-money-gen]
  6721. 1067.22 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6722. 1067.22 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  6723. 1067.22 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6724. 1067.22 s [really-safe-money-gen] -- Nothing
  6725. 1067.22 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6726. 1067.22 s [really-safe-money-gen] fromRational (n :% d)
  6727. 1071.54 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6728. 1071.54 s [really-safe-money-gen] + | n >= 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6729. 1071.54 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6730. 1071.54 s [really-safe-money-gen]
  6731. 1071.54 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6732. 1071.54 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  6733. 1071.54 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6734. 1071.54 s [really-safe-money-gen] | e >= l = Nothing
  6735. 1071.54 s [really-safe-money-gen] | n < d =
  6736. 1071.54 s [really-safe-money-gen] let !ns' = S.insert n ns
  6737. 1071.54 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6738. 1071.54 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 1)
  6739. 1071.54 s [really-safe-money-gen] | otherwise =
  6740. 1071.55 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6741. 1071.55 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6742. 1071.55 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
  6743. 1071.55 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6744. 1071.55 s [really-safe-money-gen] -- Nothing
  6745. 1071.55 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6746. 1071.55 s [really-safe-money-gen] fromRational (n :% d)
  6747. 1071.55 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6748. 1071.55 s [really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Nothing) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6749. 1071.55 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6750. 1071.55 s [really-safe-money-gen]
  6751. 1071.55 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6752. 1071.55 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  6753. 1071.55 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6754. 1071.55 s [really-safe-money-gen] | e >= l = Nothing
  6755. 1071.55 s [really-safe-money-gen] | n < d =
  6756. 1071.55 s [really-safe-money-gen] let !ns' = S.insert n ns
  6757. 1071.55 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6758. 1071.55 s [really-safe-money-gen] + in longDivWithLimit (c + 10) (succ e) ns' (n * 10)
  6759. 1071.55 s [really-safe-money-gen] | otherwise =
  6760. 1071.55 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6761. 1071.55 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6762. 1071.55 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  6763. 1071.55 s [really-safe-money-gen] @@ -183,7 +183,6 @@
  6764. 1071.55 s [really-safe-money-gen]
  6765. 1071.55 s [really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
  6766. 1071.55 s [really-safe-money-gen] go :: Word8 -> String -> String
  6767. 1071.55 s [really-safe-money-gen] - go 0 [] = ['.', '0']
  6768. 1071.55 s [really-safe-money-gen] go 0 s = '.' : s
  6769. 1071.55 s [really-safe-money-gen] go e [] = '0' : go (pred e) []
  6770. 1071.55 s [really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
  6771. 1071.55 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  6772. 1071.55 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  6773. 1071.55 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6774. 1071.55 s [really-safe-money-gen] parseDigits f z = do
  6775. 1071.55 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  6776. 1071.55 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6777. 1071.56 s [really-safe-money-gen] + let digit = Char.ord c - 0
  6778. 1071.56 s [really-safe-money-gen] case f z digit of
  6779. 1071.56 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  6780. 1071.56 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  6781. 1071.56 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  6782. 1071.56 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  6783. 1071.56 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6784. 1071.56 s [really-safe-money-gen] parseDigits f z = do
  6785. 1071.56 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  6786. 1071.56 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6787. 1071.56 s [really-safe-money-gen] + let digit = Char.ord c - 1
  6788. 1071.56 s [really-safe-money-gen] case f z digit of
  6789. 1071.56 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  6790. 1071.56 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  6791. 1071.56 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  6792. 1071.56 s [really-safe-money-gen] @@ -183,7 +183,6 @@
  6793. 1071.56 s [really-safe-money-gen]
  6794. 1071.56 s [really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
  6795. 1071.56 s [really-safe-money-gen] go :: Word8 -> String -> String
  6796. 1071.56 s [really-safe-money-gen] - go 0 [] = ['.', '0']
  6797. 1071.56 s [really-safe-money-gen] go 0 s = '.' : s
  6798. 1071.56 s [really-safe-money-gen] go e [] = '0' : go (pred e) []
  6799. 1071.56 s [really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
  6800. 1071.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
  6801. 1071.56 s [really-safe-money-gen] @@ -149,7 +149,7 @@
  6802. 1071.56 s [really-safe-money-gen] where
  6803. 1071.56 s [really-safe-money-gen] go !a [] = return a
  6804. 1071.56 s [really-safe-money-gen] go !a (c : cs)
  6805. 1071.56 s [really-safe-money-gen] - | Char.isDigit c = do
  6806. 1071.56 s [really-safe-money-gen] + | True = do
  6807. 1071.56 s [really-safe-money-gen] _ <- ReadP.get
  6808. 1071.56 s [really-safe-money-gen] let digit = Char.ord c - 48
  6809. 1071.56 s [really-safe-money-gen] case f a digit of
  6810. 1071.56 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
  6811. 1071.56 s [really-safe-money-gen] @@ -149,7 +149,7 @@
  6812. 1071.56 s [really-safe-money-gen] where
  6813. 1071.56 s [really-safe-money-gen] go !a [] = return a
  6814. 1071.56 s [really-safe-money-gen] go !a (c : cs)
  6815. 1071.56 s [really-safe-money-gen] - | Char.isDigit c = do
  6816. 1071.56 s [really-safe-money-gen] + | not (Char.isDigit c) = do
  6817. 1071.56 s [really-safe-money-gen] _ <- ReadP.get
  6818. 1071.56 s [really-safe-money-gen] let digit = Char.ord c - 48
  6819. 1071.56 s [really-safe-money-gen] case f a digit of
  6820. 1071.57 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  6821. 1071.57 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6822. 1071.57 s [really-safe-money-gen] go !a (c : cs)
  6823. 1071.57 s [really-safe-money-gen] | Char.isDigit c = do
  6824. 1071.57 s [really-safe-money-gen] _ <- ReadP.get
  6825. 1071.57 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6826. 1071.57 s [really-safe-money-gen] + let digit = Char.ord c * 48
  6827. 1071.57 s [really-safe-money-gen] case f a digit of
  6828. 1071.57 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6829. 1071.57 s [really-safe-money-gen] Just a' -> go a' cs
  6830. 1071.57 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  6831. 1071.57 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6832. 1071.57 s [really-safe-money-gen] go !a (c : cs)
  6833. 1071.57 s [really-safe-money-gen] | Char.isDigit c = do
  6834. 1071.57 s [really-safe-money-gen] _ <- ReadP.get
  6835. 1071.57 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6836. 1071.57 s [really-safe-money-gen] + let digit = Char.ord c + 48
  6837. 1071.57 s [really-safe-money-gen] case f a digit of
  6838. 1071.57 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6839. 1071.57 s [really-safe-money-gen] Just a' -> go a' cs
  6840. 1071.57 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  6841. 1071.57 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6842. 1071.57 s [really-safe-money-gen] go !a (c : cs)
  6843. 1071.57 s [really-safe-money-gen] | Char.isDigit c = do
  6844. 1071.57 s [really-safe-money-gen] _ <- ReadP.get
  6845. 1071.57 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6846. 1071.57 s [really-safe-money-gen] + let digit = Char.ord c - -48
  6847. 1071.57 s [really-safe-money-gen] case f a digit of
  6848. 1071.57 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6849. 1071.57 s [really-safe-money-gen] Just a' -> go a' cs
  6850. 1071.57 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  6851. 1071.57 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  6852. 1071.57 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6853. 1071.57 s [really-safe-money-gen]
  6854. 1071.57 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6855. 1071.57 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  6856. 1071.57 s [really-safe-money-gen] +step a digit = Just $ a + 10 + fromIntegral digit
  6857. 1071.57 s [really-safe-money-gen] {-# INLINE step #-}
  6858. 1071.57 s [really-safe-money-gen]
  6859. 1071.57 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6860. 1071.57 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  6861. 1071.57 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  6862. 1071.58 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6863. 1071.58 s [really-safe-money-gen]
  6864. 1071.58 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6865. 1071.58 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  6866. 1071.58 s [really-safe-money-gen] +step a digit = Just $ a - 10 + fromIntegral digit
  6867. 1071.58 s [really-safe-money-gen] {-# INLINE step #-}
  6868. 1071.58 s [really-safe-money-gen]
  6869. 1071.58 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6870. 1071.58 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  6871. 1071.58 s [really-safe-money-gen] @@ -233,7 +233,7 @@
  6872. 1071.58 s [really-safe-money-gen] -- >>> fromRatio (1 % 3)
  6873. 1071.58 s [really-safe-money-gen] -- Nothing
  6874. 1071.58 s [really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
  6875. 1071.58 s [really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
  6876. 1071.58 s [really-safe-money-gen] +fromRatio = fromRationalRepetendLimited 1
  6877. 1071.58 s [really-safe-money-gen] where
  6878. 1071.58 s [really-safe-money-gen] fromRationalRepetendLimited ::
  6879. 1071.58 s [really-safe-money-gen] -- limit
  6880. 1071.58 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  6881. 1071.58 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  6882. 1071.58 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6883. 1071.58 s [really-safe-money-gen]
  6884. 1071.58 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6885. 1071.58 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  6886. 1071.58 s [really-safe-money-gen] +step a digit = Just $ a * 10 - fromIntegral digit
  6887. 1071.58 s [really-safe-money-gen] {-# INLINE step #-}
  6888. 1071.58 s [really-safe-money-gen]
  6889. 1071.58 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6890. 1071.58 s [really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  6891. 1071.58 s [really-safe-money-gen] @@ -296,7 +296,6 @@
  6892. 1071.58 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6893. 1071.58 s [really-safe-money-gen] toWord dl = do
  6894. 1071.58 s [really-safe-money-gen] n <- toNatural dl
  6895. 1071.58 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6896. 1071.58 s [really-safe-money-gen] pure $ fromIntegral n
  6897. 1071.58 s [really-safe-money-gen]
  6898. 1071.58 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6899. 1071.58 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  6900. 1071.58 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  6901. 1071.58 s [really-safe-money-gen]
  6902. 1071.58 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  6903. 1071.58 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  6904. 1071.58 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6905. 1075.63 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 0 + fromIntegral digit, succ e)
  6906. 1075.63 s [really-safe-money-gen]
  6907. 1075.70 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6908. 1075.70 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  6909. 1075.70 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  6910. 1075.70 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  6911. 1075.71 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6912. 1075.71 s [really-safe-money-gen]
  6913. 1075.71 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6914. 1075.71 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  6915. 1075.71 s [really-safe-money-gen] +step a digit = Just $ a * 10 * fromIntegral digit
  6916. 1075.71 s [really-safe-money-gen] {-# INLINE step #-}
  6917. 1075.71 s [really-safe-money-gen]
  6918. 1075.71 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6919. 1075.71 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  6920. 1075.71 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  6921. 1075.71 s [really-safe-money-gen]
  6922. 1075.71 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  6923. 1075.71 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  6924. 1075.71 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6925. 1075.71 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 1 + fromIntegral digit, succ e)
  6926. 1075.71 s [really-safe-money-gen]
  6927. 1075.71 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6928. 1075.71 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  6929. 1075.71 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  6930. 1075.71 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  6931. 1075.71 s [really-safe-money-gen]
  6932. 1075.71 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  6933. 1075.71 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  6934. 1075.71 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6935. 1075.71 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 10 - fromIntegral digit, succ e)
  6936. 1075.71 s [really-safe-money-gen]
  6937. 1075.71 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6938. 1075.71 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  6939. 1075.72 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  6940. 1075.72 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  6941. 1075.72 s [really-safe-money-gen]
  6942. 1075.72 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  6943. 1075.72 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  6944. 1075.72 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6945. 1075.72 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 10 * fromIntegral digit, succ e)
  6946. 1075.72 s [really-safe-money-gen]
  6947. 1075.72 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6948. 1075.72 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  6949. 1075.72 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
  6950. 1075.72 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  6951. 1075.72 s [really-safe-money-gen]
  6952. 1075.72 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  6953. 1075.72 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  6954. 1075.72 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  6955. 1075.72 s [really-safe-money-gen] +stepFraction (m, e) digit = Nothing
  6956. 1075.72 s [really-safe-money-gen]
  6957. 1075.72 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  6958. 1075.72 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  6959. 1075.72 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  6960. 1075.72 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  6961. 1075.72 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  6962. 1075.72 s [really-safe-money-gen] decimalLiteralP = do
  6963. 1075.72 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  6964. 1075.72 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  6965. 1075.72 s [really-safe-money-gen] + isSignChar c = True || c == '+'
  6966. 1075.72 s [really-safe-money-gen]
  6967. 1075.72 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  6968. 1075.72 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  6969. 1075.72 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  6970. 1075.72 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  6971. 1075.72 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  6972. 1075.72 s [really-safe-money-gen] decimalLiteralP = do
  6973. 1075.72 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  6974. 1075.72 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  6975. 1075.73 s [really-safe-money-gen] + isSignChar c = False || c == '+'
  6976. 1075.73 s [really-safe-money-gen]
  6977. 1075.73 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  6978. 1075.73 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  6979. 1075.73 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  6980. 1075.73 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  6981. 1075.73 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  6982. 1075.73 s [really-safe-money-gen] decimalLiteralP = do
  6983. 1075.73 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  6984. 1075.73 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  6985. 1075.73 s [really-safe-money-gen] + isSignChar c = c == '-' || True
  6986. 1075.73 s [really-safe-money-gen]
  6987. 1075.73 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  6988. 1075.73 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  6989. 1075.73 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
  6990. 1075.73 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  6991. 1075.73 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  6992. 1075.73 s [really-safe-money-gen] decimalLiteralP = do
  6993. 1075.73 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  6994. 1075.73 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  6995. 1075.73 s [really-safe-money-gen] + isSignChar c = not (c == '-') || c == '+'
  6996. 1075.73 s [really-safe-money-gen]
  6997. 1075.73 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  6998. 1075.73 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  6999. 1075.73 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  7000. 1075.73 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7001. 1075.73 s [really-safe-money-gen]
  7002. 1075.73 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7003. 1075.73 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7004. 1075.73 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7005. 1075.73 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m - 10 + fromIntegral digit, succ e)
  7006. 1075.73 s [really-safe-money-gen]
  7007. 1075.73 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7008. 1075.73 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7009. 1075.73 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  7010. 1075.73 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7011. 1075.73 s [really-safe-money-gen]
  7012. 1075.73 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7013. 1075.73 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7014. 1075.73 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7015. 1075.73 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m + 10 + fromIntegral digit, succ e)
  7016. 1075.73 s [really-safe-money-gen]
  7017. 1075.73 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7018. 1075.73 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7019. 1075.73 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  7020. 1075.73 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  7021. 1075.73 s [really-safe-money-gen] | e >= l = Nothing
  7022. 1075.73 s [really-safe-money-gen] | n < d =
  7023. 1075.73 s [really-safe-money-gen] let !ns' = S.insert n ns
  7024. 1075.73 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  7025. 1075.73 s [really-safe-money-gen] + in longDivWithLimit (c * 1) (succ e) ns' (n * 10)
  7026. 1075.73 s [really-safe-money-gen] | otherwise =
  7027. 1075.73 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  7028. 1075.73 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  7029. 1075.74 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
  7030. 1075.74 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7031. 1075.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7032. 1075.74 s [really-safe-money-gen] decimalLiteralP = do
  7033. 1075.74 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7034. 1075.74 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7035. 1075.74 s [really-safe-money-gen] + isSignChar c = c == '-' || not (c == '+')
  7036. 1075.74 s [really-safe-money-gen]
  7037. 1075.74 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7038. 1075.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7039. 1075.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  7040. 1075.74 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7041. 1075.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7042. 1075.74 s [really-safe-money-gen] decimalLiteralP = do
  7043. 1075.74 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7044. 1075.74 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7045. 1075.74 s [really-safe-money-gen] + isSignChar c = False
  7046. 1075.74 s [really-safe-money-gen]
  7047. 1075.74 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7048. 1075.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7049. 1075.74 s [really-safe-money-gen] Testing mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
  7050. 1075.74 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7051. 1075.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7052. 1075.74 s [really-safe-money-gen] decimalLiteralP = do
  7053. 1075.74 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7054. 1075.74 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7055. 1075.74 s [really-safe-money-gen] + isSignChar c = c == '-' && c == '+'
  7056. 1075.74 s [really-safe-money-gen]
  7057. 1075.74 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7058. 1075.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7059. 1075.74 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
  7060. 1075.74 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7061. 1075.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7062. 1075.74 s [really-safe-money-gen] decimalLiteralP = do
  7063. 1075.74 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7064. 1075.74 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7065. 1075.74 s [really-safe-money-gen] + isSignChar c = not (c == '-' || c == '+')
  7066. 1075.74 s [really-safe-money-gen]
  7067. 1075.74 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7068. 1075.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7069. 1075.74 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
  7070. 1075.74 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  7071. 1078.71 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  7072. 1078.71 s [really-safe-money-gen] | S.member n ns = Nothing
  7073. 1078.71 s [really-safe-money-gen] -- Over the limit, stop trying
  7074. 1078.71 s [really-safe-money-gen] - | e >= l = Nothing
  7075. 1078.71 s [really-safe-money-gen] + | not (e >= l) = Nothing
  7076. 1078.71 s [really-safe-money-gen] | n < d =
  7077. 1078.71 s [really-safe-money-gen] let !ns' = S.insert n ns
  7078. 1078.71 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  7079. 1078.71 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
  7080. 1078.71 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  7081. 1078.71 s [really-safe-money-gen] | S.member n ns = Nothing
  7082. 1078.71 s [really-safe-money-gen] -- Over the limit, stop trying
  7083. 1078.71 s [really-safe-money-gen] | e >= l = Nothing
  7084. 1078.72 s [really-safe-money-gen] - | n < d =
  7085. 1078.72 s [really-safe-money-gen] + | not (n < d) =
  7086. 1078.72 s [really-safe-money-gen] let !ns' = S.insert n ns
  7087. 1078.72 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  7088. 1078.72 s [really-safe-money-gen] | otherwise =
  7089. 1078.72 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  7090. 1078.72 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  7091. 1078.72 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  7092. 1078.72 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  7093. 1078.72 s [really-safe-money-gen] Just False -> Nothing
  7094. 1078.72 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  7095. 1078.72 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (0 ^ e)
  7096. 1078.72 s [really-safe-money-gen]
  7097. 1078.72 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  7098. 1078.72 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  7099. 1078.72 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  7100. 1078.72 s [really-safe-money-gen] @@ -367,7 +367,7 @@
  7101. 1078.72 s [really-safe-money-gen] currentDigits = digits dl
  7102. 1078.72 s [really-safe-money-gen] in if wantedDigits <= currentDigits
  7103. 1078.72 s [really-safe-money-gen] then dl
  7104. 1078.72 s [really-safe-money-gen] - else increaseDigits (wantedDigits - currentDigits) dl
  7105. 1078.72 s [really-safe-money-gen] + else increaseDigits (wantedDigits * currentDigits) dl
  7106. 1078.72 s [really-safe-money-gen] where
  7107. 1078.72 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  7108. 1078.72 s [really-safe-money-gen] increaseDigits 0 = id
  7109. 1078.72 s [really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
  7110. 1078.72 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  7111. 1078.72 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  7112. 1078.72 s [really-safe-money-gen] where
  7113. 1078.72 s [really-safe-money-gen] go = \case
  7114. 1078.72 s [really-safe-money-gen] - Nothing -> Just True
  7115. 1078.72 s [really-safe-money-gen] + Nothing -> Just False
  7116. 1078.72 s [really-safe-money-gen] s -> s
  7117. 1078.72 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
  7118. 1078.73 s [really-safe-money-gen] @@ -258,7 +258,7 @@
  7119. 1078.73 s [really-safe-money-gen] Natural ->
  7120. 1078.73 s [really-safe-money-gen] Maybe (Natural, Int)
  7121. 1078.73 s [really-safe-money-gen] longDivWithLimit !c !e _ns 0 =
  7122. 1078.73 s [really-safe-money-gen] - Just (c, e)
  7123. 1078.73 s [really-safe-money-gen] + Nothing
  7124. 1078.73 s [really-safe-money-gen] longDivWithLimit !c !e ns !n
  7125. 1078.73 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  7126. 1078.73 s [really-safe-money-gen] | S.member n ns = Nothing
  7127. 1078.73 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  7128. 1078.73 s [really-safe-money-gen] @@ -367,7 +367,7 @@
  7129. 1078.73 s [really-safe-money-gen] currentDigits = digits dl
  7130. 1078.73 s [really-safe-money-gen] in if wantedDigits <= currentDigits
  7131. 1078.73 s [really-safe-money-gen] then dl
  7132. 1078.73 s [really-safe-money-gen] - else increaseDigits (wantedDigits - currentDigits) dl
  7133. 1078.73 s [really-safe-money-gen] + else increaseDigits (wantedDigits + currentDigits) dl
  7134. 1078.73 s [really-safe-money-gen] where
  7135. 1078.73 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  7136. 1078.73 s [really-safe-money-gen] increaseDigits 0 = id
  7137. 1078.73 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  7138. 1078.73 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7139. 1078.73 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7140. 1078.73 s [really-safe-money-gen]
  7141. 1078.73 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7142. 1078.73 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7143. 1078.73 s [really-safe-money-gen] +step a digit = Just $ a * 0 + fromIntegral digit
  7144. 1078.73 s [really-safe-money-gen] {-# INLINE step #-}
  7145. 1078.73 s [really-safe-money-gen]
  7146. 1078.73 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7147. 1078.73 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  7148. 1078.73 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7149. 1078.73 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7150. 1078.73 s [really-safe-money-gen]
  7151. 1078.73 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7152. 1078.73 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7153. 1078.73 s [really-safe-money-gen] +step a digit = Just $ a * 1 + fromIntegral digit
  7154. 1078.73 s [really-safe-money-gen] {-# INLINE step #-}
  7155. 1078.73 s [really-safe-money-gen]
  7156. 1078.73 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7157. 1078.73 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  7158. 1078.73 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  7159. 1078.73 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7160. 1078.73 s [really-safe-money-gen] parseDigits f z = do
  7161. 1078.73 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  7162. 1078.73 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7163. 1078.73 s [really-safe-money-gen] + let digit = Char.ord c - -48
  7164. 1078.73 s [really-safe-money-gen] case f z digit of
  7165. 1078.73 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  7166. 1078.73 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  7167. 1078.73 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
  7168. 1078.73 s [really-safe-money-gen] @@ -127,7 +127,7 @@
  7169. 1078.73 s [really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
  7170. 1078.73 s [really-safe-money-gen] _ <- ReadP.satisfy (== '.')
  7171. 1078.73 s [really-safe-money-gen]
  7172. 1078.73 s [really-safe-money-gen] - (m, e) <- parseDigits stepFraction (units, 0)
  7173. 1078.73 s [really-safe-money-gen] + (m, e) <- parseDigits stepFraction (units, 1)
  7174. 1078.73 s [really-safe-money-gen]
  7175. 1078.73 s [really-safe-money-gen] pure $ DecimalLiteral mSign m e
  7176. 1078.73 s [really-safe-money-gen]
  7177. 1078.73 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
  7178. 1078.74 s [really-safe-money-gen] @@ -122,7 +122,7 @@
  7179. 1078.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7180. 1078.74 s [really-safe-money-gen] pure $ Just $ signChar == '+'
  7181. 1078.74 s [really-safe-money-gen]
  7182. 1078.74 s [really-safe-money-gen] - units <- parseDigits step 0
  7183. 1078.74 s [really-safe-money-gen] + units <- parseDigits step 1
  7184. 1078.74 s [really-safe-money-gen]
  7185. 1078.74 s [really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
  7186. 1078.74 s [really-safe-money-gen] _ <- ReadP.satisfy (== '.')
  7187. 1078.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  7188. 1078.74 s [really-safe-money-gen] @@ -109,9 +109,8 @@
  7189. 1078.74 s [really-safe-money-gen]
  7190. 1078.74 s [really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
  7191. 1078.74 s [really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
  7192. 1078.74 s [really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
  7193. 1078.74 s [really-safe-money-gen] - Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
  7194. 1078.74 s [really-safe-money-gen] Just dl -> pure dl
  7195. 1078.74 s [really-safe-money-gen]
  7196. 1078.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7197. 1078.74 s [really-safe-money-gen] decimalLiteralP = do
  7198. 1078.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  7199. 1078.74 s [really-safe-money-gen] @@ -109,9 +109,8 @@
  7200. 1078.74 s [really-safe-money-gen]
  7201. 1078.74 s [really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
  7202. 1078.74 s [really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
  7203. 1078.74 s [really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
  7204. 1078.74 s [really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
  7205. 1078.74 s [really-safe-money-gen] - Just dl -> pure dl
  7206. 1078.74 s [really-safe-money-gen]
  7207. 1078.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7208. 1078.74 s [really-safe-money-gen] decimalLiteralP = do
  7209. 1078.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  7210. 1078.74 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  7211. 1078.74 s [really-safe-money-gen]
  7212. 1078.74 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7213. 1078.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7214. 1078.74 s [really-safe-money-gen] - pure $ Just $ signChar == '+'
  7215. 1078.74 s [really-safe-money-gen] + pure $ Just $ True
  7216. 1078.74 s [really-safe-money-gen]
  7217. 1078.74 s [really-safe-money-gen] units <- parseDigits step 0
  7218. 1078.74 s [really-safe-money-gen]
  7219. 1078.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  7220. 1078.74 s [really-safe-money-gen] @@ -83,9 +83,8 @@
  7221. 1078.74 s [really-safe-money-gen] instance NFData DecimalLiteral
  7222. 1078.74 s [really-safe-money-gen]
  7223. 1078.74 s [really-safe-money-gen] instance IsString DecimalLiteral where
  7224. 1078.74 s [really-safe-money-gen] fromString s = case Numeric.DecimalLiteral.fromString s of
  7225. 1078.74 s [really-safe-money-gen] - Nothing -> error $ "Invalid DecimalLiteral: " <> show s
  7226. 1078.74 s [really-safe-money-gen] Just dl -> dl
  7227. 1078.74 s [really-safe-money-gen]
  7228. 1078.74 s [really-safe-money-gen] -- | Parse a decimal literal from a string
  7229. 1078.74 s [really-safe-money-gen] --
  7230. 1078.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  7231. 1078.74 s [really-safe-money-gen] @@ -83,9 +83,8 @@
  7232. 1078.74 s [really-safe-money-gen] instance NFData DecimalLiteral
  7233. 1078.74 s [really-safe-money-gen]
  7234. 1078.74 s [really-safe-money-gen] instance IsString DecimalLiteral where
  7235. 1078.74 s [really-safe-money-gen] fromString s = case Numeric.DecimalLiteral.fromString s of
  7236. 1078.74 s [really-safe-money-gen] Nothing -> error $ "Invalid DecimalLiteral: " <> show s
  7237. 1078.74 s [really-safe-money-gen] - Just dl -> dl
  7238. 1078.74 s [really-safe-money-gen]
  7239. 1078.74 s [really-safe-money-gen] -- | Parse a decimal literal from a string
  7240. 1078.74 s [really-safe-money-gen] --
  7241. 1078.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  7242. 1078.74 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7243. 1078.74 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7244. 1078.74 s [really-safe-money-gen] decimalLiteralP = do
  7245. 1078.74 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7246. 1078.74 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7247. 1078.74 s [really-safe-money-gen] + isSignChar c = True
  7248. 1078.74 s [really-safe-money-gen]
  7249. 1078.74 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7250. 1078.74 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7251. 1078.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7252. 1078.74 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7253. 1078.74 s [really-safe-money-gen]
  7254. 1078.74 s [really-safe-money-gen] -- | See 'Account.distribute'
  7255. 1078.74 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7256. 1078.74 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7257. 1078.74 s [really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7258. 1078.74 s [really-safe-money-gen] DistributedZero -> DistributedZero
  7259. 1084.36 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7260. 1084.36 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7261. 1084.39 s [really-safe-money-gen]
  7262. 1084.39 s [really-safe-money-gen] -- | The result of 'distribute'
  7263. 1084.39 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7264. 1084.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  7265. 1084.39 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7266. 1084.39 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7267. 1084.39 s [really-safe-money-gen] decimalLiteralP = do
  7268. 1084.39 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7269. 1084.39 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7270. 1084.39 s [really-safe-money-gen] + isSignChar c = c == '-' || False
  7271. 1084.39 s [really-safe-money-gen]
  7272. 1084.39 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7273. 1084.39 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7274. 1084.39 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7275. 1084.39 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7276. 1084.39 s [really-safe-money-gen]
  7277. 1084.39 s [really-safe-money-gen] -- | See 'Account.distribute'
  7278. 1084.39 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7279. 1084.39 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7280. 1084.39 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7281. 1084.39 s [really-safe-money-gen] - DistributedZero -> DistributedZero
  7282. 1084.40 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7283. 1084.40 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7284. 1084.40 s [really-safe-money-gen]
  7285. 1084.40 s [really-safe-money-gen] -- | The result of 'distribute'
  7286. 1084.40 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7287. 1084.40 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
  7288. 1084.40 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  7289. 1084.40 s [really-safe-money-gen]
  7290. 1084.40 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7291. 1084.40 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7292. 1084.40 s [really-safe-money-gen] - pure $ Just $ signChar == '+'
  7293. 1084.40 s [really-safe-money-gen] + pure $ Just $ not (signChar == '+')
  7294. 1084.40 s [really-safe-money-gen]
  7295. 1084.40 s [really-safe-money-gen] units <- parseDigits step 0
  7296. 1084.40 s [really-safe-money-gen]
  7297. 1084.40 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  7298. 1084.40 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  7299. 1084.40 s [really-safe-money-gen] go !a (c : cs)
  7300. 1084.40 s [really-safe-money-gen] | Char.isDigit c = do
  7301. 1084.40 s [really-safe-money-gen] _ <- ReadP.get
  7302. 1084.40 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7303. 1084.40 s [really-safe-money-gen] + let digit = Char.ord c - 1
  7304. 1084.40 s [really-safe-money-gen] case f a digit of
  7305. 1084.40 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  7306. 1084.40 s [really-safe-money-gen] Just a' -> go a' cs
  7307. 1084.40 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  7308. 1084.40 s [really-safe-money-gen] @@ -233,7 +233,7 @@
  7309. 1084.40 s [really-safe-money-gen] -- >>> fromRatio (1 % 3)
  7310. 1084.40 s [really-safe-money-gen] -- Nothing
  7311. 1084.40 s [really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
  7312. 1084.40 s [really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
  7313. 1084.40 s [really-safe-money-gen] +fromRatio = fromRationalRepetendLimited -256
  7314. 1084.40 s [really-safe-money-gen] where
  7315. 1084.40 s [really-safe-money-gen] fromRationalRepetendLimited ::
  7316. 1084.40 s [really-safe-money-gen] -- limit
  7317. 1084.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  7318. 1084.41 s [really-safe-money-gen] @@ -284,9 +284,8 @@
  7319. 1084.41 s [really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
  7320. 1084.41 s [really-safe-money-gen] -- Nothing
  7321. 1084.41 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  7322. 1084.41 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  7323. 1084.41 s [really-safe-money-gen] - Just False -> Nothing
  7324. 1084.41 s [really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
  7325. 1084.41 s [really-safe-money-gen]
  7326. 1084.41 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  7327. 1084.41 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  7328. 1084.41 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  7329. 1084.41 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  7330. 1084.41 s [really-safe-money-gen] go !a (c : cs)
  7331. 1084.41 s [really-safe-money-gen] | Char.isDigit c = do
  7332. 1084.41 s [really-safe-money-gen] _ <- ReadP.get
  7333. 1084.41 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7334. 1084.41 s [really-safe-money-gen] + let digit = Char.ord c - 0
  7335. 1084.41 s [really-safe-money-gen] case f a digit of
  7336. 1084.41 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  7337. 1084.41 s [really-safe-money-gen] Just a' -> go a' cs
  7338. 1084.41 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  7339. 1084.41 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  7340. 1084.41 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7341. 1084.41 s [really-safe-money-gen] parseDigits f z = do
  7342. 1084.41 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  7343. 1084.41 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7344. 1084.41 s [really-safe-money-gen] + let digit = Char.ord c + 48
  7345. 1084.41 s [really-safe-money-gen] case f z digit of
  7346. 1084.41 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  7347. 1084.41 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  7348. 1084.41 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  7349. 1084.41 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  7350. 1084.41 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7351. 1084.41 s [really-safe-money-gen] parseDigits f z = do
  7352. 1084.41 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  7353. 1084.41 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7354. 1084.41 s [really-safe-money-gen] + let digit = Char.ord c * 48
  7355. 1084.41 s [really-safe-money-gen] case f z digit of
  7356. 1084.42 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  7357. 1084.42 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  7358. 1084.42 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:127:70-79
  7359. 1084.42 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  7360. 1084.42 s [really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
  7361. 1084.42 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
  7362. 1084.42 s [really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
  7363. 1084.42 s [really-safe-money-gen] -compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
  7364. 1084.42 s [really-safe-money-gen] +compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
  7365. 1084.42 s [really-safe-money-gen]
  7366. 1084.42 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7367. 1084.42 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7368. 1084.42 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:127:70-79
  7369. 1084.42 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  7370. 1084.42 s [really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
  7371. 1084.42 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
  7372. 1084.42 s [really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
  7373. 1084.42 s [really-safe-money-gen] -compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
  7374. 1084.42 s [really-safe-money-gen] +compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 - cr2
  7375. 1084.42 s [really-safe-money-gen]
  7376. 1084.42 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7377. 1084.42 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7378. 1084.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  7379. 1084.42 s [really-safe-money-gen] @@ -113,7 +113,7 @@
  7380. 1084.42 s [really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
  7381. 1084.42 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
  7382. 1084.42 s [really-safe-money-gen] invert :: ConversionRate -> ConversionRate
  7383. 1084.42 s [really-safe-money-gen] -invert (ConversionRate r) = ConversionRate (1 / r)
  7384. 1084.42 s [really-safe-money-gen] +invert (ConversionRate r) = ConversionRate (-1 / r)
  7385. 1084.42 s [really-safe-money-gen]
  7386. 1084.42 s [really-safe-money-gen] -- | Compose two conversion rates
  7387. 1084.42 s [really-safe-money-gen] --
  7388. 1084.42 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  7389. 1084.42 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  7390. 1084.42 s [really-safe-money-gen]
  7391. 1084.42 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7392. 1084.43 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7393. 1084.43 s [really-safe-money-gen] - pure $ Just $ signChar == '+'
  7394. 1084.43 s [really-safe-money-gen] + pure $ Just $ False
  7395. 1084.43 s [really-safe-money-gen]
  7396. 1084.43 s [really-safe-money-gen] units <- parseDigits step 0
  7397. 1084.43 s [really-safe-money-gen]
  7398. 1084.43 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  7399. 1084.43 s [really-safe-money-gen] @@ -106,7 +106,7 @@
  7400. 1084.43 s [really-safe-money-gen]
  7401. 1084.43 s [really-safe-money-gen] -- | One-to-one conversion rate
  7402. 1084.43 s [really-safe-money-gen] oneToOne :: ConversionRate
  7403. 1084.43 s [really-safe-money-gen] -oneToOne = ConversionRate 1
  7404. 1084.43 s [really-safe-money-gen] +oneToOne = ConversionRate -1
  7405. 1084.43 s [really-safe-money-gen]
  7406. 1084.43 s [really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
  7407. 1084.43 s [really-safe-money-gen] --
  7408. 1084.43 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  7409. 1084.43 s [really-safe-money-gen] @@ -106,7 +106,7 @@
  7410. 1084.43 s [really-safe-money-gen]
  7411. 1084.43 s [really-safe-money-gen] -- | One-to-one conversion rate
  7412. 1084.43 s [really-safe-money-gen] oneToOne :: ConversionRate
  7413. 1084.43 s [really-safe-money-gen] -oneToOne = ConversionRate 1
  7414. 1084.43 s [really-safe-money-gen] +oneToOne = ConversionRate 0
  7415. 1084.43 s [really-safe-money-gen]
  7416. 1084.43 s [really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
  7417. 1084.43 s [really-safe-money-gen] --
  7418. 1084.43 s [really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  7419. 1084.43 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7420. 1084.43 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7421. 1084.43 s [really-safe-money-gen] -- Nothing
  7422. 1084.43 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7423. 1084.43 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7424. 1084.43 s [really-safe-money-gen] +fromRational r = if r <= 0 then Nothing else fromRatio (realToFrac r)
  7425. 1084.43 s [really-safe-money-gen]
  7426. 1084.43 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7427. 1084.43 s [really-safe-money-gen] --
  7428. 1084.43 s [really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  7429. 1084.43 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7430. 1084.43 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7431. 1084.43 s [really-safe-money-gen] -- Nothing
  7432. 1084.43 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7433. 1084.44 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7434. 1084.44 s [really-safe-money-gen] +fromRational r = if r > 0 then Nothing else fromRatio (realToFrac r)
  7435. 1084.44 s [really-safe-money-gen]
  7436. 1084.44 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7437. 1084.44 s [really-safe-money-gen] --
  7438. 1084.44 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7439. 1084.44 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7440. 1084.44 s [really-safe-money-gen]
  7441. 1084.44 s [really-safe-money-gen] -- | See 'Account.distribute'
  7442. 1089.75 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7443. 1089.78 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7444. 1089.78 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7445. 1089.78 s [really-safe-money-gen] DistributedZero -> DistributedZero
  7446. 1089.78 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7447. 1089.78 s [really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7448. 1089.78 s [really-safe-money-gen]
  7449. 1089.78 s [really-safe-money-gen] -- | The result of 'distribute'
  7450. 1089.78 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7451. 1089.78 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  7452. 1089.78 s [really-safe-money-gen] @@ -113,7 +113,7 @@
  7453. 1089.78 s [really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
  7454. 1089.78 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
  7455. 1089.78 s [really-safe-money-gen] invert :: ConversionRate -> ConversionRate
  7456. 1089.78 s [really-safe-money-gen] -invert (ConversionRate r) = ConversionRate (1 / r)
  7457. 1089.78 s [really-safe-money-gen] +invert (ConversionRate r) = ConversionRate (0 / r)
  7458. 1089.78 s [really-safe-money-gen]
  7459. 1089.79 s [really-safe-money-gen] -- | Compose two conversion rates
  7460. 1089.79 s [really-safe-money-gen] --
  7461. 1089.79 s [really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:72:21-26
  7462. 1089.79 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7463. 1089.79 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7464. 1089.79 s [really-safe-money-gen] -- Nothing
  7465. 1089.79 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7466. 1089.79 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7467. 1089.79 s [really-safe-money-gen] +fromRational r = if not (r < 0) then Nothing else fromRatio (realToFrac r)
  7468. 1089.79 s [really-safe-money-gen]
  7469. 1089.79 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7470. 1089.79 s [really-safe-money-gen] --
  7471. 1089.79 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:38:56-57
  7472. 1089.79 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7473. 1089.79 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7474. 1089.79 s [really-safe-money-gen] mconcat
  7475. 1089.79 s [really-safe-money-gen] [ genericValidate cr,
  7476. 1089.79 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7477. 1089.79 s [really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 1
  7478. 1089.79 s [really-safe-money-gen] ]
  7479. 1089.79 s [really-safe-money-gen]
  7480. 1089.79 s [really-safe-money-gen] instance NFData ConversionRate
  7481. 1089.79 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  7482. 1089.79 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7483. 1089.79 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7484. 1089.79 s [really-safe-money-gen] mconcat
  7485. 1089.79 s [really-safe-money-gen] [ genericValidate cr,
  7486. 1089.79 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7487. 1089.79 s [really-safe-money-gen] + declare "The rate is nonzero" $ False
  7488. 1089.79 s [really-safe-money-gen] ]
  7489. 1089.79 s [really-safe-money-gen]
  7490. 1089.79 s [really-safe-money-gen] instance NFData ConversionRate
  7491. 1089.79 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7492. 1089.79 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7493. 1089.79 s [really-safe-money-gen]
  7494. 1089.79 s [really-safe-money-gen] -- | See 'Account.distribute'
  7495. 1089.79 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7496. 1089.79 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7497. 1089.79 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7498. 1089.79 s [really-safe-money-gen] DistributedZero -> DistributedZero
  7499. 1089.80 s [really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7500. 1089.80 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7501. 1089.80 s [really-safe-money-gen]
  7502. 1089.80 s [really-safe-money-gen] -- | The result of 'distribute'
  7503. 1089.80 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7504. 1089.80 s [really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:38:41-57
  7505. 1089.80 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7506. 1089.80 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7507. 1089.80 s [really-safe-money-gen] mconcat
  7508. 1089.80 s [really-safe-money-gen] [ genericValidate cr,
  7509. 1089.80 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7510. 1089.80 s [really-safe-money-gen] + declare "The rate is nonzero" $ not (numerator r /= 0)
  7511. 1089.80 s [really-safe-money-gen] ]
  7512. 1089.80 s [really-safe-money-gen]
  7513. 1089.80 s [really-safe-money-gen] instance NFData ConversionRate
  7514. 1089.80 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  7515. 1089.80 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7516. 1089.80 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7517. 1089.80 s [really-safe-money-gen] -- Nothing
  7518. 1089.80 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7519. 1089.80 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7520. 1089.80 s [really-safe-money-gen] +fromRational r = if False then Nothing else fromRatio (realToFrac r)
  7521. 1089.80 s [really-safe-money-gen]
  7522. 1089.80 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7523. 1089.80 s [really-safe-money-gen] --
  7524. 1089.80 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  7525. 1089.80 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7526. 1089.80 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7527. 1089.80 s [really-safe-money-gen] mconcat
  7528. 1089.80 s [really-safe-money-gen] [ genericValidate cr,
  7529. 1089.80 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7530. 1089.80 s [really-safe-money-gen] + declare "The rate is nonzero" $ True
  7531. 1089.80 s [really-safe-money-gen] ]
  7532. 1089.80 s [really-safe-money-gen]
  7533. 1089.80 s [really-safe-money-gen] instance NFData ConversionRate
  7534. 1089.80 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24
  7535. 1089.80 s [really-safe-money-gen] @@ -129,4 +129,4 @@
  7536. 1089.80 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7537. 1089.80 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7538. 1089.80 s [really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
  7539. 1089.80 s [really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
  7540. 1089.80 s [really-safe-money-gen] + cr - fromIntegral qf2 / fromIntegral qf1
  7541. 1089.80 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  7542. 1089.80 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7543. 1089.80 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7544. 1089.81 s [really-safe-money-gen] -- Nothing
  7545. 1089.81 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7546. 1089.81 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7547. 1089.81 s [really-safe-money-gen] +fromRational r = if True then Nothing else fromRatio (realToFrac r)
  7548. 1089.81 s [really-safe-money-gen]
  7549. 1089.81 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7550. 1089.81 s [really-safe-money-gen] --
  7551. 1089.81 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
  7552. 1089.81 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  7553. 1089.81 s [really-safe-money-gen]
  7554. 1089.81 s [really-safe-money-gen] units <- parseDigits step 0
  7555. 1089.81 s [really-safe-money-gen]
  7556. 1089.81 s [really-safe-money-gen] - ReadP.option (DecimalLiteral mSign units 0) $ do
  7557. 1089.81 s [really-safe-money-gen] + ReadP.option (DecimalLiteral mSign units 1) $ do
  7558. 1089.81 s [really-safe-money-gen] _ <- ReadP.satisfy (== '.')
  7559. 1089.81 s [really-safe-money-gen]
  7560. 1089.81 s [really-safe-money-gen] (m, e) <- parseDigits stepFraction (units, 0)
  7561. 1089.81 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24
  7562. 1089.81 s [really-safe-money-gen] @@ -129,4 +129,4 @@
  7563. 1089.81 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7564. 1089.81 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7565. 1089.81 s [really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
  7566. 1089.81 s [really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
  7567. 1089.81 s [really-safe-money-gen] + cr + fromIntegral qf2 / fromIntegral qf1
  7568. 1089.81 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:72:25-26
  7569. 1089.81 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7570. 1089.81 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7571. 1089.81 s [really-safe-money-gen] -- Nothing
  7572. 1089.81 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7573. 1089.81 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7574. 1089.81 s [really-safe-money-gen] +fromRational r = if r < 1 then Nothing else fromRatio (realToFrac r)
  7575. 1089.81 s [really-safe-money-gen]
  7576. 1089.81 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7577. 1089.81 s [really-safe-money-gen] --
  7578. 1089.81 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  7579. 1089.81 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  7580. 1089.81 s [really-safe-money-gen] else pure r
  7581. 1089.81 s [really-safe-money-gen]
  7582. 1089.81 s [really-safe-money-gen] rat <-
  7583. 1089.81 s [really-safe-money-gen] - let r = 1 / irat
  7584. 1089.81 s [really-safe-money-gen] + let r = -1 / irat
  7585. 1089.82 s [really-safe-money-gen] in if r < 0
  7586. 1089.82 s [really-safe-money-gen] then Nothing
  7587. 1089.82 s [really-safe-money-gen] else Just r
  7588. 1089.82 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  7589. 1089.82 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7590. 1089.82 s [really-safe-money-gen]
  7591. 1089.82 s [really-safe-money-gen] rat <-
  7592. 1089.82 s [really-safe-money-gen] let r = 1 / irat
  7593. 1089.82 s [really-safe-money-gen] - in if r < 0
  7594. 1089.82 s [really-safe-money-gen] + in if r > 0
  7595. 1089.82 s [really-safe-money-gen] then Nothing
  7596. 1089.82 s [really-safe-money-gen] else Just r
  7597. 1089.82 s [really-safe-money-gen]
  7598. 1089.82 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  7599. 1089.82 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7600. 1089.82 s [really-safe-money-gen]
  7601. 1089.82 s [really-safe-money-gen] rat <-
  7602. 1089.82 s [really-safe-money-gen] let r = 1 / irat
  7603. 1089.82 s [really-safe-money-gen] - in if r < 0
  7604. 1089.82 s [really-safe-money-gen] + in if r >= 0
  7605. 1089.82 s [really-safe-money-gen] then Nothing
  7606. 1089.82 s [really-safe-money-gen] else Just r
  7607. 1089.82 s [really-safe-money-gen]
  7608. 1089.82 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  7609. 1089.82 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  7610. 1089.82 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  7611. 1089.82 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  7612. 1089.82 s [really-safe-money-gen] Just False -> Nothing
  7613. 1089.82 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  7614. 1089.82 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
  7615. 1089.82 s [really-safe-money-gen]
  7616. 1089.82 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  7617. 1089.82 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  7618. 1089.82 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  7619. 1089.82 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7620. 1089.82 s [really-safe-money-gen]
  7621. 1089.82 s [really-safe-money-gen] rat <-
  7622. 1089.82 s [really-safe-money-gen] let r = 1 / irat
  7623. 1089.82 s [really-safe-money-gen] - in if r < 0
  7624. 1098.12 s [really-safe-money-gen] + in if r <= 0
  7625. 1098.14 s [really-safe-money-gen] then Nothing
  7626. 1098.14 s [really-safe-money-gen] else Just r
  7627. 1098.14 s [really-safe-money-gen]
  7628. 1098.14 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  7629. 1098.14 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7630. 1098.14 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7631. 1098.15 s [really-safe-money-gen] irat <-
  7632. 1098.15 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7633. 1098.15 s [really-safe-money-gen] - in if numerator r == 0
  7634. 1098.15 s [really-safe-money-gen] + in if True
  7635. 1098.15 s [really-safe-money-gen] then Nothing
  7636. 1098.15 s [really-safe-money-gen] else pure r
  7637. 1098.15 s [really-safe-money-gen]
  7638. 1098.15 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  7639. 1098.15 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7640. 1098.15 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7641. 1098.15 s [really-safe-money-gen] irat <-
  7642. 1098.15 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7643. 1098.15 s [really-safe-money-gen] - in if numerator r == 0
  7644. 1098.15 s [really-safe-money-gen] + in if False
  7645. 1098.15 s [really-safe-money-gen] then Nothing
  7646. 1098.15 s [really-safe-money-gen] else pure r
  7647. 1098.15 s [really-safe-money-gen]
  7648. 1098.15 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
  7649. 1098.15 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7650. 1098.15 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7651. 1098.15 s [really-safe-money-gen] irat <-
  7652. 1098.15 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7653. 1098.15 s [really-safe-money-gen] - in if numerator r == 0
  7654. 1098.15 s [really-safe-money-gen] + in if not (numerator r == 0)
  7655. 1098.15 s [really-safe-money-gen] then Nothing
  7656. 1098.15 s [really-safe-money-gen] else pure r
  7657. 1098.15 s [really-safe-money-gen]
  7658. 1098.15 s [really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  7659. 1098.15 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7660. 1098.15 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7661. 1098.15 s [really-safe-money-gen] -- Nothing
  7662. 1098.16 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7663. 1098.16 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7664. 1098.16 s [really-safe-money-gen] +fromRational r = if r >= 0 then Nothing else fromRatio (realToFrac r)
  7665. 1098.16 s [really-safe-money-gen]
  7666. 1098.16 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7667. 1098.16 s [really-safe-money-gen] --
  7668. 1098.16 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
  7669. 1098.16 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7670. 1098.16 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7671. 1098.16 s [really-safe-money-gen] irat <-
  7672. 1098.16 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7673. 1098.16 s [really-safe-money-gen] - in if numerator r == 0
  7674. 1098.16 s [really-safe-money-gen] + in if numerator r == 1
  7675. 1098.16 s [really-safe-money-gen] then Nothing
  7676. 1098.16 s [really-safe-money-gen] else pure r
  7677. 1098.16 s [really-safe-money-gen]
  7678. 1098.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  7679. 1098.16 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7680. 1098.16 s [really-safe-money-gen]
  7681. 1098.16 s [really-safe-money-gen] rat <-
  7682. 1098.16 s [really-safe-money-gen] let r = 1 / irat
  7683. 1098.16 s [really-safe-money-gen] - in if r < 0
  7684. 1098.16 s [really-safe-money-gen] + in if True
  7685. 1098.16 s [really-safe-money-gen] then Nothing
  7686. 1098.16 s [really-safe-money-gen] else Just r
  7687. 1098.16 s [really-safe-money-gen]
  7688. 1098.16 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
  7689. 1098.16 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7690. 1098.17 s [really-safe-money-gen] else Just r
  7691. 1098.17 s [really-safe-money-gen]
  7692. 1098.17 s [really-safe-money-gen] fac <-
  7693. 1098.17 s [really-safe-money-gen] - if denominator rat == 1
  7694. 1098.17 s [really-safe-money-gen] + if not (denominator rat == 1)
  7695. 1098.17 s [really-safe-money-gen] then Just (numerator rat)
  7696. 1098.17 s [really-safe-money-gen] else Nothing
  7697. 1098.17 s [really-safe-money-gen]
  7698. 1098.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  7699. 1098.17 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7700. 1098.17 s [really-safe-money-gen] else Just r
  7701. 1098.17 s [really-safe-money-gen]
  7702. 1098.17 s [really-safe-money-gen] fac <-
  7703. 1098.17 s [really-safe-money-gen] - if denominator rat == 1
  7704. 1098.17 s [really-safe-money-gen] + if True
  7705. 1098.17 s [really-safe-money-gen] then Just (numerator rat)
  7706. 1098.17 s [really-safe-money-gen] else Nothing
  7707. 1098.17 s [really-safe-money-gen]
  7708. 1098.17 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  7709. 1098.17 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7710. 1098.17 s [really-safe-money-gen] else Just r
  7711. 1098.17 s [really-safe-money-gen]
  7712. 1098.17 s [really-safe-money-gen] fac <-
  7713. 1098.17 s [really-safe-money-gen] - if denominator rat == 1
  7714. 1098.17 s [really-safe-money-gen] + if denominator rat == -1
  7715. 1098.17 s [really-safe-money-gen] then Just (numerator rat)
  7716. 1098.17 s [really-safe-money-gen] else Nothing
  7717. 1098.17 s [really-safe-money-gen]
  7718. 1098.18 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  7719. 1098.18 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7720. 1098.18 s [really-safe-money-gen] else Just r
  7721. 1098.18 s [really-safe-money-gen]
  7722. 1098.18 s [really-safe-money-gen] fac <-
  7723. 1098.18 s [really-safe-money-gen] - if denominator rat == 1
  7724. 1098.18 s [really-safe-money-gen] + if denominator rat == 0
  7725. 1098.18 s [really-safe-money-gen] then Just (numerator rat)
  7726. 1098.18 s [really-safe-money-gen] else Nothing
  7727. 1098.18 s [really-safe-money-gen]
  7728. 1098.18 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
  7729. 1098.18 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7730. 1098.18 s [really-safe-money-gen]
  7731. 1098.18 s [really-safe-money-gen] rat <-
  7732. 1098.18 s [really-safe-money-gen] let r = 1 / irat
  7733. 1098.18 s [really-safe-money-gen] - in if r < 0
  7734. 1098.18 s [really-safe-money-gen] + in if r < 1
  7735. 1098.18 s [really-safe-money-gen] then Nothing
  7736. 1098.18 s [really-safe-money-gen] else Just r
  7737. 1098.18 s [really-safe-money-gen]
  7738. 1098.18 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  7739. 1098.18 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7740. 1098.18 s [really-safe-money-gen]
  7741. 1098.19 s [really-safe-money-gen] rat <-
  7742. 1098.19 s [really-safe-money-gen] let r = 1 / irat
  7743. 1098.19 s [really-safe-money-gen] - in if r < 0
  7744. 1098.19 s [really-safe-money-gen] + in if False
  7745. 1098.19 s [really-safe-money-gen] then Nothing
  7746. 1098.19 s [really-safe-money-gen] else Just r
  7747. 1098.19 s [really-safe-money-gen]
  7748. 1098.19 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
  7749. 1098.19 s [really-safe-money-gen] @@ -92,7 +92,7 @@
  7750. 1098.19 s [really-safe-money-gen] let r = 1 / irat
  7751. 1098.19 s [really-safe-money-gen] in if r < 0
  7752. 1098.19 s [really-safe-money-gen] then Nothing
  7753. 1098.19 s [really-safe-money-gen] - else Just r
  7754. 1098.19 s [really-safe-money-gen] + else Nothing
  7755. 1098.19 s [really-safe-money-gen]
  7756. 1098.19 s [really-safe-money-gen] fac <-
  7757. 1098.19 s [really-safe-money-gen] if denominator rat == 1
  7758. 1098.19 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  7759. 1098.19 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7760. 1098.19 s [really-safe-money-gen] else Just r
  7761. 1098.19 s [really-safe-money-gen]
  7762. 1098.19 s [really-safe-money-gen] fac <-
  7763. 1098.19 s [really-safe-money-gen] - if denominator rat == 1
  7764. 1098.19 s [really-safe-money-gen] + if False
  7765. 1098.19 s [really-safe-money-gen] then Just (numerator rat)
  7766. 1098.19 s [really-safe-money-gen] else Nothing
  7767. 1098.20 s [really-safe-money-gen]
  7768. 1098.20 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  7769. 1098.20 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7770. 1098.20 s [really-safe-money-gen] then Just (numerator rat)
  7771. 1098.20 s [really-safe-money-gen] else Nothing
  7772. 1098.20 s [really-safe-money-gen]
  7773. 1098.20 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7774. 1098.20 s [really-safe-money-gen] + if fac < fromIntegral (maxBound :: Word32)
  7775. 1098.20 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7776. 1098.20 s [really-safe-money-gen] else Nothing
  7777. 1098.20 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
  7778. 1098.20 s [really-safe-money-gen] @@ -96,7 +96,7 @@
  7779. 1098.20 s [really-safe-money-gen]
  7780. 1098.20 s [really-safe-money-gen] fac <-
  7781. 1098.20 s [really-safe-money-gen] if denominator rat == 1
  7782. 1098.20 s [really-safe-money-gen] - then Just (numerator rat)
  7783. 1098.20 s [really-safe-money-gen] + then Nothing
  7784. 1098.20 s [really-safe-money-gen] else Nothing
  7785. 1098.20 s [really-safe-money-gen]
  7786. 1098.20 s [really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
  7787. 1098.20 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
  7788. 1098.20 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7789. 1098.20 s [really-safe-money-gen]
  7790. 1098.20 s [really-safe-money-gen] rat <-
  7791. 1098.20 s [really-safe-money-gen] let r = 1 / irat
  7792. 1098.20 s [really-safe-money-gen] - in if r < 0
  7793. 1098.21 s [really-safe-money-gen] + in if not (r < 0)
  7794. 1098.21 s [really-safe-money-gen] then Nothing
  7795. 1098.21 s [really-safe-money-gen] else Just r
  7796. 1098.21 s [really-safe-money-gen]
  7797. 1098.21 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
  7798. 1098.21 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7799. 1098.21 s [really-safe-money-gen] then Just (numerator rat)
  7800. 1098.21 s [really-safe-money-gen] else Nothing
  7801. 1098.21 s [really-safe-money-gen]
  7802. 1098.21 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7803. 1098.21 s [really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
  7804. 1098.21 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7805. 1098.21 s [really-safe-money-gen] else Nothing
  7806. 1098.21 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  7807. 1098.21 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7808. 1098.21 s [really-safe-money-gen] then Just (numerator rat)
  7809. 1098.21 s [really-safe-money-gen] else Nothing
  7810. 1098.21 s [really-safe-money-gen]
  7811. 1098.21 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7812. 1098.21 s [really-safe-money-gen] + if False
  7813. 1098.21 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7814. 1098.21 s [really-safe-money-gen] else Nothing
  7815. 1098.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  7816. 1098.21 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7817. 1098.22 s [really-safe-money-gen] then Just (numerator rat)
  7818. 1098.22 s [really-safe-money-gen] else Nothing
  7819. 1098.22 s [really-safe-money-gen]
  7820. 1098.22 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7821. 1098.22 s [really-safe-money-gen] + if fac >= fromIntegral (maxBound :: Word32)
  7822. 1098.22 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7823. 1098.22 s [really-safe-money-gen] else Nothing
  7824. 1098.22 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  7825. 1098.22 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7826. 1098.22 s [really-safe-money-gen] then Just (numerator rat)
  7827. 1098.22 s [really-safe-money-gen] else Nothing
  7828. 1098.22 s [really-safe-money-gen]
  7829. 1098.22 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7830. 1098.22 s [really-safe-money-gen] + if fac > fromIntegral (maxBound :: Word32)
  7831. 1098.22 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7832. 1098.22 s [really-safe-money-gen] else Nothing
  7833. 1098.22 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
  7834. 1098.22 s [really-safe-money-gen] @@ -100,5 +100,5 @@
  7835. 1098.22 s [really-safe-money-gen] else Nothing
  7836. 1098.22 s [really-safe-money-gen]
  7837. 1098.22 s [really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
  7838. 1098.22 s [really-safe-money-gen] - then Just (QuantisationFactor (fromIntegral fac))
  7839. 1098.23 s [really-safe-money-gen] + then Nothing
  7840. 1098.23 s [really-safe-money-gen] else Nothing
  7841. 1105.54 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  7842. 1105.54 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  7843. 1105.57 s [really-safe-money-gen] else pure r
  7844. 1105.57 s [really-safe-money-gen]
  7845. 1105.57 s [really-safe-money-gen] rat <-
  7846. 1105.57 s [really-safe-money-gen] - let r = 1 / irat
  7847. 1105.57 s [really-safe-money-gen] + let r = 0 / irat
  7848. 1105.57 s [really-safe-money-gen] in if r < 0
  7849. 1105.57 s [really-safe-money-gen] then Nothing
  7850. 1105.57 s [really-safe-money-gen] else Just r
  7851. 1105.58 s [really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  7852. 1105.58 s [really-safe-money-gen] @@ -34,9 +34,8 @@
  7853. 1105.58 s [really-safe-money-gen] instance Validity ConversionRate where
  7854. 1105.58 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7855. 1105.58 s [really-safe-money-gen] mconcat
  7856. 1105.58 s [really-safe-money-gen] - [ genericValidate cr,
  7857. 1105.58 s [really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
  7858. 1105.58 s [really-safe-money-gen] ]
  7859. 1105.58 s [really-safe-money-gen]
  7860. 1105.58 s [really-safe-money-gen] instance NFData ConversionRate
  7861. 1105.58 s [really-safe-money-gen]
  7862. 1105.58 s [really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  7863. 1105.58 s [really-safe-money-gen] @@ -34,9 +34,7 @@
  7864. 1105.58 s [really-safe-money-gen] instance Validity ConversionRate where
  7865. 1105.58 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7866. 1105.58 s [really-safe-money-gen] mconcat
  7867. 1105.58 s [really-safe-money-gen] - [ genericValidate cr,
  7868. 1105.58 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7869. 1105.58 s [really-safe-money-gen] ]
  7870. 1105.58 s [really-safe-money-gen]
  7871. 1105.58 s [really-safe-money-gen] instance NFData ConversionRate
  7872. 1105.58 s [really-safe-money-gen]
  7873. 1105.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  7874. 1105.58 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7875. 1105.58 s [really-safe-money-gen] then Just (numerator rat)
  7876. 1105.58 s [really-safe-money-gen] else Nothing
  7877. 1105.58 s [really-safe-money-gen]
  7878. 1105.58 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7879. 1105.58 s [really-safe-money-gen] + if True
  7880. 1105.58 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7881. 1105.58 s [really-safe-money-gen] else Nothing
  7882. 1105.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  7883. 1105.58 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7884. 1105.58 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7885. 1105.58 s [really-safe-money-gen] mconcat
  7886. 1105.58 s [really-safe-money-gen] [ genericValidate qf,
  7887. 1105.58 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7888. 1105.58 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
  7889. 1105.58 s [really-safe-money-gen] ]
  7890. 1105.58 s [really-safe-money-gen]
  7891. 1105.59 s [really-safe-money-gen] instance NFData QuantisationFactor
  7892. 1105.59 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  7893. 1105.59 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7894. 1105.59 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7895. 1105.59 s [really-safe-money-gen] mconcat
  7896. 1105.59 s [really-safe-money-gen] [ genericValidate qf,
  7897. 1105.59 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7898. 1105.59 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
  7899. 1105.59 s [really-safe-money-gen] ]
  7900. 1105.59 s [really-safe-money-gen]
  7901. 1105.59 s [really-safe-money-gen] instance NFData QuantisationFactor
  7902. 1105.59 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
  7903. 1105.59 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  7904. 1105.59 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  7905. 1105.59 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  7906. 1105.59 s [really-safe-money-gen] let decimals :: Int
  7907. 1105.59 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  7908. 1105.59 s [really-safe-money-gen] + decimals = ceiling $ logBase 0 (fromIntegral qf :: Float)
  7909. 1105.59 s [really-safe-money-gen] in printf "%%0.%df" decimals
  7910. 1105.59 s [really-safe-money-gen]
  7911. 1105.59 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  7912. 1105.59 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
  7913. 1105.59 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7914. 1105.59 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7915. 1105.59 s [really-safe-money-gen] mconcat
  7916. 1105.59 s [really-safe-money-gen] [ genericValidate qf,
  7917. 1105.59 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7918. 1105.59 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
  7919. 1105.59 s [really-safe-money-gen] ]
  7920. 1105.59 s [really-safe-money-gen]
  7921. 1105.59 s [really-safe-money-gen] instance NFData QuantisationFactor
  7922. 1105.59 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  7923. 1105.59 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  7924. 1105.59 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  7925. 1105.59 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  7926. 1105.59 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  7927. 1105.59 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  7928. 1105.59 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (0 % fromIntegral qfw)
  7929. 1105.59 s [really-safe-money-gen]
  7930. 1105.59 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  7931. 1105.59 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  7932. 1105.59 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  7933. 1105.59 s [really-safe-money-gen] @@ -36,9 +36,7 @@
  7934. 1105.59 s [really-safe-money-gen] instance Validity QuantisationFactor where
  7935. 1105.59 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7936. 1105.59 s [really-safe-money-gen] mconcat
  7937. 1105.59 s [really-safe-money-gen] - [ genericValidate qf,
  7938. 1105.59 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7939. 1105.59 s [really-safe-money-gen] ]
  7940. 1105.59 s [really-safe-money-gen]
  7941. 1105.59 s [really-safe-money-gen] instance NFData QuantisationFactor
  7942. 1105.59 s [really-safe-money-gen]
  7943. 1105.59 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
  7944. 1105.59 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  7945. 1105.59 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  7946. 1105.59 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  7947. 1105.59 s [really-safe-money-gen] let decimals :: Int
  7948. 1105.59 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  7949. 1105.59 s [really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
  7950. 1105.59 s [really-safe-money-gen] in printf "%%0.%df" decimals
  7951. 1105.59 s [really-safe-money-gen]
  7952. 1105.59 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  7953. 1105.59 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:721:10-44
  7954. 1105.59 s [really-safe-money-gen] @@ -718,7 +718,7 @@
  7955. 1105.60 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  7956. 1105.60 s [really-safe-money-gen] ConversionRate.fromRatio $
  7957. 1105.60 s [really-safe-money-gen] (fromIntegral a2 * fromIntegral qf1)
  7958. 1105.60 s [really-safe-money-gen] - % (fromIntegral a1 * fromIntegral qf2)
  7959. 1105.60 s [really-safe-money-gen] + % (fromIntegral a1 + fromIntegral qf2)
  7960. 1105.60 s [really-safe-money-gen]
  7961. 1105.60 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  7962. 1105.60 s [really-safe-money-gen] -- another currency using a conversion rate.
  7963. 1105.60 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  7964. 1105.60 s [really-safe-money-gen] @@ -36,9 +36,8 @@
  7965. 1105.60 s [really-safe-money-gen] instance Validity QuantisationFactor where
  7966. 1105.60 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7967. 1105.60 s [really-safe-money-gen] mconcat
  7968. 1105.60 s [really-safe-money-gen] - [ genericValidate qf,
  7969. 1105.60 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  7970. 1105.60 s [really-safe-money-gen] ]
  7971. 1105.60 s [really-safe-money-gen]
  7972. 1105.60 s [really-safe-money-gen] instance NFData QuantisationFactor
  7973. 1105.60 s [really-safe-money-gen]
  7974. 1105.60 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:577:39-63
  7975. 1105.60 s [really-safe-money-gen] @@ -574,7 +574,7 @@
  7976. 1105.60 s [really-safe-money-gen] numberOfLargerChunks :: Word32
  7977. 1105.60 s [really-safe-money-gen] numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
  7978. 1105.60 s [really-safe-money-gen] numberOfSmallerChunks :: Word32
  7979. 1105.60 s [really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
  7980. 1105.60 s [really-safe-money-gen] + numberOfSmallerChunks = f + numberOfLargerChunks
  7981. 1105.60 s [really-safe-money-gen] largerChunk :: Amount
  7982. 1105.60 s [really-safe-money-gen] largerChunk = Amount $ succ smallerChunkSize
  7983. 1105.60 s [really-safe-money-gen] in DistributedIntoUnequalChunks
  7984. 1105.60 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:720:6-40
  7985. 1105.60 s [really-safe-money-gen] @@ -717,7 +717,7 @@
  7986. 1105.60 s [really-safe-money-gen] rate _ _ _ (Amount 0) = Nothing
  7987. 1105.60 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  7988. 1105.60 s [really-safe-money-gen] ConversionRate.fromRatio $
  7989. 1105.60 s [really-safe-money-gen] - (fromIntegral a2 * fromIntegral qf1)
  7990. 1105.60 s [really-safe-money-gen] + (fromIntegral a2 + fromIntegral qf1)
  7991. 1105.60 s [really-safe-money-gen] % (fromIntegral a1 * fromIntegral qf2)
  7992. 1105.60 s [really-safe-money-gen]
  7993. 1105.60 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  7994. 1105.60 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:569:10-19
  7995. 1105.60 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  7996. 1105.60 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  7997. 1105.60 s [really-safe-money-gen] smallerChunk :: Amount
  7998. 1105.60 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  7999. 1105.60 s [really-safe-money-gen] - in if rest == 0
  8000. 1105.60 s [really-safe-money-gen] + in if not (rest == 0)
  8001. 1105.60 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  8002. 1105.60 s [really-safe-money-gen] else
  8003. 1105.60 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  8004. 1105.60 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:543:11-88
  8005. 1105.60 s [really-safe-money-gen] @@ -540,7 +540,7 @@
  8006. 1105.60 s [really-safe-money-gen] let maxBoundI :: Integer
  8007. 1105.60 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8008. 1105.60 s [really-safe-money-gen] r :: Integer
  8009. 1105.60 s [really-safe-money-gen] - r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8010. 1105.60 s [really-safe-money-gen] + r = (fromIntegral :: Word32 -> Integer) f + (fromIntegral :: Word64 -> Integer) a
  8011. 1105.60 s [really-safe-money-gen] in if r > maxBoundI
  8012. 1105.60 s [really-safe-money-gen] then Nothing
  8013. 1105.60 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8014. 1105.60 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
  8015. 1105.60 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8016. 1105.60 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8017. 1105.60 s [really-safe-money-gen] r :: Integer
  8018. 1105.60 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8019. 1112.61 s [really-safe-money-gen] - in if r > maxBoundI
  8020. 1112.61 s [really-safe-money-gen] + in if r < maxBoundI
  8021. 1112.66 s [really-safe-money-gen] then Nothing
  8022. 1112.66 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8023. 1112.66 s [really-safe-money-gen]
  8024. 1112.66 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:543:11-88
  8025. 1112.66 s [really-safe-money-gen] @@ -540,7 +540,7 @@
  8026. 1112.66 s [really-safe-money-gen] let maxBoundI :: Integer
  8027. 1112.66 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8028. 1112.66 s [really-safe-money-gen] r :: Integer
  8029. 1112.67 s [really-safe-money-gen] - r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8030. 1112.67 s [really-safe-money-gen] + r = (fromIntegral :: Word32 -> Integer) f - (fromIntegral :: Word64 -> Integer) a
  8031. 1112.67 s [really-safe-money-gen] in if r > maxBoundI
  8032. 1112.67 s [really-safe-money-gen] then Nothing
  8033. 1112.67 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8034. 1112.67 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
  8035. 1112.67 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8036. 1112.67 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8037. 1112.67 s [really-safe-money-gen] r :: Integer
  8038. 1112.67 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8039. 1112.67 s [really-safe-money-gen] - in if r > maxBoundI
  8040. 1112.67 s [really-safe-money-gen] + in if r >= maxBoundI
  8041. 1112.67 s [really-safe-money-gen] then Nothing
  8042. 1112.67 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8043. 1112.67 s [really-safe-money-gen]
  8044. 1112.67 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
  8045. 1112.67 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8046. 1112.67 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8047. 1112.67 s [really-safe-money-gen] r :: Integer
  8048. 1112.67 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8049. 1112.67 s [really-safe-money-gen] - in if r > maxBoundI
  8050. 1112.67 s [really-safe-money-gen] + in if True
  8051. 1112.67 s [really-safe-money-gen] then Nothing
  8052. 1112.67 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8053. 1112.67 s [really-safe-money-gen]
  8054. 1112.67 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
  8055. 1112.67 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8056. 1112.67 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8057. 1112.67 s [really-safe-money-gen] r :: Integer
  8058. 1112.67 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8059. 1112.67 s [really-safe-money-gen] - in if r > maxBoundI
  8060. 1112.67 s [really-safe-money-gen] + in if False
  8061. 1112.67 s [really-safe-money-gen] then Nothing
  8062. 1112.67 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8063. 1112.67 s [really-safe-money-gen]
  8064. 1112.67 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
  8065. 1112.67 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8066. 1112.67 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8067. 1112.67 s [really-safe-money-gen] r :: Integer
  8068. 1112.67 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8069. 1112.67 s [really-safe-money-gen] - in if r > maxBoundI
  8070. 1112.67 s [really-safe-money-gen] + in if r <= maxBoundI
  8071. 1112.68 s [really-safe-money-gen] then Nothing
  8072. 1112.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8073. 1112.68 s [really-safe-money-gen]
  8074. 1112.68 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:544:10-23
  8075. 1112.68 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8076. 1112.68 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8077. 1112.68 s [really-safe-money-gen] r :: Integer
  8078. 1112.68 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8079. 1112.68 s [really-safe-money-gen] - in if r > maxBoundI
  8080. 1112.68 s [really-safe-money-gen] + in if not (r > maxBoundI)
  8081. 1112.68 s [really-safe-money-gen] then Nothing
  8082. 1112.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8083. 1112.68 s [really-safe-money-gen]
  8084. 1112.68 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:546:14-66
  8085. 1112.68 s [really-safe-money-gen] @@ -543,7 +543,7 @@
  8086. 1112.68 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8087. 1112.68 s [really-safe-money-gen] in if r > maxBoundI
  8088. 1112.68 s [really-safe-money-gen] then Nothing
  8089. 1112.68 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8090. 1112.68 s [really-safe-money-gen] + else Nothing
  8091. 1112.68 s [really-safe-money-gen]
  8092. 1112.68 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  8093. 1112.68 s [really-safe-money-gen] --
  8094. 1112.68 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:577:39-63
  8095. 1112.68 s [really-safe-money-gen] @@ -574,7 +574,7 @@
  8096. 1112.68 s [really-safe-money-gen] numberOfLargerChunks :: Word32
  8097. 1112.68 s [really-safe-money-gen] numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
  8098. 1112.68 s [really-safe-money-gen] numberOfSmallerChunks :: Word32
  8099. 1112.68 s [really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
  8100. 1112.68 s [really-safe-money-gen] + numberOfSmallerChunks = f * numberOfLargerChunks
  8101. 1112.68 s [really-safe-money-gen] largerChunk :: Amount
  8102. 1112.68 s [really-safe-money-gen] largerChunk = Amount $ succ smallerChunkSize
  8103. 1112.68 s [really-safe-money-gen] in DistributedIntoUnequalChunks
  8104. 1112.68 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:517:11-18
  8105. 1112.68 s [really-safe-money-gen] @@ -514,7 +514,7 @@
  8106. 1112.68 s [really-safe-money-gen] i2 :: Integer
  8107. 1112.68 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8108. 1112.68 s [really-safe-money-gen] r :: Integer
  8109. 1112.68 s [really-safe-money-gen] - r = i1 - i2
  8110. 1112.68 s [really-safe-money-gen] + r = i1 + i2
  8111. 1112.68 s [really-safe-money-gen] in if r < 0
  8112. 1112.68 s [really-safe-money-gen] then Nothing
  8113. 1112.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8114. 1112.68 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15
  8115. 1112.68 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8116. 1112.68 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8117. 1112.68 s [really-safe-money-gen] r :: Integer
  8118. 1112.68 s [really-safe-money-gen] r = i1 - i2
  8119. 1112.68 s [really-safe-money-gen] - in if r < 0
  8120. 1112.68 s [really-safe-money-gen] + in if r < 1
  8121. 1112.68 s [really-safe-money-gen] then Nothing
  8122. 1112.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8123. 1112.68 s [really-safe-money-gen]
  8124. 1112.68 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:517:11-18
  8125. 1112.68 s [really-safe-money-gen] @@ -514,7 +514,7 @@
  8126. 1112.68 s [really-safe-money-gen] i2 :: Integer
  8127. 1112.68 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8128. 1112.68 s [really-safe-money-gen] r :: Integer
  8129. 1112.68 s [really-safe-money-gen] - r = i1 - i2
  8130. 1112.68 s [really-safe-money-gen] + r = i1 * i2
  8131. 1112.69 s [really-safe-money-gen] in if r < 0
  8132. 1112.69 s [really-safe-money-gen] then Nothing
  8133. 1112.69 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8134. 1112.69 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
  8135. 1112.69 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  8136. 1112.69 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  8137. 1112.69 s [really-safe-money-gen] mconcat
  8138. 1112.69 s [really-safe-money-gen] [ genericValidate qf,
  8139. 1112.69 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  8140. 1112.69 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
  8141. 1112.69 s [really-safe-money-gen] ]
  8142. 1112.69 s [really-safe-money-gen]
  8143. 1112.69 s [really-safe-money-gen] instance NFData QuantisationFactor
  8144. 1112.69 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:518:10-15
  8145. 1112.69 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8146. 1112.69 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8147. 1112.69 s [really-safe-money-gen] r :: Integer
  8148. 1112.69 s [really-safe-money-gen] r = i1 - i2
  8149. 1112.69 s [really-safe-money-gen] - in if r < 0
  8150. 1112.69 s [really-safe-money-gen] + in if not (r < 0)
  8151. 1112.69 s [really-safe-money-gen] then Nothing
  8152. 1112.69 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8153. 1112.69 s [really-safe-money-gen]
  8154. 1112.69 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:520:14-66
  8155. 1112.69 s [really-safe-money-gen] @@ -517,7 +517,7 @@
  8156. 1112.69 s [really-safe-money-gen] r = i1 - i2
  8157. 1112.69 s [really-safe-money-gen] in if r < 0
  8158. 1112.69 s [really-safe-money-gen] then Nothing
  8159. 1112.69 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8160. 1112.69 s [really-safe-money-gen] + else Nothing
  8161. 1112.69 s [really-safe-money-gen]
  8162. 1112.69 s [really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
  8163. 1112.69 s [really-safe-money-gen] --
  8164. 1112.69 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:720:6-40
  8165. 1112.69 s [really-safe-money-gen] @@ -717,7 +717,7 @@
  8166. 1112.69 s [really-safe-money-gen] rate _ _ _ (Amount 0) = Nothing
  8167. 1112.69 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  8168. 1112.69 s [really-safe-money-gen] ConversionRate.fromRatio $
  8169. 1112.69 s [really-safe-money-gen] - (fromIntegral a2 * fromIntegral qf1)
  8170. 1112.69 s [really-safe-money-gen] + (fromIntegral a2 - fromIntegral qf1)
  8171. 1112.69 s [really-safe-money-gen] % (fromIntegral a1 * fromIntegral qf2)
  8172. 1112.69 s [really-safe-money-gen]
  8173. 1112.69 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  8174. 1112.69 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
  8175. 1112.69 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  8176. 1112.69 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  8177. 1112.69 s [really-safe-money-gen] smallerChunk :: Amount
  8178. 1112.69 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  8179. 1112.69 s [really-safe-money-gen] - in if rest == 0
  8180. 1112.69 s [really-safe-money-gen] + in if False
  8181. 1112.69 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  8182. 1112.69 s [really-safe-money-gen] else
  8183. 1112.69 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  8184. 1112.69 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
  8185. 1112.70 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8186. 1112.70 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8187. 1112.70 s [really-safe-money-gen] r :: Integer
  8188. 1119.50 s [really-safe-money-gen] r = i1 + i2
  8189. 1119.50 s [really-safe-money-gen] - in if r > maxBoundI
  8190. 1119.52 s [really-safe-money-gen] + in if r <= maxBoundI
  8191. 1119.52 s [really-safe-money-gen] then Nothing
  8192. 1119.52 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8193. 1119.52 s [really-safe-money-gen]
  8194. 1119.52 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
  8195. 1119.52 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8196. 1119.53 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8197. 1119.53 s [really-safe-money-gen] r :: Integer
  8198. 1119.53 s [really-safe-money-gen] r = i1 - i2
  8199. 1119.53 s [really-safe-money-gen] - in if r < 0
  8200. 1119.53 s [really-safe-money-gen] + in if r >= 0
  8201. 1119.53 s [really-safe-money-gen] then Nothing
  8202. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8203. 1119.53 s [really-safe-money-gen]
  8204. 1119.53 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
  8205. 1119.53 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8206. 1119.53 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8207. 1119.53 s [really-safe-money-gen] r :: Integer
  8208. 1119.53 s [really-safe-money-gen] r = i1 + i2
  8209. 1119.53 s [really-safe-money-gen] - in if r > maxBoundI
  8210. 1119.53 s [really-safe-money-gen] + in if r >= maxBoundI
  8211. 1119.53 s [really-safe-money-gen] then Nothing
  8212. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8213. 1119.53 s [really-safe-money-gen]
  8214. 1119.53 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
  8215. 1119.53 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8216. 1119.53 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8217. 1119.53 s [really-safe-money-gen] r :: Integer
  8218. 1119.53 s [really-safe-money-gen] r = i1 - i2
  8219. 1119.53 s [really-safe-money-gen] - in if r < 0
  8220. 1119.53 s [really-safe-money-gen] + in if r <= 0
  8221. 1119.53 s [really-safe-money-gen] then Nothing
  8222. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8223. 1119.53 s [really-safe-money-gen]
  8224. 1119.53 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
  8225. 1119.53 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8226. 1119.53 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8227. 1119.53 s [really-safe-money-gen] r :: Integer
  8228. 1119.53 s [really-safe-money-gen] r = i1 + i2
  8229. 1119.53 s [really-safe-money-gen] - in if r > maxBoundI
  8230. 1119.53 s [really-safe-money-gen] + in if True
  8231. 1119.53 s [really-safe-money-gen] then Nothing
  8232. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8233. 1119.53 s [really-safe-money-gen]
  8234. 1119.53 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
  8235. 1119.53 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8236. 1119.53 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8237. 1119.53 s [really-safe-money-gen] r :: Integer
  8238. 1119.53 s [really-safe-money-gen] r = i1 + i2
  8239. 1119.53 s [really-safe-money-gen] - in if r > maxBoundI
  8240. 1119.53 s [really-safe-money-gen] + in if False
  8241. 1119.53 s [really-safe-money-gen] then Nothing
  8242. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8243. 1119.53 s [really-safe-money-gen]
  8244. 1119.53 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:476:10-23
  8245. 1119.53 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8246. 1119.53 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8247. 1119.53 s [really-safe-money-gen] r :: Integer
  8248. 1119.53 s [really-safe-money-gen] r = i1 + i2
  8249. 1119.53 s [really-safe-money-gen] - in if r > maxBoundI
  8250. 1119.53 s [really-safe-money-gen] + in if not (r > maxBoundI)
  8251. 1119.53 s [really-safe-money-gen] then Nothing
  8252. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8253. 1119.53 s [really-safe-money-gen]
  8254. 1119.53 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:475:11-18
  8255. 1119.53 s [really-safe-money-gen] @@ -472,7 +472,7 @@
  8256. 1119.53 s [really-safe-money-gen] maxBoundI :: Integer
  8257. 1119.53 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8258. 1119.53 s [really-safe-money-gen] r :: Integer
  8259. 1119.53 s [really-safe-money-gen] - r = i1 + i2
  8260. 1119.53 s [really-safe-money-gen] + r = i1 * i2
  8261. 1119.53 s [really-safe-money-gen] in if r > maxBoundI
  8262. 1119.53 s [really-safe-money-gen] then Nothing
  8263. 1119.53 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8264. 1119.53 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:478:14-66
  8265. 1119.53 s [really-safe-money-gen] @@ -475,7 +475,7 @@
  8266. 1119.53 s [really-safe-money-gen] r = i1 + i2
  8267. 1119.53 s [really-safe-money-gen] in if r > maxBoundI
  8268. 1119.53 s [really-safe-money-gen] then Nothing
  8269. 1119.54 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8270. 1119.54 s [really-safe-money-gen] + else Nothing
  8271. 1119.54 s [really-safe-money-gen]
  8272. 1119.54 s [really-safe-money-gen] -- | Add a number of amounts of money together.
  8273. 1119.54 s [really-safe-money-gen] --
  8274. 1119.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
  8275. 1119.54 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8276. 1119.54 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8277. 1119.54 s [really-safe-money-gen] r :: Integer
  8278. 1119.54 s [really-safe-money-gen] r = i1 + i2
  8279. 1119.54 s [really-safe-money-gen] - in if r > maxBoundI
  8280. 1119.54 s [really-safe-money-gen] + in if r < maxBoundI
  8281. 1119.54 s [really-safe-money-gen] then Nothing
  8282. 1119.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8283. 1119.54 s [really-safe-money-gen]
  8284. 1119.54 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16
  8285. 1119.54 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  8286. 1119.54 s [really-safe-money-gen] -- Nothing
  8287. 1119.54 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8288. 1119.54 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8289. 1119.54 s [really-safe-money-gen] - | isInvalid r = Nothing
  8290. 1119.54 s [really-safe-money-gen] + | True = Nothing
  8291. 1119.54 s [really-safe-money-gen] | r < 0 = Nothing
  8292. 1119.54 s [really-safe-money-gen] | otherwise =
  8293. 1119.54 s [really-safe-money-gen] let resultRational :: Rational
  8294. 1119.54 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:475:11-18
  8295. 1119.54 s [really-safe-money-gen] @@ -472,7 +472,7 @@
  8296. 1119.54 s [really-safe-money-gen] maxBoundI :: Integer
  8297. 1119.54 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8298. 1119.54 s [really-safe-money-gen] r :: Integer
  8299. 1119.54 s [really-safe-money-gen] - r = i1 + i2
  8300. 1119.54 s [really-safe-money-gen] + r = i1 - i2
  8301. 1119.54 s [really-safe-money-gen] in if r > maxBoundI
  8302. 1119.54 s [really-safe-money-gen] then Nothing
  8303. 1119.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8304. 1119.54 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:388:5-16
  8305. 1119.54 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  8306. 1119.54 s [really-safe-money-gen] -- Nothing
  8307. 1119.54 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8308. 1119.54 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8309. 1119.54 s [really-safe-money-gen] - | isInvalid r = Nothing
  8310. 1119.54 s [really-safe-money-gen] + | not (isInvalid r) = Nothing
  8311. 1119.54 s [really-safe-money-gen] | r < 0 = Nothing
  8312. 1119.54 s [really-safe-money-gen] | otherwise =
  8313. 1119.54 s [really-safe-money-gen] let resultRational :: Rational
  8314. 1119.54 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10
  8315. 1119.54 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8316. 1119.54 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8317. 1119.54 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8318. 1119.54 s [really-safe-money-gen] | isInvalid r = Nothing
  8319. 1119.54 s [really-safe-money-gen] - | r < 0 = Nothing
  8320. 1119.54 s [really-safe-money-gen] + | r < 1 = Nothing
  8321. 1119.54 s [really-safe-money-gen] | otherwise =
  8322. 1119.54 s [really-safe-money-gen] let resultRational :: Rational
  8323. 1119.54 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8324. 1119.54 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10
  8325. 1119.54 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8326. 1119.54 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8327. 1119.54 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8328. 1119.54 s [really-safe-money-gen] | isInvalid r = Nothing
  8329. 1119.54 s [really-safe-money-gen] - | r < 0 = Nothing
  8330. 1119.54 s [really-safe-money-gen] + | True = Nothing
  8331. 1119.54 s [really-safe-money-gen] | otherwise =
  8332. 1119.54 s [really-safe-money-gen] let resultRational :: Rational
  8333. 1119.54 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8334. 1119.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
  8335. 1119.54 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8336. 1119.54 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8337. 1119.54 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8338. 1119.54 s [really-safe-money-gen] | isInvalid r = Nothing
  8339. 1119.54 s [really-safe-money-gen] - | r < 0 = Nothing
  8340. 1119.54 s [really-safe-money-gen] + | r >= 0 = Nothing
  8341. 1119.54 s [really-safe-money-gen] | otherwise =
  8342. 1119.54 s [really-safe-money-gen] let resultRational :: Rational
  8343. 1119.54 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8344. 1119.54 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:392:28-71
  8345. 1119.54 s [really-safe-money-gen] @@ -389,7 +389,7 @@
  8346. 1119.54 s [really-safe-money-gen] | r < 0 = Nothing
  8347. 1119.54 s [really-safe-money-gen] | otherwise =
  8348. 1119.54 s [really-safe-money-gen] let resultRational :: Rational
  8349. 1119.54 s [really-safe-money-gen] - resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8350. 1119.54 s [really-safe-money-gen] + resultRational = r + (fromIntegral :: Word32 -> Rational) qf
  8351. 1119.54 s [really-safe-money-gen] ceiled :: Natural
  8352. 1119.54 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8353. 1119.54 s [really-safe-money-gen] floored :: Natural
  8354. 1119.54 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:721:10-44
  8355. 1119.54 s [really-safe-money-gen] @@ -718,7 +718,7 @@
  8356. 1119.54 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  8357. 1119.54 s [really-safe-money-gen] ConversionRate.fromRatio $
  8358. 1119.54 s [really-safe-money-gen] (fromIntegral a2 * fromIntegral qf1)
  8359. 1119.54 s [really-safe-money-gen] - % (fromIntegral a1 * fromIntegral qf2)
  8360. 1119.54 s [really-safe-money-gen] + % (fromIntegral a1 - fromIntegral qf2)
  8361. 1119.54 s [really-safe-money-gen]
  8362. 1119.54 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  8363. 1119.54 s [really-safe-money-gen] -- another currency using a conversion rate.
  8364. 1119.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
  8365. 1119.54 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8366. 1119.54 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8367. 1119.54 s [really-safe-money-gen] r :: Integer
  8368. 1119.54 s [really-safe-money-gen] r = i1 - i2
  8369. 1119.54 s [really-safe-money-gen] - in if r < 0
  8370. 1119.54 s [really-safe-money-gen] + in if r > 0
  8371. 1119.54 s [really-safe-money-gen] then Nothing
  8372. 1119.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8373. 1119.54 s [really-safe-money-gen]
  8374. 1119.54 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
  8375. 1119.54 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  8376. 1126.31 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  8377. 1126.31 s [really-safe-money-gen] smallerChunk :: Amount
  8378. 1126.34 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  8379. 1126.34 s [really-safe-money-gen] - in if rest == 0
  8380. 1126.34 s [really-safe-money-gen] + in if True
  8381. 1126.34 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  8382. 1126.34 s [really-safe-money-gen] else
  8383. 1126.34 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  8384. 1126.34 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
  8385. 1126.34 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  8386. 1126.34 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8387. 1126.34 s [really-safe-money-gen] floored :: Natural
  8388. 1126.34 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8389. 1126.34 s [really-safe-money-gen] - in if ceiled == floored
  8390. 1126.34 s [really-safe-money-gen] + in if True
  8391. 1126.34 s [really-safe-money-gen] then
  8392. 1126.35 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8393. 1126.35 s [really-safe-money-gen] then Nothing
  8394. 1126.35 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:397:14-31
  8395. 1126.35 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  8396. 1126.35 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8397. 1126.35 s [really-safe-money-gen] floored :: Natural
  8398. 1126.35 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8399. 1126.35 s [really-safe-money-gen] - in if ceiled == floored
  8400. 1126.35 s [really-safe-money-gen] + in if not (ceiled == floored)
  8401. 1126.35 s [really-safe-money-gen] then
  8402. 1126.35 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8403. 1126.35 s [really-safe-money-gen] then Nothing
  8404. 1126.35 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
  8405. 1126.35 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8406. 1126.35 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8407. 1126.35 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8408. 1126.35 s [really-safe-money-gen] | isInvalid r = Nothing
  8409. 1126.35 s [really-safe-money-gen] - | r < 0 = Nothing
  8410. 1126.35 s [really-safe-money-gen] + | r > 0 = Nothing
  8411. 1126.35 s [really-safe-money-gen] | otherwise =
  8412. 1126.35 s [really-safe-money-gen] let resultRational :: Rational
  8413. 1126.35 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8414. 1126.35 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
  8415. 1126.35 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  8416. 1126.35 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8417. 1126.35 s [really-safe-money-gen] floored :: Natural
  8418. 1126.35 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8419. 1126.35 s [really-safe-money-gen] - in if ceiled == floored
  8420. 1126.35 s [really-safe-money-gen] + in if False
  8421. 1126.35 s [really-safe-money-gen] then
  8422. 1126.35 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8423. 1126.35 s [really-safe-money-gen] then Nothing
  8424. 1126.35 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
  8425. 1126.35 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8426. 1126.35 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8427. 1126.35 s [really-safe-money-gen] in if ceiled == floored
  8428. 1126.35 s [really-safe-money-gen] then
  8429. 1126.35 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8430. 1126.36 s [really-safe-money-gen] + if ceiled < (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8431. 1126.36 s [really-safe-money-gen] then Nothing
  8432. 1126.36 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8433. 1126.36 s [really-safe-money-gen] else Nothing
  8434. 1126.36 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
  8435. 1126.36 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8436. 1126.36 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8437. 1126.36 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8438. 1126.36 s [really-safe-money-gen] | isInvalid r = Nothing
  8439. 1126.36 s [really-safe-money-gen] - | r < 0 = Nothing
  8440. 1126.36 s [really-safe-money-gen] + | r <= 0 = Nothing
  8441. 1126.36 s [really-safe-money-gen] | otherwise =
  8442. 1126.36 s [really-safe-money-gen] let resultRational :: Rational
  8443. 1126.36 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8444. 1126.36 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
  8445. 1126.36 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8446. 1126.36 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8447. 1126.36 s [really-safe-money-gen] r :: Integer
  8448. 1126.36 s [really-safe-money-gen] r = i1 - i2
  8449. 1126.36 s [really-safe-money-gen] - in if r < 0
  8450. 1126.36 s [really-safe-money-gen] + in if True
  8451. 1126.36 s [really-safe-money-gen] then Nothing
  8452. 1126.36 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8453. 1126.36 s [really-safe-money-gen]
  8454. 1126.36 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
  8455. 1126.36 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8456. 1126.36 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8457. 1126.36 s [really-safe-money-gen] in if ceiled == floored
  8458. 1126.36 s [really-safe-money-gen] then
  8459. 1126.36 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8460. 1126.36 s [really-safe-money-gen] + if True
  8461. 1126.36 s [really-safe-money-gen] then Nothing
  8462. 1126.36 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8463. 1126.36 s [really-safe-money-gen] else Nothing
  8464. 1126.36 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
  8465. 1126.36 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8466. 1126.36 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8467. 1126.36 s [really-safe-money-gen] in if ceiled == floored
  8468. 1126.36 s [really-safe-money-gen] then
  8469. 1126.36 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8470. 1126.36 s [really-safe-money-gen] + if False
  8471. 1126.36 s [really-safe-money-gen] then Nothing
  8472. 1126.36 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8473. 1126.36 s [really-safe-money-gen] else Nothing
  8474. 1126.36 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:399:18-83
  8475. 1126.36 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8476. 1126.37 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8477. 1126.37 s [really-safe-money-gen] in if ceiled == floored
  8478. 1126.37 s [really-safe-money-gen] then
  8479. 1126.37 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8480. 1126.37 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  8481. 1126.37 s [really-safe-money-gen] then Nothing
  8482. 1126.37 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8483. 1126.37 s [really-safe-money-gen] else Nothing
  8484. 1126.37 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10
  8485. 1126.37 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8486. 1126.37 s [really-safe-money-gen] Double ->
  8487. 1126.37 s [really-safe-money-gen] Maybe Amount
  8488. 1126.37 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8489. 1126.37 s [really-safe-money-gen] - | d < 0 = Nothing
  8490. 1126.37 s [really-safe-money-gen] + | d < 1 = Nothing
  8491. 1126.37 s [really-safe-money-gen] | otherwise =
  8492. 1126.37 s [really-safe-money-gen] let resultDouble :: Double
  8493. 1126.37 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8494. 1126.37 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
  8495. 1126.37 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8496. 1126.37 s [really-safe-money-gen] Double ->
  8497. 1126.37 s [really-safe-money-gen] Maybe Amount
  8498. 1126.37 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8499. 1126.37 s [really-safe-money-gen] - | d < 0 = Nothing
  8500. 1126.37 s [really-safe-money-gen] + | d <= 0 = Nothing
  8501. 1126.37 s [really-safe-money-gen] | otherwise =
  8502. 1126.37 s [really-safe-money-gen] let resultDouble :: Double
  8503. 1126.37 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8504. 1126.37 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:392:28-71
  8505. 1126.37 s [really-safe-money-gen] @@ -389,7 +389,7 @@
  8506. 1126.37 s [really-safe-money-gen] | r < 0 = Nothing
  8507. 1126.37 s [really-safe-money-gen] | otherwise =
  8508. 1126.37 s [really-safe-money-gen] let resultRational :: Rational
  8509. 1126.37 s [really-safe-money-gen] - resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8510. 1126.37 s [really-safe-money-gen] + resultRational = r - (fromIntegral :: Word32 -> Rational) qf
  8511. 1126.37 s [really-safe-money-gen] ceiled :: Natural
  8512. 1126.37 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8513. 1126.37 s [really-safe-money-gen] floored :: Natural
  8514. 1126.37 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
  8515. 1126.37 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8516. 1126.37 s [really-safe-money-gen] Double ->
  8517. 1126.37 s [really-safe-money-gen] Maybe Amount
  8518. 1126.37 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8519. 1126.37 s [really-safe-money-gen] - | d < 0 = Nothing
  8520. 1126.37 s [really-safe-money-gen] + | d > 0 = Nothing
  8521. 1126.37 s [really-safe-money-gen] | otherwise =
  8522. 1126.38 s [really-safe-money-gen] let resultDouble :: Double
  8523. 1126.38 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8524. 1126.38 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
  8525. 1126.38 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8526. 1126.38 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8527. 1126.38 s [really-safe-money-gen] in if ceiled == floored
  8528. 1126.38 s [really-safe-money-gen] then
  8529. 1126.38 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8530. 1126.38 s [really-safe-money-gen] + if ceiled >= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8531. 1126.38 s [really-safe-money-gen] then Nothing
  8532. 1126.38 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8533. 1126.38 s [really-safe-money-gen] else Nothing
  8534. 1126.38 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
  8535. 1126.38 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8536. 1126.38 s [really-safe-money-gen] Double ->
  8537. 1126.38 s [really-safe-money-gen] Maybe Amount
  8538. 1126.38 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8539. 1126.38 s [really-safe-money-gen] - | d < 0 = Nothing
  8540. 1132.37 s [really-safe-money-gen] + | d >= 0 = Nothing
  8541. 1132.40 s [really-safe-money-gen] | otherwise =
  8542. 1132.40 s [really-safe-money-gen] let resultDouble :: Double
  8543. 1132.40 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8544. 1132.40 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10
  8545. 1132.40 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8546. 1132.40 s [really-safe-money-gen] Double ->
  8547. 1132.40 s [really-safe-money-gen] Maybe Amount
  8548. 1132.40 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8549. 1132.40 s [really-safe-money-gen] - | d < 0 = Nothing
  8550. 1132.40 s [really-safe-money-gen] + | True = Nothing
  8551. 1132.40 s [really-safe-money-gen] | otherwise =
  8552. 1132.40 s [really-safe-money-gen] let resultDouble :: Double
  8553. 1132.41 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8554. 1132.41 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10
  8555. 1132.41 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8556. 1132.41 s [really-safe-money-gen] Double ->
  8557. 1132.41 s [really-safe-money-gen] Maybe Amount
  8558. 1132.41 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8559. 1132.41 s [really-safe-money-gen] - | d < 0 = Nothing
  8560. 1132.41 s [really-safe-money-gen] + | not (d < 0) = Nothing
  8561. 1132.41 s [really-safe-money-gen] | otherwise =
  8562. 1132.41 s [really-safe-money-gen] let resultDouble :: Double
  8563. 1132.41 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8564. 1132.41 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:323:26-67
  8565. 1132.41 s [really-safe-money-gen] @@ -320,7 +320,7 @@
  8566. 1132.41 s [really-safe-money-gen] | d < 0 = Nothing
  8567. 1132.41 s [really-safe-money-gen] | otherwise =
  8568. 1132.41 s [really-safe-money-gen] let resultDouble :: Double
  8569. 1132.41 s [really-safe-money-gen] - resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8570. 1132.41 s [really-safe-money-gen] + resultDouble = d + (fromIntegral :: Word32 -> Double) qf
  8571. 1132.41 s [really-safe-money-gen] in go resultDouble
  8572. 1132.41 s [really-safe-money-gen] where
  8573. 1132.41 s [really-safe-money-gen] go resultDouble
  8574. 1132.41 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16
  8575. 1132.41 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  8576. 1132.41 s [really-safe-money-gen] in go resultDouble
  8577. 1132.41 s [really-safe-money-gen] where
  8578. 1132.41 s [really-safe-money-gen] go resultDouble
  8579. 1132.42 s [really-safe-money-gen] - | isNaN d = Nothing
  8580. 1132.42 s [really-safe-money-gen] + | True = Nothing
  8581. 1132.42 s [really-safe-money-gen] | isInfinite d = Nothing
  8582. 1132.42 s [really-safe-money-gen] | otherwise =
  8583. 1132.42 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8584. 1132.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  8585. 1132.42 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  8586. 1132.42 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  8587. 1132.42 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  8588. 1132.42 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  8589. 1132.42 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  8590. 1132.42 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
  8591. 1132.42 s [really-safe-money-gen]
  8592. 1132.42 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  8593. 1132.42 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  8594. 1132.42 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16
  8595. 1132.42 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  8596. 1132.42 s [really-safe-money-gen] in go resultDouble
  8597. 1132.42 s [really-safe-money-gen] where
  8598. 1132.42 s [really-safe-money-gen] go resultDouble
  8599. 1132.42 s [really-safe-money-gen] - | isNaN d = Nothing
  8600. 1132.42 s [really-safe-money-gen] + | not (isNaN d) = Nothing
  8601. 1132.42 s [really-safe-money-gen] | isInfinite d = Nothing
  8602. 1132.42 s [really-safe-money-gen] | otherwise =
  8603. 1132.42 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8604. 1132.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19
  8605. 1132.42 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  8606. 1132.42 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  8607. 1132.42 s [really-safe-money-gen] smallerChunk :: Amount
  8608. 1132.42 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  8609. 1132.42 s [really-safe-money-gen] - in if rest == 0
  8610. 1132.42 s [really-safe-money-gen] + in if rest == 1
  8611. 1132.42 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  8612. 1132.42 s [really-safe-money-gen] else
  8613. 1132.42 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  8614. 1132.42 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
  8615. 1132.42 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8616. 1132.42 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8617. 1132.42 s [really-safe-money-gen] r :: Integer
  8618. 1132.42 s [really-safe-money-gen] r = i1 - i2
  8619. 1132.42 s [really-safe-money-gen] - in if r < 0
  8620. 1132.42 s [really-safe-money-gen] + in if False
  8621. 1132.42 s [really-safe-money-gen] then Nothing
  8622. 1132.42 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8623. 1132.42 s [really-safe-money-gen]
  8624. 1132.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
  8625. 1132.42 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  8626. 1132.43 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  8627. 1132.43 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  8628. 1132.43 s [really-safe-money-gen] let decimals :: Int
  8629. 1132.43 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  8630. 1132.43 s [really-safe-money-gen] + decimals = ceiling $ logBase 1 (fromIntegral qf :: Float)
  8631. 1132.43 s [really-safe-money-gen] in printf "%%0.%df" decimals
  8632. 1132.43 s [really-safe-money-gen]
  8633. 1132.43 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  8634. 1132.43 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:389:5-10
  8635. 1132.43 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8636. 1132.43 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8637. 1132.43 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8638. 1132.43 s [really-safe-money-gen] | isInvalid r = Nothing
  8639. 1132.43 s [really-safe-money-gen] - | r < 0 = Nothing
  8640. 1132.43 s [really-safe-money-gen] + | not (r < 0) = Nothing
  8641. 1132.43 s [really-safe-money-gen] | otherwise =
  8642. 1132.43 s [really-safe-money-gen] let resultRational :: Rational
  8643. 1132.43 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8644. 1132.43 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
  8645. 1132.43 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8646. 1132.43 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8647. 1132.43 s [really-safe-money-gen] in if ceiled == floored
  8648. 1132.43 s [really-safe-money-gen] then
  8649. 1132.43 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8650. 1132.43 s [really-safe-money-gen] + if ceiled <= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8651. 1132.43 s [really-safe-money-gen] then Nothing
  8652. 1132.43 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8653. 1132.43 s [really-safe-money-gen] else Nothing
  8654. 1132.43 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:323:26-67
  8655. 1132.43 s [really-safe-money-gen] @@ -320,7 +320,7 @@
  8656. 1132.43 s [really-safe-money-gen] | d < 0 = Nothing
  8657. 1132.43 s [really-safe-money-gen] | otherwise =
  8658. 1132.43 s [really-safe-money-gen] let resultDouble :: Double
  8659. 1132.43 s [really-safe-money-gen] - resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8660. 1132.43 s [really-safe-money-gen] + resultDouble = d - (fromIntegral :: Word32 -> Double) qf
  8661. 1132.43 s [really-safe-money-gen] in go resultDouble
  8662. 1132.43 s [really-safe-money-gen] where
  8663. 1132.43 s [really-safe-money-gen] go resultDouble
  8664. 1132.43 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
  8665. 1132.43 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8666. 1132.43 s [really-safe-money-gen] | otherwise =
  8667. 1132.43 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8668. 1132.43 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8669. 1132.43 s [really-safe-money-gen] - if exponent resultDouble > 65
  8670. 1132.43 s [really-safe-money-gen] + if exponent resultDouble <= 65
  8671. 1132.43 s [really-safe-money-gen] then Nothing
  8672. 1132.43 s [really-safe-money-gen] else
  8673. 1132.43 s [really-safe-money-gen] let ceiled :: Natural
  8674. 1132.43 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
  8675. 1132.43 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8676. 1132.43 s [really-safe-money-gen] | otherwise =
  8677. 1132.43 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8678. 1132.43 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8679. 1132.43 s [really-safe-money-gen] - if exponent resultDouble > 65
  8680. 1132.43 s [really-safe-money-gen] + if exponent resultDouble > 0
  8681. 1132.43 s [really-safe-money-gen] then Nothing
  8682. 1132.43 s [really-safe-money-gen] else
  8683. 1132.43 s [really-safe-money-gen] let ceiled :: Natural
  8684. 1132.43 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
  8685. 1132.43 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8686. 1132.44 s [really-safe-money-gen] | otherwise =
  8687. 1132.44 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8688. 1132.44 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8689. 1132.44 s [really-safe-money-gen] - if exponent resultDouble > 65
  8690. 1132.44 s [really-safe-money-gen] + if True
  8691. 1132.44 s [really-safe-money-gen] then Nothing
  8692. 1132.44 s [really-safe-money-gen] else
  8693. 1132.44 s [really-safe-money-gen] let ceiled :: Natural
  8694. 1132.44 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
  8695. 1132.44 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  8696. 1132.44 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  8697. 1132.44 s [really-safe-money-gen] floored :: Natural
  8698. 1132.44 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8699. 1132.44 s [really-safe-money-gen] - in if ceiled == floored
  8700. 1132.44 s [really-safe-money-gen] + in if True
  8701. 1132.44 s [really-safe-money-gen] then
  8702. 1132.44 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8703. 1132.44 s [really-safe-money-gen] then Nothing
  8704. 1132.44 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
  8705. 1132.44 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  8706. 1132.44 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  8707. 1136.38 s [really-safe-money-gen] floored :: Natural
  8708. 1136.38 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8709. 1136.38 s [really-safe-money-gen] - in if ceiled == floored
  8710. 1136.38 s [really-safe-money-gen] + in if False
  8711. 1136.38 s [really-safe-money-gen] then
  8712. 1136.38 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8713. 1136.38 s [really-safe-money-gen] then Nothing
  8714. 1136.38 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21
  8715. 1136.38 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  8716. 1136.39 s [really-safe-money-gen] where
  8717. 1136.39 s [really-safe-money-gen] go resultDouble
  8718. 1136.39 s [really-safe-money-gen] | isNaN d = Nothing
  8719. 1136.39 s [really-safe-money-gen] - | isInfinite d = Nothing
  8720. 1136.39 s [really-safe-money-gen] + | True = Nothing
  8721. 1136.39 s [really-safe-money-gen] | otherwise =
  8722. 1136.39 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8723. 1136.39 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8724. 1136.39 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
  8725. 1136.39 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8726. 1136.39 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8727. 1136.39 s [really-safe-money-gen] in if ceiled == floored
  8728. 1136.39 s [really-safe-money-gen] then
  8729. 1136.39 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8730. 1136.39 s [really-safe-money-gen] + if ceiled < (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8731. 1136.39 s [really-safe-money-gen] then Nothing
  8732. 1136.39 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8733. 1136.39 s [really-safe-money-gen] else Nothing
  8734. 1136.39 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39
  8735. 1136.39 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  8736. 1136.39 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  8737. 1136.39 s [really-safe-money-gen] floored :: Natural
  8738. 1136.39 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8739. 1136.39 s [really-safe-money-gen] - in if ceiled == floored
  8740. 1136.39 s [really-safe-money-gen] + in if not (ceiled == floored)
  8741. 1136.39 s [really-safe-money-gen] then
  8742. 1136.39 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8743. 1136.39 s [really-safe-money-gen] then Nothing
  8744. 1136.39 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
  8745. 1136.39 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8746. 1136.39 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8747. 1136.39 s [really-safe-money-gen] in if ceiled == floored
  8748. 1136.39 s [really-safe-money-gen] then
  8749. 1136.39 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8750. 1136.39 s [really-safe-money-gen] + if ceiled <= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8751. 1136.39 s [really-safe-money-gen] then Nothing
  8752. 1136.39 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8753. 1136.39 s [really-safe-money-gen] else Nothing
  8754. 1136.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
  8755. 1136.39 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8756. 1136.39 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8757. 1136.39 s [really-safe-money-gen] in if ceiled == floored
  8758. 1136.39 s [really-safe-money-gen] then
  8759. 1136.39 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8760. 1136.39 s [really-safe-money-gen] + if False
  8761. 1136.39 s [really-safe-money-gen] then Nothing
  8762. 1136.39 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8763. 1136.39 s [really-safe-money-gen] else Nothing
  8764. 1136.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
  8765. 1136.39 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8766. 1136.39 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8767. 1136.39 s [really-safe-money-gen] in if ceiled == floored
  8768. 1136.40 s [really-safe-money-gen] then
  8769. 1136.40 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8770. 1136.40 s [really-safe-money-gen] + if True
  8771. 1136.40 s [really-safe-money-gen] then Nothing
  8772. 1136.40 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8773. 1136.40 s [really-safe-money-gen] else Nothing
  8774. 1136.40 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80
  8775. 1136.40 s [really-safe-money-gen] @@ -287,7 +287,7 @@
  8776. 1136.40 s [really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
  8777. 1136.40 s [really-safe-money-gen] -- 1 % 100
  8778. 1136.40 s [really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
  8779. 1136.40 s [really-safe-money-gen] -toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
  8780. 1136.40 s [really-safe-money-gen] +toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
  8781. 1136.40 s [really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
  8782. 1136.40 s [really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
  8783. 1136.40 s [really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
  8784. 1136.40 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91
  8785. 1136.40 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8786. 1136.40 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8787. 1136.40 s [really-safe-money-gen] in if ceiled == floored
  8788. 1136.40 s [really-safe-money-gen] then
  8789. 1136.40 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8790. 1136.40 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  8791. 1136.40 s [really-safe-money-gen] then Nothing
  8792. 1136.40 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8793. 1136.40 s [really-safe-money-gen] else Nothing
  8794. 1136.40 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:494:29-94
  8795. 1136.40 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  8796. 1136.40 s [really-safe-money-gen] let maxBoundI :: Integer
  8797. 1136.40 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8798. 1136.40 s [really-safe-money-gen] r :: Integer
  8799. 1136.40 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8800. 1136.40 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) - acc) 0 l
  8801. 1136.40 s [really-safe-money-gen] in if r > maxBoundI
  8802. 1136.40 s [really-safe-money-gen] then Nothing
  8803. 1136.40 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8804. 1136.40 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21
  8805. 1136.40 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  8806. 1136.40 s [really-safe-money-gen] where
  8807. 1136.40 s [really-safe-money-gen] go resultDouble
  8808. 1136.40 s [really-safe-money-gen] | isNaN d = Nothing
  8809. 1136.40 s [really-safe-money-gen] - | isInfinite d = Nothing
  8810. 1136.40 s [really-safe-money-gen] + | not (isInfinite d) = Nothing
  8811. 1136.40 s [really-safe-money-gen] | otherwise =
  8812. 1136.40 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8813. 1136.40 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8814. 1136.41 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
  8815. 1136.41 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8816. 1136.41 s [really-safe-money-gen] | otherwise =
  8817. 1136.41 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8818. 1136.41 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8819. 1136.41 s [really-safe-money-gen] - if exponent resultDouble > 65
  8820. 1136.41 s [really-safe-money-gen] + if exponent resultDouble >= 65
  8821. 1136.41 s [really-safe-money-gen] then Nothing
  8822. 1136.41 s [really-safe-money-gen] else
  8823. 1136.41 s [really-safe-money-gen] let ceiled :: Natural
  8824. 1136.41 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
  8825. 1136.41 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8826. 1136.41 s [really-safe-money-gen] | otherwise =
  8827. 1136.41 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8828. 1136.41 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8829. 1136.41 s [really-safe-money-gen] - if exponent resultDouble > 65
  8830. 1136.41 s [really-safe-money-gen] + if False
  8831. 1136.41 s [really-safe-money-gen] then Nothing
  8832. 1136.41 s [really-safe-money-gen] else
  8833. 1136.41 s [really-safe-money-gen] let ceiled :: Natural
  8834. 1136.41 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
  8835. 1136.41 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8836. 1136.41 s [really-safe-money-gen] | otherwise =
  8837. 1136.41 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8838. 1136.41 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8839. 1136.41 s [really-safe-money-gen] - if exponent resultDouble > 65
  8840. 1136.41 s [really-safe-money-gen] + if exponent resultDouble < 65
  8841. 1136.41 s [really-safe-money-gen] then Nothing
  8842. 1136.41 s [really-safe-money-gen] else
  8843. 1136.41 s [really-safe-money-gen] let ceiled :: Natural
  8844. 1136.41 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
  8845. 1136.41 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8846. 1142.58 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8847. 1142.60 s [really-safe-money-gen] in if ceiled == floored
  8848. 1142.60 s [really-safe-money-gen] then
  8849. 1142.60 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8850. 1142.60 s [really-safe-money-gen] + if ceiled >= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8851. 1142.61 s [really-safe-money-gen] then Nothing
  8852. 1142.61 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8853. 1142.61 s [really-safe-money-gen] else Nothing
  8854. 1142.61 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
  8855. 1142.61 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8856. 1142.61 s [really-safe-money-gen] | otherwise =
  8857. 1142.61 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8858. 1142.61 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8859. 1142.61 s [really-safe-money-gen] - if exponent resultDouble > 65
  8860. 1142.61 s [really-safe-money-gen] + if exponent resultDouble > 1
  8861. 1142.61 s [really-safe-money-gen] then Nothing
  8862. 1142.61 s [really-safe-money-gen] else
  8863. 1142.61 s [really-safe-money-gen] let ceiled :: Natural
  8864. 1142.61 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
  8865. 1142.61 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8866. 1142.61 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8867. 1142.61 s [really-safe-money-gen] r :: Integer
  8868. 1142.61 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8869. 1142.61 s [really-safe-money-gen] - in if r > maxBoundI
  8870. 1142.61 s [really-safe-money-gen] + in if r <= maxBoundI
  8871. 1142.61 s [really-safe-money-gen] then Nothing
  8872. 1142.61 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8873. 1142.61 s [really-safe-money-gen]
  8874. 1142.61 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
  8875. 1142.61 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8876. 1142.61 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8877. 1142.61 s [really-safe-money-gen] r :: Integer
  8878. 1142.61 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8879. 1142.61 s [really-safe-money-gen] - in if r > maxBoundI
  8880. 1142.61 s [really-safe-money-gen] + in if r >= maxBoundI
  8881. 1142.61 s [really-safe-money-gen] then Nothing
  8882. 1142.61 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8883. 1142.61 s [really-safe-money-gen]
  8884. 1142.61 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
  8885. 1142.61 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8886. 1142.61 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8887. 1142.61 s [really-safe-money-gen] r :: Integer
  8888. 1142.61 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8889. 1142.61 s [really-safe-money-gen] - in if r > maxBoundI
  8890. 1142.61 s [really-safe-money-gen] + in if r < maxBoundI
  8891. 1142.61 s [really-safe-money-gen] then Nothing
  8892. 1142.62 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8893. 1142.62 s [really-safe-money-gen]
  8894. 1142.62 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97
  8895. 1142.62 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  8896. 1142.62 s [really-safe-money-gen] let maxBoundI :: Integer
  8897. 1142.62 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8898. 1142.62 s [really-safe-money-gen] r :: Integer
  8899. 1142.62 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8900. 1142.62 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
  8901. 1142.62 s [really-safe-money-gen] in if r > maxBoundI
  8902. 1142.62 s [really-safe-money-gen] then Nothing
  8903. 1142.62 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8904. 1142.62 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
  8905. 1142.62 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8906. 1142.62 s [really-safe-money-gen] | otherwise =
  8907. 1142.62 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8908. 1142.62 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8909. 1142.62 s [really-safe-money-gen] - if exponent resultDouble > 65
  8910. 1142.62 s [really-safe-money-gen] + if exponent resultDouble > -65
  8911. 1142.62 s [really-safe-money-gen] then Nothing
  8912. 1142.62 s [really-safe-money-gen] else
  8913. 1142.62 s [really-safe-money-gen] let ceiled :: Natural
  8914. 1142.62 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31
  8915. 1142.62 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  8916. 1142.62 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  8917. 1142.62 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  8918. 1142.62 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  8919. 1142.62 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  8920. 1142.62 s [really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
  8921. 1142.62 s [really-safe-money-gen] fraction r (Amount a) f =
  8922. 1142.62 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  8923. 1142.62 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  8924. 1142.62 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23
  8925. 1142.62 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8926. 1142.62 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8927. 1142.62 s [really-safe-money-gen] r :: Integer
  8928. 1142.62 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8929. 1142.62 s [really-safe-money-gen] - in if r > maxBoundI
  8930. 1142.62 s [really-safe-money-gen] + in if not (r > maxBoundI)
  8931. 1142.62 s [really-safe-money-gen] then Nothing
  8932. 1142.62 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8933. 1142.62 s [really-safe-money-gen]
  8934. 1142.62 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16
  8935. 1142.62 s [really-safe-money-gen] @@ -247,7 +247,7 @@
  8936. 1142.62 s [really-safe-money-gen] -- >>> zero
  8937. 1142.62 s [really-safe-money-gen] -- Amount 0
  8938. 1142.62 s [really-safe-money-gen] zero :: Amount
  8939. 1142.62 s [really-safe-money-gen] -zero = Amount 0
  8940. 1142.63 s [really-safe-money-gen] +zero = Amount 1
  8941. 1142.63 s [really-safe-money-gen]
  8942. 1142.63 s [really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
  8943. 1142.63 s [really-safe-money-gen] --
  8944. 1142.63 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
  8945. 1142.63 s [really-safe-money-gen] @@ -665,10 +665,9 @@
  8946. 1142.63 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8947. 1142.63 s [really-safe-money-gen] theoreticalResult = amountAsRatio * f
  8948. 1142.63 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8949. 1142.63 s [really-safe-money-gen] rounder = case r of
  8950. 1142.63 s [really-safe-money-gen] - RoundUp -> ceiling
  8951. 1142.63 s [really-safe-money-gen] RoundDown -> floor
  8952. 1142.63 s [really-safe-money-gen] RoundNearest -> round
  8953. 1142.63 s [really-safe-money-gen] roundedResult :: Natural
  8954. 1142.63 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  8955. 1142.63 s [really-safe-money-gen] actualRate :: Ratio Natural
  8956. 1142.63 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
  8957. 1142.63 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8958. 1142.63 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8959. 1142.63 s [really-safe-money-gen] r :: Integer
  8960. 1142.63 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8961. 1142.63 s [really-safe-money-gen] - in if r > maxBoundI
  8962. 1142.63 s [really-safe-money-gen] + in if True
  8963. 1142.63 s [really-safe-money-gen] then Nothing
  8964. 1142.63 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8965. 1142.63 s [really-safe-money-gen]
  8966. 1142.63 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:497:14-66
  8967. 1142.63 s [really-safe-money-gen] @@ -494,7 +494,7 @@
  8968. 1142.63 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8969. 1142.63 s [really-safe-money-gen] in if r > maxBoundI
  8970. 1142.63 s [really-safe-money-gen] then Nothing
  8971. 1142.63 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8972. 1142.63 s [really-safe-money-gen] + else Nothing
  8973. 1142.63 s [really-safe-money-gen]
  8974. 1142.63 s [really-safe-money-gen] -- | Add two amounts of money.
  8975. 1142.63 s [really-safe-money-gen] --
  8976. 1142.63 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:660:28-37
  8977. 1142.63 s [really-safe-money-gen] @@ -657,7 +657,7 @@
  8978. 1142.63 s [really-safe-money-gen] Ratio Natural ->
  8979. 1142.63 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  8980. 1142.63 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  8981. 1142.63 s [really-safe-money-gen] -fraction _ (Amount 0) f = (Just zero, f)
  8982. 1142.63 s [really-safe-money-gen] +fraction _ (Amount 0) f = (Nothing, f)
  8983. 1142.63 s [really-safe-money-gen] fraction _ _ 0 = (Just zero, 0)
  8984. 1142.63 s [really-safe-money-gen] fraction r (Amount a) f =
  8985. 1142.63 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  8986. 1142.63 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
  8987. 1142.63 s [really-safe-money-gen] @@ -665,10 +665,9 @@
  8988. 1142.63 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8989. 1142.63 s [really-safe-money-gen] theoreticalResult = amountAsRatio * f
  8990. 1142.63 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8991. 1142.63 s [really-safe-money-gen] rounder = case r of
  8992. 1142.63 s [really-safe-money-gen] RoundUp -> ceiling
  8993. 1142.63 s [really-safe-money-gen] RoundDown -> floor
  8994. 1142.63 s [really-safe-money-gen] - RoundNearest -> round
  8995. 1142.63 s [really-safe-money-gen] roundedResult :: Natural
  8996. 1142.63 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  8997. 1142.64 s [really-safe-money-gen] actualRate :: Ratio Natural
  8998. 1142.64 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:666:27-44
  8999. 1142.64 s [really-safe-money-gen] @@ -663,7 +663,7 @@
  9000. 1142.64 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  9001. 1142.64 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  9002. 1142.64 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  9003. 1142.64 s [really-safe-money-gen] - theoreticalResult = amountAsRatio * f
  9004. 1142.64 s [really-safe-money-gen] + theoreticalResult = amountAsRatio - f
  9005. 1142.64 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  9006. 1142.64 s [really-safe-money-gen] rounder = case r of
  9007. 1142.64 s [really-safe-money-gen] RoundUp -> ceiling
  9008. 1142.64 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:762:40-49
  9009. 1142.64 s [really-safe-money-gen] @@ -759,7 +759,7 @@
  9010. 1142.64 s [really-safe-money-gen] let qf1r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf1)
  9011. 1142.64 s [really-safe-money-gen] qf2r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf2)
  9012. 1142.64 s [really-safe-money-gen] (ma, ar) = fraction rounding a (ConversionRate.conversionFactor qf1 cr qf2)
  9013. 1142.64 s [really-safe-money-gen] - in (ma, ConversionRate.fromRatio (ar * qf1r / qf2r))
  9014. 1146.10 s [really-safe-money-gen] + in (ma, ConversionRate.fromRatio (ar + qf1r / qf2r))
  9015. 1146.10 s [really-safe-money-gen]
  9016. 1146.10 s [really-safe-money-gen] -- | Format an amount of money without a symbol.
  9017. 1146.10 s [really-safe-money-gen] --
  9018. 1146.11 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:683:16-27
  9019. 1146.11 s [really-safe-money-gen] @@ -680,7 +680,7 @@
  9020. 1146.11 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9021. 1146.11 s [really-safe-money-gen] in ( if roundedResult > maxBoundN
  9022. 1146.11 s [really-safe-money-gen] then Nothing
  9023. 1146.11 s [really-safe-money-gen] - else Just result,
  9024. 1146.11 s [really-safe-money-gen] + else Nothing,
  9025. 1146.11 s [really-safe-money-gen] actualRate
  9026. 1146.11 s [really-safe-money-gen] )
  9027. 1146.11 s [really-safe-money-gen]
  9028. 1146.11 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
  9029. 1146.11 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9030. 1146.11 s [really-safe-money-gen] maxBoundN :: Natural
  9031. 1146.11 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9032. 1146.11 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9033. 1146.11 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9034. 1146.11 s [really-safe-money-gen] + in ( if False
  9035. 1146.11 s [really-safe-money-gen] then Nothing
  9036. 1146.11 s [really-safe-money-gen] else Just result,
  9037. 1146.11 s [really-safe-money-gen] actualRate
  9038. 1146.11 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:666:27-44
  9039. 1146.11 s [really-safe-money-gen] @@ -663,7 +663,7 @@
  9040. 1146.11 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  9041. 1146.11 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  9042. 1146.11 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  9043. 1146.11 s [really-safe-money-gen] - theoreticalResult = amountAsRatio * f
  9044. 1146.11 s [really-safe-money-gen] + theoreticalResult = amountAsRatio + f
  9045. 1146.11 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  9046. 1146.11 s [really-safe-money-gen] rounder = case r of
  9047. 1146.11 s [really-safe-money-gen] RoundUp -> ceiling
  9048. 1146.11 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
  9049. 1146.11 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9050. 1146.11 s [really-safe-money-gen] maxBoundN :: Natural
  9051. 1146.11 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9052. 1146.12 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9053. 1146.12 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9054. 1146.12 s [really-safe-money-gen] + in ( if roundedResult <= maxBoundN
  9055. 1146.12 s [really-safe-money-gen] then Nothing
  9056. 1146.12 s [really-safe-money-gen] else Just result,
  9057. 1146.12 s [really-safe-money-gen] actualRate
  9058. 1146.12 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
  9059. 1146.12 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  9060. 1146.12 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9061. 1146.12 s [really-safe-money-gen] r :: Integer
  9062. 1146.12 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9063. 1146.12 s [really-safe-money-gen] - in if r > maxBoundI
  9064. 1146.12 s [really-safe-money-gen] + in if False
  9065. 1146.12 s [really-safe-money-gen] then Nothing
  9066. 1146.12 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9067. 1146.12 s [really-safe-money-gen]
  9068. 1146.12 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
  9069. 1146.12 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9070. 1146.12 s [really-safe-money-gen] maxBoundN :: Natural
  9071. 1146.12 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9072. 1146.12 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9073. 1146.12 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9074. 1146.12 s [really-safe-money-gen] + in ( if True
  9075. 1146.12 s [really-safe-money-gen] then Nothing
  9076. 1146.12 s [really-safe-money-gen] else Just result,
  9077. 1146.12 s [really-safe-money-gen] actualRate
  9078. 1146.12 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
  9079. 1146.12 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9080. 1146.12 s [really-safe-money-gen]
  9081. 1146.12 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9082. 1146.12 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9083. 1146.12 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9084. 1146.12 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount <= zero
  9085. 1146.12 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
  9086. 1146.12 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9087. 1146.12 s [really-safe-money-gen]
  9088. 1146.12 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9089. 1146.12 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9090. 1146.12 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9091. 1146.12 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount < zero
  9092. 1146.12 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:762:40-49
  9093. 1146.12 s [really-safe-money-gen] @@ -759,7 +759,7 @@
  9094. 1146.12 s [really-safe-money-gen] let qf1r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf1)
  9095. 1146.12 s [really-safe-money-gen] qf2r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf2)
  9096. 1146.12 s [really-safe-money-gen] (ma, ar) = fraction rounding a (ConversionRate.conversionFactor qf1 cr qf2)
  9097. 1146.12 s [really-safe-money-gen] - in (ma, ConversionRate.fromRatio (ar * qf1r / qf2r))
  9098. 1146.12 s [really-safe-money-gen] + in (ma, ConversionRate.fromRatio (ar - qf1r / qf2r))
  9099. 1146.12 s [really-safe-money-gen]
  9100. 1146.12 s [really-safe-money-gen] -- | Format an amount of money without a symbol.
  9101. 1146.12 s [really-safe-money-gen] --
  9102. 1146.12 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
  9103. 1146.12 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9104. 1146.12 s [really-safe-money-gen]
  9105. 1146.12 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9106. 1146.12 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9107. 1146.12 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9108. 1146.13 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount >= zero
  9109. 1146.13 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
  9110. 1146.13 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9111. 1146.13 s [really-safe-money-gen]
  9112. 1146.13 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9113. 1146.13 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9114. 1146.13 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9115. 1146.13 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ True
  9116. 1146.13 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92
  9117. 1146.13 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9118. 1146.13 s [really-safe-money-gen]
  9119. 1146.13 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9120. 1146.13 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9121. 1146.13 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9122. 1146.13 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
  9123. 1146.13 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
  9124. 1146.13 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9125. 1146.13 s [really-safe-money-gen] case ad of
  9126. 1146.13 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9127. 1146.13 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9128. 1146.13 s [really-safe-money-gen] - a1 > a2
  9129. 1146.13 s [really-safe-money-gen] + a1 < a2
  9130. 1146.13 s [really-safe-money-gen] _ -> valid
  9131. 1146.13 s [really-safe-money-gen] ]
  9132. 1146.13 s [really-safe-money-gen]
  9133. 1146.13 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
  9134. 1146.13 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9135. 1146.13 s [really-safe-money-gen]
  9136. 1146.13 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9137. 1146.13 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9138. 1146.13 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9139. 1146.13 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
  9140. 1146.13 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
  9141. 1146.13 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9142. 1146.13 s [really-safe-money-gen] case ad of
  9143. 1146.13 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9144. 1146.13 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9145. 1146.13 s [really-safe-money-gen] - a1 > a2
  9146. 1146.13 s [really-safe-money-gen] + a1 <= a2
  9147. 1146.13 s [really-safe-money-gen] _ -> valid
  9148. 1146.13 s [really-safe-money-gen] ]
  9149. 1146.13 s [really-safe-money-gen]
  9150. 1146.13 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
  9151. 1146.13 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9152. 1146.13 s [really-safe-money-gen] maxBoundN :: Natural
  9153. 1146.13 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9154. 1146.13 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9155. 1146.13 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9156. 1146.13 s [really-safe-money-gen] + in ( if roundedResult >= maxBoundN
  9157. 1146.13 s [really-safe-money-gen] then Nothing
  9158. 1146.13 s [really-safe-money-gen] else Just result,
  9159. 1146.13 s [really-safe-money-gen] actualRate
  9160. 1146.13 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
  9161. 1146.13 s [really-safe-money-gen] @@ -601,11 +601,10 @@
  9162. 1146.13 s [really-safe-money-gen] validate ad =
  9163. 1146.13 s [really-safe-money-gen] mconcat
  9164. 1146.13 s [really-safe-money-gen] [ genericValidate ad,
  9165. 1146.13 s [really-safe-money-gen] case ad of
  9166. 1146.13 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9167. 1146.13 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9168. 1146.13 s [really-safe-money-gen] a1 > a2
  9169. 1146.13 s [really-safe-money-gen] - _ -> valid
  9170. 1146.13 s [really-safe-money-gen] ]
  9171. 1146.13 s [really-safe-money-gen]
  9172. 1146.13 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9173. 1152.50 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  9174. 1152.50 s [really-safe-money-gen] @@ -156,10 +156,9 @@
  9175. 1152.52 s [really-safe-money-gen] fmap
  9176. 1152.52 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9177. 1152.52 s [really-safe-money-gen] let rounder :: Ratio Natural -> Natural
  9178. 1152.52 s [really-safe-money-gen] rounder = case r of
  9179. 1152.52 s [really-safe-money-gen] - RoundUp -> ceiling
  9180. 1152.52 s [really-safe-money-gen] RoundDown -> floor
  9181. 1152.53 s [really-safe-money-gen] RoundNearest -> round
  9182. 1152.53 s [really-safe-money-gen] roundedResult :: Natural
  9183. 1152.53 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9184. 1152.53 s [really-safe-money-gen] maxBoundN :: Natural
  9185. 1152.53 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
  9186. 1152.53 s [really-safe-money-gen] @@ -600,13 +600,12 @@
  9187. 1152.53 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  9188. 1152.53 s [really-safe-money-gen] validate ad =
  9189. 1152.53 s [really-safe-money-gen] mconcat
  9190. 1152.53 s [really-safe-money-gen] - [ genericValidate ad,
  9191. 1152.53 s [really-safe-money-gen] case ad of
  9192. 1152.53 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9193. 1152.53 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9194. 1152.53 s [really-safe-money-gen] a1 > a2
  9195. 1152.53 s [really-safe-money-gen] _ -> valid
  9196. 1152.53 s [really-safe-money-gen] ]
  9197. 1152.53 s [really-safe-money-gen]
  9198. 1152.53 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9199. 1152.53 s [really-safe-money-gen]
  9200. 1152.53 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  9201. 1152.53 s [really-safe-money-gen] @@ -156,10 +156,9 @@
  9202. 1152.53 s [really-safe-money-gen] fmap
  9203. 1152.53 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9204. 1152.53 s [really-safe-money-gen] let rounder :: Ratio Natural -> Natural
  9205. 1152.53 s [really-safe-money-gen] rounder = case r of
  9206. 1152.53 s [really-safe-money-gen] RoundUp -> ceiling
  9207. 1152.53 s [really-safe-money-gen] - RoundDown -> floor
  9208. 1152.53 s [really-safe-money-gen] RoundNearest -> round
  9209. 1152.53 s [really-safe-money-gen] roundedResult :: Natural
  9210. 1152.53 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9211. 1152.53 s [really-safe-money-gen] maxBoundN :: Natural
  9212. 1152.53 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
  9213. 1152.53 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9214. 1152.54 s [really-safe-money-gen] maxBoundN :: Natural
  9215. 1152.54 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9216. 1152.54 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9217. 1152.54 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9218. 1152.54 s [really-safe-money-gen] + in ( if roundedResult < maxBoundN
  9219. 1152.54 s [really-safe-money-gen] then Nothing
  9220. 1152.54 s [really-safe-money-gen] else Just result,
  9221. 1152.54 s [really-safe-money-gen] actualRate
  9222. 1152.54 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
  9223. 1152.54 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9224. 1152.54 s [really-safe-money-gen] case ad of
  9225. 1152.54 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9226. 1152.54 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9227. 1152.54 s [really-safe-money-gen] - a1 > a2
  9228. 1152.54 s [really-safe-money-gen] + False
  9229. 1152.54 s [really-safe-money-gen] _ -> valid
  9230. 1152.54 s [really-safe-money-gen] ]
  9231. 1152.54 s [really-safe-money-gen]
  9232. 1152.54 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
  9233. 1152.54 s [really-safe-money-gen] @@ -601,11 +601,8 @@
  9234. 1152.54 s [really-safe-money-gen] validate ad =
  9235. 1152.54 s [really-safe-money-gen] mconcat
  9236. 1152.54 s [really-safe-money-gen] [ genericValidate ad,
  9237. 1152.54 s [really-safe-money-gen] case ad of
  9238. 1152.54 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  9239. 1152.54 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  9240. 1152.54 s [really-safe-money-gen] - a1 > a2
  9241. 1152.54 s [really-safe-money-gen] _ -> valid
  9242. 1152.54 s [really-safe-money-gen] ]
  9243. 1152.54 s [really-safe-money-gen]
  9244. 1152.54 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9245. 1152.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
  9246. 1152.54 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9247. 1152.54 s [really-safe-money-gen] case ad of
  9248. 1152.54 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9249. 1152.54 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9250. 1152.54 s [really-safe-money-gen] - a1 > a2
  9251. 1152.54 s [really-safe-money-gen] + a1 >= a2
  9252. 1152.54 s [really-safe-money-gen] _ -> valid
  9253. 1152.54 s [really-safe-money-gen] ]
  9254. 1152.54 s [really-safe-money-gen]
  9255. 1152.55 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
  9256. 1152.55 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9257. 1152.55 s [really-safe-money-gen] case ad of
  9258. 1152.55 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9259. 1152.55 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9260. 1152.55 s [really-safe-money-gen] - a1 > a2
  9261. 1152.55 s [really-safe-money-gen] + True
  9262. 1152.55 s [really-safe-money-gen] _ -> valid
  9263. 1152.55 s [really-safe-money-gen] ]
  9264. 1152.55 s [really-safe-money-gen]
  9265. 1152.55 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37
  9266. 1152.55 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9267. 1152.55 s [really-safe-money-gen] maxBoundN :: Natural
  9268. 1152.55 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9269. 1152.55 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9270. 1152.55 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9271. 1152.55 s [really-safe-money-gen] + in ( if not (roundedResult > maxBoundN)
  9272. 1152.55 s [really-safe-money-gen] then Nothing
  9273. 1152.55 s [really-safe-money-gen] else Just result,
  9274. 1152.55 s [really-safe-money-gen] actualRate
  9275. 1152.55 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40
  9276. 1152.55 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  9277. 1152.55 s [really-safe-money-gen] | otherwise =
  9278. 1152.55 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  9279. 1152.55 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  9280. 1152.55 s [really-safe-money-gen] - if exponent resultDouble > 65
  9281. 1152.55 s [really-safe-money-gen] + if not (exponent resultDouble > 65)
  9282. 1152.55 s [really-safe-money-gen] then Nothing
  9283. 1152.55 s [really-safe-money-gen] else
  9284. 1152.55 s [really-safe-money-gen] let ceiled :: Natural
  9285. 1152.55 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:494:29-94
  9286. 1152.55 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  9287. 1152.55 s [really-safe-money-gen] let maxBoundI :: Integer
  9288. 1152.55 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9289. 1152.55 s [really-safe-money-gen] r :: Integer
  9290. 1152.55 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9291. 1152.55 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) * acc) 0 l
  9292. 1152.55 s [really-safe-money-gen] in if r > maxBoundI
  9293. 1152.55 s [really-safe-money-gen] then Nothing
  9294. 1152.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9295. 1152.56 s [really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  9296. 1152.56 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9297. 1152.56 s [really-safe-money-gen] maxBoundN :: Natural
  9298. 1152.56 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9299. 1152.56 s [really-safe-money-gen] actualResult =
  9300. 1152.56 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9301. 1152.56 s [really-safe-money-gen] + if roundedResult <= maxBoundN
  9302. 1152.56 s [really-safe-money-gen] then Nothing
  9303. 1152.56 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9304. 1152.56 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9305. 1152.56 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22
  9306. 1152.56 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9307. 1152.56 s [really-safe-money-gen] case ad of
  9308. 1152.56 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9309. 1152.56 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9310. 1152.56 s [really-safe-money-gen] - a1 > a2
  9311. 1152.56 s [really-safe-money-gen] + not (a1 > a2)
  9312. 1152.56 s [really-safe-money-gen] _ -> valid
  9313. 1152.56 s [really-safe-money-gen] ]
  9314. 1152.56 s [really-safe-money-gen]
  9315. 1152.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  9316. 1152.56 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9317. 1152.56 s [really-safe-money-gen] maxBoundN :: Natural
  9318. 1152.56 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9319. 1152.56 s [really-safe-money-gen] actualResult =
  9320. 1152.56 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9321. 1152.56 s [really-safe-money-gen] + if False
  9322. 1152.56 s [really-safe-money-gen] then Nothing
  9323. 1152.56 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9324. 1152.56 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9325. 1152.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  9326. 1152.56 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9327. 1152.56 s [really-safe-money-gen] maxBoundN :: Natural
  9328. 1152.56 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9329. 1152.56 s [really-safe-money-gen] actualResult =
  9330. 1152.56 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9331. 1152.56 s [really-safe-money-gen] + if True
  9332. 1152.56 s [really-safe-money-gen] then Nothing
  9333. 1152.56 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9334. 1152.56 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9335. 1152.56 s [really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  9336. 1152.56 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9337. 1152.56 s [really-safe-money-gen] maxBoundN :: Natural
  9338. 1152.56 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9339. 1152.56 s [really-safe-money-gen] actualResult =
  9340. 1152.56 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9341. 1152.56 s [really-safe-money-gen] + if roundedResult >= maxBoundN
  9342. 1152.56 s [really-safe-money-gen] then Nothing
  9343. 1152.56 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9344. 1152.57 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9345. 1152.57 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45
  9346. 1152.57 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9347. 1152.57 s [really-safe-money-gen] maxBoundN :: Natural
  9348. 1152.57 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9349. 1152.57 s [really-safe-money-gen] actualResult =
  9350. 1152.57 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9351. 1152.57 s [really-safe-money-gen] + if not (roundedResult > maxBoundN)
  9352. 1156.40 s [really-safe-money-gen] then Nothing
  9353. 1156.40 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9354. 1156.40 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9355. 1156.40 s [really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  9356. 1156.40 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9357. 1156.40 s [really-safe-money-gen] maxBoundN :: Natural
  9358. 1156.40 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9359. 1156.40 s [really-safe-money-gen] actualResult =
  9360. 1156.40 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9361. 1156.40 s [really-safe-money-gen] + if roundedResult < maxBoundN
  9362. 1156.40 s [really-safe-money-gen] then Nothing
  9363. 1156.40 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9364. 1156.40 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9365. 1156.40 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
  9366. 1156.40 s [really-safe-money-gen] @@ -167,7 +167,7 @@
  9367. 1156.40 s [really-safe-money-gen] actualResult =
  9368. 1156.40 s [really-safe-money-gen] if roundedResult > maxBoundN
  9369. 1156.40 s [really-safe-money-gen] then Nothing
  9370. 1156.40 s [really-safe-money-gen] - else Just (fromIntegral roundedResult)
  9371. 1156.40 s [really-safe-money-gen] + else Nothing
  9372. 1156.40 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9373. 1156.40 s [really-safe-money-gen] LT -> RoundedDown
  9374. 1156.41 s [really-safe-money-gen] EQ -> DidNotRound
  9375. 1156.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  9376. 1156.41 s [really-safe-money-gen] @@ -168,10 +168,9 @@
  9377. 1156.41 s [really-safe-money-gen] if roundedResult > maxBoundN
  9378. 1156.41 s [really-safe-money-gen] then Nothing
  9379. 1156.41 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9380. 1156.41 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9381. 1156.41 s [really-safe-money-gen] LT -> RoundedDown
  9382. 1156.41 s [really-safe-money-gen] EQ -> DidNotRound
  9383. 1156.41 s [really-safe-money-gen] - GT -> RoundedUp
  9384. 1156.41 s [really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
  9385. 1156.41 s [really-safe-money-gen] )
  9386. 1156.41 s [really-safe-money-gen] . Prelude.sum
  9387. 1156.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  9388. 1156.41 s [really-safe-money-gen] @@ -168,10 +168,9 @@
  9389. 1156.41 s [really-safe-money-gen] if roundedResult > maxBoundN
  9390. 1156.41 s [really-safe-money-gen] then Nothing
  9391. 1156.41 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9392. 1156.41 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9393. 1156.41 s [really-safe-money-gen] LT -> RoundedDown
  9394. 1156.41 s [really-safe-money-gen] - EQ -> DidNotRound
  9395. 1156.41 s [really-safe-money-gen] GT -> RoundedUp
  9396. 1156.41 s [really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
  9397. 1156.41 s [really-safe-money-gen] )
  9398. 1156.41 s [really-safe-money-gen] . Prelude.sum
  9399. 1156.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  9400. 1156.41 s [really-safe-money-gen] @@ -168,10 +168,9 @@
  9401. 1156.41 s [really-safe-money-gen] if roundedResult > maxBoundN
  9402. 1156.41 s [really-safe-money-gen] then Nothing
  9403. 1156.41 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9404. 1156.41 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9405. 1156.41 s [really-safe-money-gen] - LT -> RoundedDown
  9406. 1156.41 s [really-safe-money-gen] EQ -> DidNotRound
  9407. 1156.41 s [really-safe-money-gen] GT -> RoundedUp
  9408. 1156.41 s [really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
  9409. 1156.41 s [really-safe-money-gen] )
  9410. 1156.41 s [really-safe-money-gen] . Prelude.sum
  9411. 1156.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  9412. 1156.42 s [really-safe-money-gen] @@ -156,10 +156,9 @@
  9413. 1156.42 s [really-safe-money-gen] fmap
  9414. 1156.42 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9415. 1156.42 s [really-safe-money-gen] let rounder :: Ratio Natural -> Natural
  9416. 1156.42 s [really-safe-money-gen] rounder = case r of
  9417. 1156.42 s [really-safe-money-gen] RoundUp -> ceiling
  9418. 1156.42 s [really-safe-money-gen] RoundDown -> floor
  9419. 1156.42 s [really-safe-money-gen] - RoundNearest -> round
  9420. 1156.42 s [really-safe-money-gen] roundedResult :: Natural
  9421. 1156.42 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9422. 1156.42 s [really-safe-money-gen] maxBoundN :: Natural
  9423. 1156.42 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:661:19-28
  9424. 1156.42 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  9425. 1156.42 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  9426. 1156.42 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  9427. 1156.42 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  9428. 1156.42 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  9429. 1156.42 s [really-safe-money-gen] +fraction _ _ 0 = (Nothing, 0)
  9430. 1156.42 s [really-safe-money-gen] fraction r (Amount a) f =
  9431. 1156.42 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  9432. 1156.42 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  9433. 1156.42 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
  9434. 1156.42 s [really-safe-money-gen] @@ -665,10 +665,9 @@
  9435. 1156.42 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  9436. 1156.42 s [really-safe-money-gen] theoreticalResult = amountAsRatio * f
  9437. 1156.42 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  9438. 1156.42 s [really-safe-money-gen] rounder = case r of
  9439. 1156.42 s [really-safe-money-gen] RoundUp -> ceiling
  9440. 1156.43 s [really-safe-money-gen] - RoundDown -> floor
  9441. 1156.43 s [really-safe-money-gen] RoundNearest -> round
  9442. 1156.43 s [really-safe-money-gen] roundedResult :: Natural
  9443. 1156.43 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9444. 1156.43 s [really-safe-money-gen] actualRate :: Ratio Natural
  9445. 1156.43 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  9446. 1156.43 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  9447. 1156.43 s [really-safe-money-gen] Just a -> do
  9448. 1156.43 s [really-safe-money-gen] r <- Amount.subtract a amount
  9449. 1156.43 s [really-safe-money-gen] Just $
  9450. 1156.43 s [really-safe-money-gen] - if r == Amount.zero
  9451. 1156.43 s [really-safe-money-gen] + if True
  9452. 1156.43 s [really-safe-money-gen] then M.delete currency m
  9453. 1156.43 s [really-safe-money-gen] else M.insert currency r m
  9454. 1156.43 s [really-safe-money-gen]
  9455. 1156.43 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
  9456. 1156.43 s [really-safe-money-gen] @@ -109,7 +109,7 @@
  9457. 1156.43 s [really-safe-money-gen]
  9458. 1156.43 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  9459. 1156.43 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9460. 1156.43 s [really-safe-money-gen] -subtractAmount m _ (Amount 0) = Just m
  9461. 1156.43 s [really-safe-money-gen] +subtractAmount m _ (Amount 0) = Nothing
  9462. 1156.43 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  9463. 1156.43 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9464. 1156.43 s [really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
  9465. 1156.43 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28
  9466. 1156.43 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  9467. 1156.43 s [really-safe-money-gen] Just a -> do
  9468. 1156.43 s [really-safe-money-gen] r <- Amount.subtract a amount
  9469. 1156.43 s [really-safe-money-gen] Just $
  9470. 1156.43 s [really-safe-money-gen] - if r == Amount.zero
  9471. 1156.43 s [really-safe-money-gen] + if not (r == Amount.zero)
  9472. 1156.43 s [really-safe-money-gen] then M.delete currency m
  9473. 1156.43 s [really-safe-money-gen] else M.insert currency r m
  9474. 1156.43 s [really-safe-money-gen]
  9475. 1156.43 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  9476. 1156.43 s [really-safe-money-gen] @@ -111,14 +111,13 @@
  9477. 1156.44 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9478. 1156.44 s [really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
  9479. 1156.44 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  9480. 1156.44 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9481. 1156.44 s [really-safe-money-gen] - Nothing -> Nothing -- Can't go below zero
  9482. 1156.44 s [really-safe-money-gen] Just a -> do
  9483. 1156.44 s [really-safe-money-gen] r <- Amount.subtract a amount
  9484. 1156.44 s [really-safe-money-gen] Just $
  9485. 1156.44 s [really-safe-money-gen] if r == Amount.zero
  9486. 1156.44 s [really-safe-money-gen] then M.delete currency m
  9487. 1156.44 s [really-safe-money-gen] else M.insert currency r m
  9488. 1156.44 s [really-safe-money-gen]
  9489. 1156.44 s [really-safe-money-gen] -- | Try to convert every amount to one currency.
  9490. 1156.44 s [really-safe-money-gen] --
  9491. 1156.44 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106
  9492. 1156.44 s [really-safe-money-gen] @@ -179,7 +179,7 @@
  9493. 1156.44 s [really-safe-money-gen] . traverse
  9494. 1156.44 s [really-safe-money-gen] ( \(currency, a) ->
  9495. 1156.44 s [really-safe-money-gen] ( \(cr, qf2) ->
  9496. 1156.44 s [really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
  9497. 1156.44 s [really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) + ConversionRate.conversionFactor qf2 cr qf1
  9498. 1156.44 s [really-safe-money-gen] )
  9499. 1156.44 s [really-safe-money-gen] <$> func currency
  9500. 1156.44 s [really-safe-money-gen] )
  9501. 1156.44 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  9502. 1156.44 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  9503. 1156.44 s [really-safe-money-gen] Just a -> do
  9504. 1156.44 s [really-safe-money-gen] r <- Amount.subtract a amount
  9505. 1156.44 s [really-safe-money-gen] Just $
  9506. 1156.44 s [really-safe-money-gen] - if r == Amount.zero
  9507. 1156.44 s [really-safe-money-gen] + if False
  9508. 1156.44 s [really-safe-money-gen] then M.delete currency m
  9509. 1156.44 s [really-safe-money-gen] else M.insert currency r m
  9510. 1156.44 s [really-safe-money-gen]
  9511. 1156.44 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106
  9512. 1156.44 s [really-safe-money-gen] @@ -179,7 +179,7 @@
  9513. 1156.44 s [really-safe-money-gen] . traverse
  9514. 1156.44 s [really-safe-money-gen] ( \(currency, a) ->
  9515. 1156.44 s [really-safe-money-gen] ( \(cr, qf2) ->
  9516. 1156.44 s [really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
  9517. 1156.44 s [really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) - ConversionRate.conversionFactor qf2 cr qf1
  9518. 1156.44 s [really-safe-money-gen] )
  9519. 1156.44 s [really-safe-money-gen] <$> func currency
  9520. 1156.44 s [really-safe-money-gen] )
  9521. 1156.44 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28
  9522. 1156.44 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  9523. 1156.44 s [really-safe-money-gen] Just a -> do
  9524. 1156.44 s [really-safe-money-gen] r <- Amount.add a amount
  9525. 1156.44 s [really-safe-money-gen] Just $
  9526. 1160.87 s [really-safe-money-gen] - if r == Amount.zero
  9527. 1160.87 s [really-safe-money-gen] + if not (r == Amount.zero)
  9528. 1160.94 s [really-safe-money-gen] then M.delete currency m
  9529. 1160.94 s [really-safe-money-gen] else M.insert currency r m
  9530. 1160.94 s [really-safe-money-gen]
  9531. 1160.94 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  9532. 1160.94 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  9533. 1160.94 s [really-safe-money-gen] Just a -> do
  9534. 1160.94 s [really-safe-money-gen] r <- Amount.add a amount
  9535. 1160.94 s [really-safe-money-gen] Just $
  9536. 1160.94 s [really-safe-money-gen] - if r == Amount.zero
  9537. 1160.94 s [really-safe-money-gen] + if False
  9538. 1160.94 s [really-safe-money-gen] then M.delete currency m
  9539. 1160.94 s [really-safe-money-gen] else M.insert currency r m
  9540. 1160.94 s [really-safe-money-gen]
  9541. 1160.94 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  9542. 1160.94 s [really-safe-money-gen] @@ -111,14 +111,8 @@
  9543. 1160.94 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9544. 1160.94 s [really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
  9545. 1160.95 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  9546. 1160.95 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9547. 1160.95 s [really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
  9548. 1160.95 s [really-safe-money-gen] - Just a -> do
  9549. 1160.95 s [really-safe-money-gen] - r <- Amount.subtract a amount
  9550. 1160.95 s [really-safe-money-gen] - Just $
  9551. 1160.95 s [really-safe-money-gen] - if r == Amount.zero
  9552. 1160.95 s [really-safe-money-gen] - then M.delete currency m
  9553. 1160.95 s [really-safe-money-gen] - else M.insert currency r m
  9554. 1160.95 s [really-safe-money-gen]
  9555. 1160.95 s [really-safe-money-gen] -- | Try to convert every amount to one currency.
  9556. 1160.95 s [really-safe-money-gen] --
  9557. 1160.95 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  9558. 1160.95 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  9559. 1160.95 s [really-safe-money-gen] Just a -> do
  9560. 1160.95 s [really-safe-money-gen] r <- Amount.add a amount
  9561. 1160.95 s [really-safe-money-gen] Just $
  9562. 1160.95 s [really-safe-money-gen] - if r == Amount.zero
  9563. 1160.95 s [really-safe-money-gen] + if True
  9564. 1160.95 s [really-safe-money-gen] then M.delete currency m
  9565. 1160.95 s [really-safe-money-gen] else M.insert currency r m
  9566. 1160.95 s [really-safe-money-gen]
  9567. 1160.95 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
  9568. 1160.95 s [really-safe-money-gen] @@ -96,7 +96,7 @@
  9569. 1160.95 s [really-safe-money-gen]
  9570. 1160.95 s [really-safe-money-gen] -- | Add an 'Amount' to a 'MultiAmount'
  9571. 1160.95 s [really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9572. 1160.95 s [really-safe-money-gen] -addAmount m _ (Amount 0) = Just m
  9573. 1160.95 s [really-safe-money-gen] +addAmount m _ (Amount 0) = Nothing
  9574. 1160.95 s [really-safe-money-gen] addAmount (MultiAmount m) currency amount =
  9575. 1160.95 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9576. 1160.95 s [really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
  9577. 1160.95 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  9578. 1160.95 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  9579. 1160.95 s [really-safe-money-gen]
  9580. 1160.95 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  9581. 1160.95 s [really-safe-money-gen] fromAmount currency amount =
  9582. 1160.95 s [really-safe-money-gen] - if amount == Amount.zero
  9583. 1160.95 s [really-safe-money-gen] + if True
  9584. 1160.95 s [really-safe-money-gen] then zero
  9585. 1160.95 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  9586. 1160.95 s [really-safe-money-gen]
  9587. 1160.95 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  9588. 1160.95 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  9589. 1160.96 s [really-safe-money-gen]
  9590. 1160.96 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  9591. 1160.96 s [really-safe-money-gen] fromAmount currency amount =
  9592. 1160.96 s [really-safe-money-gen] - if amount == Amount.zero
  9593. 1160.96 s [really-safe-money-gen] + if False
  9594. 1160.96 s [really-safe-money-gen] then zero
  9595. 1160.96 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  9596. 1160.96 s [really-safe-money-gen]
  9597. 1160.96 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27
  9598. 1160.96 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  9599. 1160.96 s [really-safe-money-gen]
  9600. 1160.96 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  9601. 1160.96 s [really-safe-money-gen] fromAmount currency amount =
  9602. 1160.96 s [really-safe-money-gen] - if amount == Amount.zero
  9603. 1160.96 s [really-safe-money-gen] + if not (amount == Amount.zero)
  9604. 1160.96 s [really-safe-money-gen] then zero
  9605. 1160.96 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  9606. 1160.96 s [really-safe-money-gen]
  9607. 1160.96 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  9608. 1160.96 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  9609. 1160.96 s [really-safe-money-gen] [ genericValidate ma,
  9610. 1160.96 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9611. 1160.96 s [really-safe-money-gen] declare "The amount is not zero" $
  9612. 1160.96 s [really-safe-money-gen] - a /= Amount.zero
  9613. 1160.96 s [really-safe-money-gen] + False
  9614. 1160.96 s [really-safe-money-gen] ]
  9615. 1160.96 s [really-safe-money-gen]
  9616. 1160.96 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9617. 1160.96 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29
  9618. 1160.96 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  9619. 1160.96 s [really-safe-money-gen] [ genericValidate ma,
  9620. 1160.96 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9621. 1160.96 s [really-safe-money-gen] declare "The amount is not zero" $
  9622. 1160.96 s [really-safe-money-gen] - a /= Amount.zero
  9623. 1160.96 s [really-safe-money-gen] + not (a /= Amount.zero)
  9624. 1160.96 s [really-safe-money-gen] ]
  9625. 1160.96 s [really-safe-money-gen]
  9626. 1160.96 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9627. 1160.96 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  9628. 1160.96 s [really-safe-money-gen] @@ -60,11 +60,7 @@
  9629. 1160.96 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  9630. 1160.96 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  9631. 1160.96 s [really-safe-money-gen] mconcat
  9632. 1160.96 s [really-safe-money-gen] - [ genericValidate ma,
  9633. 1160.96 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  9634. 1160.96 s [really-safe-money-gen] - declare "The amount is not zero" $
  9635. 1160.96 s [really-safe-money-gen] - a /= Amount.zero
  9636. 1160.96 s [really-safe-money-gen] ]
  9637. 1160.96 s [really-safe-money-gen]
  9638. 1160.96 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9639. 1160.96 s [really-safe-money-gen]
  9640. 1160.96 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  9641. 1160.97 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  9642. 1160.97 s [really-safe-money-gen] [ genericValidate ma,
  9643. 1160.97 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9644. 1160.97 s [really-safe-money-gen] declare "The amount is not zero" $
  9645. 1160.97 s [really-safe-money-gen] - a /= Amount.zero
  9646. 1160.97 s [really-safe-money-gen] + True
  9647. 1160.97 s [really-safe-money-gen] ]
  9648. 1160.97 s [really-safe-money-gen]
  9649. 1160.97 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9650. 1160.97 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  9651. 1160.97 s [really-safe-money-gen] @@ -60,11 +60,10 @@
  9652. 1160.97 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  9653. 1160.97 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  9654. 1160.97 s [really-safe-money-gen] mconcat
  9655. 1160.97 s [really-safe-money-gen] - [ genericValidate ma,
  9656. 1160.97 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9657. 1160.97 s [really-safe-money-gen] declare "The amount is not zero" $
  9658. 1160.97 s [really-safe-money-gen] a /= Amount.zero
  9659. 1160.97 s [really-safe-money-gen] ]
  9660. 1160.97 s [really-safe-money-gen]
  9661. 1160.97 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9662. 1160.97 s [really-safe-money-gen]
  9663. 1160.97 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  9664. 1160.97 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  9665. 1160.97 s [really-safe-money-gen]
  9666. 1160.97 s [really-safe-money-gen] -- | See 'Amount.distribute'
  9667. 1160.97 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  9668. 1160.97 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  9669. 1160.97 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  9670. 1160.97 s [really-safe-money-gen] - DistributedZero -> DistributedZero
  9671. 1160.97 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  9672. 1160.97 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  9673. 1160.97 s [really-safe-money-gen]
  9674. 1160.97 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  9675. 1160.97 s [really-safe-money-gen]
  9676. 1160.97 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  9677. 1160.97 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  9678. 1160.97 s [really-safe-money-gen]
  9679. 1160.97 s [really-safe-money-gen] -- | See 'Amount.distribute'
  9680. 1160.97 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  9681. 1160.97 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  9682. 1160.97 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  9683. 1160.97 s [really-safe-money-gen] DistributedZero -> DistributedZero
  9684. 1160.97 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  9685. 1160.97 s [really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  9686. 1160.97 s [really-safe-money-gen]
  9687. 1160.97 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  9688. 1160.97 s [really-safe-money-gen]
  9689. 1160.98 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  9690. 1160.98 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  9691. 1160.98 s [really-safe-money-gen]
  9692. 1160.98 s [really-safe-money-gen] -- | See 'Amount.distribute'
  9693. 1160.98 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  9694. 1160.98 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  9695. 1160.98 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  9696. 1160.98 s [really-safe-money-gen] DistributedZero -> DistributedZero
  9697. 1160.98 s [really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  9698. 1160.98 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  9699. 1160.98 s [really-safe-money-gen]
  9700. 1160.98 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  9701. 1160.98 s [really-safe-money-gen]
  9702. 1160.98 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  9703. 1160.98 s [really-safe-money-gen] @@ -98,14 +98,8 @@
  9704. 1160.98 s [really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9705. 1160.98 s [really-safe-money-gen] addAmount m _ (Amount 0) = Just m
  9706. 1160.98 s [really-safe-money-gen] addAmount (MultiAmount m) currency amount =
  9707. 1160.98 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9708. 1165.10 s [really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
  9709. 1165.10 s [really-safe-money-gen] - Just a -> do
  9710. 1165.10 s [really-safe-money-gen] - r <- Amount.add a amount
  9711. 1165.11 s [really-safe-money-gen] - Just $
  9712. 1165.11 s [really-safe-money-gen] - if r == Amount.zero
  9713. 1165.11 s [really-safe-money-gen] - then M.delete currency m
  9714. 1165.11 s [really-safe-money-gen] - else M.insert currency r m
  9715. 1165.11 s [really-safe-money-gen]
  9716. 1165.11 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  9717. 1165.11 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9718. 1165.11 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  9719. 1165.11 s [really-safe-money-gen] @@ -171,10 +171,9 @@
  9720. 1165.11 s [really-safe-money-gen] fmap
  9721. 1165.11 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9722. 1165.11 s [really-safe-money-gen] let rounder :: Rational -> Integer
  9723. 1165.11 s [really-safe-money-gen] rounder = case r of
  9724. 1165.11 s [really-safe-money-gen] RoundUp -> ceiling
  9725. 1165.11 s [really-safe-money-gen] - RoundDown -> floor
  9726. 1165.11 s [really-safe-money-gen] RoundNearest -> round
  9727. 1165.11 s [really-safe-money-gen] roundedResult :: Integer
  9728. 1165.11 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9729. 1165.11 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9730. 1165.11 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  9731. 1165.11 s [really-safe-money-gen] @@ -98,14 +98,13 @@
  9732. 1165.11 s [really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9733. 1165.11 s [really-safe-money-gen] addAmount m _ (Amount 0) = Just m
  9734. 1165.11 s [really-safe-money-gen] addAmount (MultiAmount m) currency amount =
  9735. 1165.11 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9736. 1165.12 s [really-safe-money-gen] - Nothing -> Just $ M.insert currency amount m
  9737. 1165.12 s [really-safe-money-gen] Just a -> do
  9738. 1165.12 s [really-safe-money-gen] r <- Amount.add a amount
  9739. 1165.12 s [really-safe-money-gen] Just $
  9740. 1165.12 s [really-safe-money-gen] if r == Amount.zero
  9741. 1165.12 s [really-safe-money-gen] then M.delete currency m
  9742. 1165.12 s [really-safe-money-gen] else M.insert currency r m
  9743. 1165.12 s [really-safe-money-gen]
  9744. 1165.12 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  9745. 1165.12 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9746. 1165.12 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  9747. 1165.12 s [really-safe-money-gen] @@ -171,10 +171,9 @@
  9748. 1165.12 s [really-safe-money-gen] fmap
  9749. 1165.12 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9750. 1165.12 s [really-safe-money-gen] let rounder :: Rational -> Integer
  9751. 1165.12 s [really-safe-money-gen] rounder = case r of
  9752. 1165.12 s [really-safe-money-gen] - RoundUp -> ceiling
  9753. 1165.12 s [really-safe-money-gen] RoundDown -> floor
  9754. 1165.12 s [really-safe-money-gen] RoundNearest -> round
  9755. 1165.12 s [really-safe-money-gen] roundedResult :: Integer
  9756. 1165.12 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9757. 1165.12 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9758. 1165.12 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  9759. 1165.12 s [really-safe-money-gen] @@ -177,10 +177,9 @@
  9760. 1165.12 s [really-safe-money-gen] RoundNearest -> round
  9761. 1165.12 s [really-safe-money-gen] roundedResult :: Integer
  9762. 1165.12 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9763. 1165.12 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9764. 1165.12 s [really-safe-money-gen] - LT -> RoundedDown
  9765. 1165.12 s [really-safe-money-gen] EQ -> DidNotRound
  9766. 1165.12 s [really-safe-money-gen] GT -> RoundedUp
  9767. 1165.12 s [really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
  9768. 1165.12 s [really-safe-money-gen] )
  9769. 1165.12 s [really-safe-money-gen] . Prelude.sum
  9770. 1165.12 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  9771. 1165.12 s [really-safe-money-gen] @@ -171,10 +171,9 @@
  9772. 1165.12 s [really-safe-money-gen] fmap
  9773. 1165.12 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9774. 1165.12 s [really-safe-money-gen] let rounder :: Rational -> Integer
  9775. 1165.12 s [really-safe-money-gen] rounder = case r of
  9776. 1165.12 s [really-safe-money-gen] RoundUp -> ceiling
  9777. 1165.12 s [really-safe-money-gen] RoundDown -> floor
  9778. 1165.12 s [really-safe-money-gen] - RoundNearest -> round
  9779. 1165.12 s [really-safe-money-gen] roundedResult :: Integer
  9780. 1165.12 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9781. 1165.12 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9782. 1165.12 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  9783. 1165.12 s [really-safe-money-gen] @@ -177,10 +177,9 @@
  9784. 1165.12 s [really-safe-money-gen] RoundNearest -> round
  9785. 1165.13 s [really-safe-money-gen] roundedResult :: Integer
  9786. 1165.13 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9787. 1165.13 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9788. 1165.13 s [really-safe-money-gen] LT -> RoundedDown
  9789. 1165.13 s [really-safe-money-gen] - EQ -> DidNotRound
  9790. 1165.13 s [really-safe-money-gen] GT -> RoundedUp
  9791. 1165.13 s [really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
  9792. 1165.13 s [really-safe-money-gen] )
  9793. 1165.13 s [really-safe-money-gen] . Prelude.sum
  9794. 1165.13 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  9795. 1165.13 s [really-safe-money-gen] @@ -177,10 +177,9 @@
  9796. 1165.13 s [really-safe-money-gen] RoundNearest -> round
  9797. 1165.13 s [really-safe-money-gen] roundedResult :: Integer
  9798. 1165.13 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9799. 1165.13 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9800. 1165.13 s [really-safe-money-gen] LT -> RoundedDown
  9801. 1165.13 s [really-safe-money-gen] EQ -> DidNotRound
  9802. 1165.13 s [really-safe-money-gen] - GT -> RoundedUp
  9803. 1165.13 s [really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
  9804. 1165.13 s [really-safe-money-gen] )
  9805. 1165.13 s [really-safe-money-gen] . Prelude.sum
  9806. 1165.13 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51
  9807. 1165.13 s [really-safe-money-gen] @@ -189,8 +189,8 @@
  9808. 1165.13 s [really-safe-money-gen] ( \(currency, a) ->
  9809. 1165.13 s [really-safe-money-gen] ( \(cr, qf2) ->
  9810. 1165.13 s [really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
  9811. 1165.13 s [really-safe-money-gen] in Account.toMinimalQuantisations a
  9812. 1165.13 s [really-safe-money-gen] - * toInteger (numerator factor)
  9813. 1165.13 s [really-safe-money-gen] + + toInteger (numerator factor)
  9814. 1165.13 s [really-safe-money-gen] % toInteger (denominator factor)
  9815. 1165.13 s [really-safe-money-gen] )
  9816. 1165.13 s [really-safe-money-gen] <$> func currency
  9817. 1165.13 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
  9818. 1165.13 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  9819. 1165.13 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9820. 1165.13 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9821. 1165.13 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  9822. 1165.13 s [really-safe-money-gen] -subtractAccount m _ (Negative (Amount 0)) = Just m
  9823. 1165.13 s [really-safe-money-gen] +subtractAccount m _ (Negative (Amount 0)) = Nothing
  9824. 1165.13 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9825. 1165.13 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9826. 1165.13 s [really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
  9827. 1165.13 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
  9828. 1165.13 s [really-safe-money-gen] @@ -123,7 +123,7 @@
  9829. 1165.13 s [really-safe-money-gen]
  9830. 1165.13 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9831. 1165.13 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9832. 1165.13 s [really-safe-money-gen] -subtractAccount m _ (Positive (Amount 0)) = Just m
  9833. 1165.13 s [really-safe-money-gen] +subtractAccount m _ (Positive (Amount 0)) = Nothing
  9834. 1165.13 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  9835. 1165.13 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9836. 1165.13 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9837. 1165.13 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  9838. 1165.13 s [really-safe-money-gen] @@ -131,7 +131,7 @@
  9839. 1165.13 s [really-safe-money-gen] Just a -> do
  9840. 1165.13 s [really-safe-money-gen] r <- Account.subtract a account
  9841. 1165.13 s [really-safe-money-gen] Just $
  9842. 1165.13 s [really-safe-money-gen] - if r == Account.zero
  9843. 1165.13 s [really-safe-money-gen] + if False
  9844. 1165.13 s [really-safe-money-gen] then M.delete currency m
  9845. 1165.13 s [really-safe-money-gen] else M.insert currency r m
  9846. 1165.13 s [really-safe-money-gen]
  9847. 1165.13 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  9848. 1165.13 s [really-safe-money-gen] @@ -131,7 +131,7 @@
  9849. 1165.13 s [really-safe-money-gen] Just a -> do
  9850. 1165.13 s [really-safe-money-gen] r <- Account.subtract a account
  9851. 1165.14 s [really-safe-money-gen] Just $
  9852. 1165.14 s [really-safe-money-gen] - if r == Account.zero
  9853. 1165.14 s [really-safe-money-gen] + if True
  9854. 1165.14 s [really-safe-money-gen] then M.delete currency m
  9855. 1165.14 s [really-safe-money-gen] else M.insert currency r m
  9856. 1165.14 s [really-safe-money-gen]
  9857. 1165.14 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  9858. 1165.14 s [really-safe-money-gen] @@ -126,14 +126,13 @@
  9859. 1165.14 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  9860. 1165.14 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  9861. 1165.14 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9862. 1165.14 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9863. 1165.14 s [really-safe-money-gen] - Nothing -> Just $ M.insert currency (Account.negate account) m
  9864. 1165.14 s [really-safe-money-gen] Just a -> do
  9865. 1165.14 s [really-safe-money-gen] r <- Account.subtract a account
  9866. 1165.14 s [really-safe-money-gen] Just $
  9867. 1165.14 s [really-safe-money-gen] if r == Account.zero
  9868. 1165.14 s [really-safe-money-gen] then M.delete currency m
  9869. 1165.14 s [really-safe-money-gen] else M.insert currency r m
  9870. 1165.14 s [really-safe-money-gen]
  9871. 1165.14 s [really-safe-money-gen] -- | Try to convert every account to one currency.
  9872. 1165.14 s [really-safe-money-gen] --
  9873. 1165.14 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:134:12-29
  9874. 1165.14 s [really-safe-money-gen] @@ -131,7 +131,7 @@
  9875. 1165.14 s [really-safe-money-gen] Just a -> do
  9876. 1165.14 s [really-safe-money-gen] r <- Account.subtract a account
  9877. 1165.14 s [really-safe-money-gen] Just $
  9878. 1165.14 s [really-safe-money-gen] - if r == Account.zero
  9879. 1165.14 s [really-safe-money-gen] + if not (r == Account.zero)
  9880. 1165.14 s [really-safe-money-gen] then M.delete currency m
  9881. 1165.14 s [really-safe-money-gen] else M.insert currency r m
  9882. 1165.14 s [really-safe-money-gen]
  9883. 1165.14 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  9884. 1165.14 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  9885. 1165.14 s [really-safe-money-gen]
  9886. 1165.14 s [really-safe-money-gen] -- | See 'Amount.distribute'
  9887. 1169.18 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  9888. 1169.27 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  9889. 1169.27 s [really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  9890. 1169.27 s [really-safe-money-gen] DistributedZero -> DistributedZero
  9891. 1169.27 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  9892. 1169.27 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  9893. 1169.27 s [really-safe-money-gen]
  9894. 1169.27 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  9895. 1169.27 s [really-safe-money-gen]
  9896. 1169.27 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
  9897. 1169.27 s [really-safe-money-gen] @@ -600,13 +600,7 @@
  9898. 1169.27 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  9899. 1169.27 s [really-safe-money-gen] validate ad =
  9900. 1169.27 s [really-safe-money-gen] mconcat
  9901. 1169.27 s [really-safe-money-gen] - [ genericValidate ad,
  9902. 1169.27 s [really-safe-money-gen] - case ad of
  9903. 1169.27 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  9904. 1169.27 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  9905. 1169.27 s [really-safe-money-gen] - a1 > a2
  9906. 1169.27 s [really-safe-money-gen] - _ -> valid
  9907. 1169.27 s [really-safe-money-gen] ]
  9908. 1169.27 s [really-safe-money-gen]
  9909. 1169.27 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9910. 1169.27 s [really-safe-money-gen]
  9911. 1169.27 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  9912. 1169.28 s [really-safe-money-gen] @@ -126,14 +126,8 @@
  9913. 1169.28 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  9914. 1169.28 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  9915. 1169.28 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9916. 1169.28 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9917. 1169.28 s [really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
  9918. 1169.28 s [really-safe-money-gen] - Just a -> do
  9919. 1169.28 s [really-safe-money-gen] - r <- Account.subtract a account
  9920. 1169.28 s [really-safe-money-gen] - Just $
  9921. 1169.28 s [really-safe-money-gen] - if r == Account.zero
  9922. 1169.28 s [really-safe-money-gen] - then M.delete currency m
  9923. 1169.28 s [really-safe-money-gen] - else M.insert currency r m
  9924. 1169.28 s [really-safe-money-gen]
  9925. 1169.28 s [really-safe-money-gen] -- | Try to convert every account to one currency.
  9926. 1169.28 s [really-safe-money-gen] --
  9927. 1169.28 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
  9928. 1169.28 s [really-safe-money-gen] @@ -109,7 +109,7 @@
  9929. 1169.28 s [really-safe-money-gen]
  9930. 1169.28 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9931. 1169.28 s [really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9932. 1169.28 s [really-safe-money-gen] -addAccount m _ (Positive (Amount 0)) = Just m
  9933. 1169.28 s [really-safe-money-gen] +addAccount m _ (Positive (Amount 0)) = Nothing
  9934. 1169.28 s [really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
  9935. 1169.28 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  9936. 1169.28 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9937. 1169.28 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  9938. 1169.28 s [really-safe-money-gen] @@ -117,7 +117,7 @@
  9939. 1169.28 s [really-safe-money-gen] Just a -> do
  9940. 1169.28 s [really-safe-money-gen] r <- Account.add a account
  9941. 1169.28 s [really-safe-money-gen] Just $
  9942. 1169.28 s [really-safe-money-gen] - if r == Account.zero
  9943. 1169.28 s [really-safe-money-gen] + if True
  9944. 1169.28 s [really-safe-money-gen] then M.delete currency m
  9945. 1169.28 s [really-safe-money-gen] else M.insert currency r m
  9946. 1169.28 s [really-safe-money-gen]
  9947. 1169.28 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:120:12-29
  9948. 1169.28 s [really-safe-money-gen] @@ -117,7 +117,7 @@
  9949. 1169.28 s [really-safe-money-gen] Just a -> do
  9950. 1169.28 s [really-safe-money-gen] r <- Account.add a account
  9951. 1169.28 s [really-safe-money-gen] Just $
  9952. 1169.29 s [really-safe-money-gen] - if r == Account.zero
  9953. 1169.29 s [really-safe-money-gen] + if not (r == Account.zero)
  9954. 1169.29 s [really-safe-money-gen] then M.delete currency m
  9955. 1169.29 s [really-safe-money-gen] else M.insert currency r m
  9956. 1169.29 s [really-safe-money-gen]
  9957. 1169.29 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  9958. 1169.29 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  9959. 1169.29 s [really-safe-money-gen]
  9960. 1169.29 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  9961. 1169.29 s [really-safe-money-gen] fromAccount currency amount =
  9962. 1169.29 s [really-safe-money-gen] - if amount == Account.zero
  9963. 1169.29 s [really-safe-money-gen] + if True
  9964. 1169.29 s [really-safe-money-gen] then zero
  9965. 1169.29 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  9966. 1169.29 s [really-safe-money-gen]
  9967. 1169.29 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  9968. 1169.29 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  9969. 1169.29 s [really-safe-money-gen]
  9970. 1169.29 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  9971. 1169.29 s [really-safe-money-gen] fromAccount currency amount =
  9972. 1169.29 s [really-safe-money-gen] - if amount == Account.zero
  9973. 1169.29 s [really-safe-money-gen] + if False
  9974. 1169.29 s [really-safe-money-gen] then zero
  9975. 1169.29 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  9976. 1169.29 s [really-safe-money-gen]
  9977. 1169.29 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  9978. 1169.29 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  9979. 1169.29 s [really-safe-money-gen] [ genericValidate ma,
  9980. 1169.29 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9981. 1169.29 s [really-safe-money-gen] declare "The account is not zero" $
  9982. 1169.29 s [really-safe-money-gen] - a /= Account.zero
  9983. 1169.29 s [really-safe-money-gen] + False
  9984. 1169.29 s [really-safe-money-gen] ]
  9985. 1169.29 s [really-safe-money-gen]
  9986. 1169.29 s [really-safe-money-gen] -- TODO no empty currencies
  9987. 1169.29 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:78:6-28
  9988. 1169.29 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  9989. 1169.29 s [really-safe-money-gen]
  9990. 1169.29 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  9991. 1169.29 s [really-safe-money-gen] fromAccount currency amount =
  9992. 1169.29 s [really-safe-money-gen] - if amount == Account.zero
  9993. 1169.29 s [really-safe-money-gen] + if not (amount == Account.zero)
  9994. 1169.29 s [really-safe-money-gen] then zero
  9995. 1169.29 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  9996. 1169.29 s [really-safe-money-gen]
  9997. 1169.29 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
  9998. 1169.29 s [really-safe-money-gen] @@ -110,7 +110,7 @@
  9999. 1169.29 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10000. 1169.29 s [really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10001. 1169.29 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  10002. 1169.29 s [really-safe-money-gen] -addAccount m _ (Negative (Amount 0)) = Just m
  10003. 1169.29 s [really-safe-money-gen] +addAccount m _ (Negative (Amount 0)) = Nothing
  10004. 1169.29 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10005. 1169.29 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10006. 1169.29 s [really-safe-money-gen] Nothing -> Just $ M.insert currency account m
  10007. 1169.29 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  10008. 1169.29 s [really-safe-money-gen] @@ -112,14 +112,8 @@
  10009. 1169.29 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  10010. 1169.29 s [really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
  10011. 1169.29 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10012. 1169.29 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10013. 1169.29 s [really-safe-money-gen] Nothing -> Just $ M.insert currency account m
  10014. 1169.29 s [really-safe-money-gen] - Just a -> do
  10015. 1169.29 s [really-safe-money-gen] - r <- Account.add a account
  10016. 1169.29 s [really-safe-money-gen] - Just $
  10017. 1169.29 s [really-safe-money-gen] - if r == Account.zero
  10018. 1169.29 s [really-safe-money-gen] - then M.delete currency m
  10019. 1169.29 s [really-safe-money-gen] - else M.insert currency r m
  10020. 1169.29 s [really-safe-money-gen]
  10021. 1169.29 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10022. 1169.29 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10023. 1169.29 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  10024. 1169.29 s [really-safe-money-gen] @@ -63,11 +63,7 @@
  10025. 1169.29 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10026. 1169.29 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10027. 1169.30 s [really-safe-money-gen] mconcat
  10028. 1169.30 s [really-safe-money-gen] - [ genericValidate ma,
  10029. 1169.30 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  10030. 1169.30 s [really-safe-money-gen] - declare "The account is not zero" $
  10031. 1169.30 s [really-safe-money-gen] - a /= Account.zero
  10032. 1169.30 s [really-safe-money-gen] ]
  10033. 1169.30 s [really-safe-money-gen]
  10034. 1169.30 s [really-safe-money-gen] -- TODO no empty currencies
  10035. 1169.30 s [really-safe-money-gen]
  10036. 1169.30 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:69:13-30
  10037. 1169.30 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  10038. 1169.30 s [really-safe-money-gen] [ genericValidate ma,
  10039. 1169.30 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10040. 1169.30 s [really-safe-money-gen] declare "The account is not zero" $
  10041. 1169.30 s [really-safe-money-gen] - a /= Account.zero
  10042. 1169.30 s [really-safe-money-gen] + not (a /= Account.zero)
  10043. 1169.30 s [really-safe-money-gen] ]
  10044. 1169.30 s [really-safe-money-gen]
  10045. 1169.30 s [really-safe-money-gen] -- TODO no empty currencies
  10046. 1169.30 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  10047. 1169.30 s [really-safe-money-gen] @@ -112,14 +112,13 @@
  10048. 1169.30 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  10049. 1169.30 s [really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
  10050. 1169.30 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10051. 1169.30 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10052. 1169.30 s [really-safe-money-gen] - Nothing -> Just $ M.insert currency account m
  10053. 1169.30 s [really-safe-money-gen] Just a -> do
  10054. 1169.30 s [really-safe-money-gen] r <- Account.add a account
  10055. 1169.30 s [really-safe-money-gen] Just $
  10056. 1169.30 s [really-safe-money-gen] if r == Account.zero
  10057. 1169.30 s [really-safe-money-gen] then M.delete currency m
  10058. 1169.30 s [really-safe-money-gen] else M.insert currency r m
  10059. 1169.30 s [really-safe-money-gen]
  10060. 1169.30 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10061. 1169.30 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10062. 1169.30 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  10063. 1169.30 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  10064. 1169.30 s [really-safe-money-gen] [ genericValidate ma,
  10065. 1169.30 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10066. 1169.30 s [really-safe-money-gen] declare "The account is not zero" $
  10067. 1169.30 s [really-safe-money-gen] - a /= Account.zero
  10068. 1169.30 s [really-safe-money-gen] + True
  10069. 1169.30 s [really-safe-money-gen] ]
  10070. 1169.30 s [really-safe-money-gen]
  10071. 1169.30 s [really-safe-money-gen] -- TODO no empty currencies
  10072. 1170.78 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  10073. 1170.78 s [really-safe-money-gen] @@ -117,7 +117,7 @@
  10074. 1170.78 s [really-safe-money-gen] Just a -> do
  10075. 1170.78 s [really-safe-money-gen] r <- Account.add a account
  10076. 1170.78 s [really-safe-money-gen] Just $
  10077. 1170.78 s [really-safe-money-gen] - if r == Account.zero
  10078. 1170.78 s [really-safe-money-gen] + if False
  10079. 1170.78 s [really-safe-money-gen] then M.delete currency m
  10080. 1170.78 s [really-safe-money-gen] else M.insert currency r m
  10081. 1170.78 s [really-safe-money-gen]
  10082. 1170.78 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51
  10083. 1170.78 s [really-safe-money-gen] @@ -189,8 +189,8 @@
  10084. 1170.78 s [really-safe-money-gen] ( \(currency, a) ->
  10085. 1170.78 s [really-safe-money-gen] ( \(cr, qf2) ->
  10086. 1170.78 s [really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
  10087. 1170.78 s [really-safe-money-gen] in Account.toMinimalQuantisations a
  10088. 1170.78 s [really-safe-money-gen] - * toInteger (numerator factor)
  10089. 1170.78 s [really-safe-money-gen] + - toInteger (numerator factor)
  10090. 1170.78 s [really-safe-money-gen] % toInteger (denominator factor)
  10091. 1170.78 s [really-safe-money-gen] )
  10092. 1170.78 s [really-safe-money-gen] <$> func currency
  10093. 1170.78 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  10094. 1170.78 s [really-safe-money-gen] @@ -63,11 +63,10 @@
  10095. 1170.78 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10096. 1170.78 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10097. 1170.78 s [really-safe-money-gen] mconcat
  10098. 1170.78 s [really-safe-money-gen] - [ genericValidate ma,
  10099. 1170.78 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10100. 1170.78 s [really-safe-money-gen] declare "The account is not zero" $
  10101. 1170.78 s [really-safe-money-gen] a /= Account.zero
  10102. 1170.78 s [really-safe-money-gen] ]
  10103. 1170.78 s [really-safe-money-gen]
  10104. 1170.78 s [really-safe-money-gen] -- TODO no empty currencies
  10105. 1170.79 s [really-safe-money-gen]
  10106. 1170.79 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  10107. 1170.79 s [really-safe-money-gen] @@ -38,6 +38,5 @@
  10108. 1170.79 s [really-safe-money-gen] codec
  10109. 1170.79 s [really-safe-money-gen] <?> "QuantisationFactor"
  10110. 1170.79 s [really-safe-money-gen] where
  10111. 1170.79 s [really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
  10112. 1170.79 s [really-safe-money-gen] Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
  10113. 1170.79 s [really-safe-money-gen] - Just qf -> Right qf
  10114. 1170.79 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  10115. 1170.79 s [really-safe-money-gen] @@ -44,7 +44,6 @@
  10116. 1170.79 s [really-safe-money-gen] where
  10117. 1170.79 s [really-safe-money-gen] f :: String -> Either String Amount
  10118. 1170.79 s [really-safe-money-gen] f s = case readMaybe s of
  10119. 1170.79 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10120. 1170.79 s [really-safe-money-gen] Just i ->
  10121. 1170.79 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10122. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10123. 1170.79 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  10124. 1170.79 s [really-safe-money-gen] @@ -38,6 +38,5 @@
  10125. 1170.79 s [really-safe-money-gen] codec
  10126. 1170.79 s [really-safe-money-gen] <?> "QuantisationFactor"
  10127. 1170.79 s [really-safe-money-gen] where
  10128. 1170.79 s [really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
  10129. 1170.79 s [really-safe-money-gen] - Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
  10130. 1170.79 s [really-safe-money-gen] Just qf -> Right qf
  10131. 1170.79 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  10132. 1170.79 s [really-safe-money-gen] @@ -47,7 +47,6 @@
  10133. 1170.79 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10134. 1170.79 s [really-safe-money-gen] Just i ->
  10135. 1170.79 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10136. 1170.79 s [really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10137. 1170.79 s [really-safe-money-gen] else
  10138. 1170.79 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10139. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10140. 1170.79 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  10141. 1170.79 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10142. 1170.79 s [really-safe-money-gen] f s = case readMaybe s of
  10143. 1170.79 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10144. 1170.79 s [really-safe-money-gen] Just i ->
  10145. 1170.79 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10146. 1170.79 s [really-safe-money-gen] + if (i :: Integer) <= toInteger (minBound :: Word64)
  10147. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10148. 1170.79 s [really-safe-money-gen] else
  10149. 1170.79 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10150. 1170.79 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  10151. 1170.79 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10152. 1170.79 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10153. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10154. 1170.79 s [really-safe-money-gen] else
  10155. 1170.79 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10156. 1170.79 s [really-safe-money-gen] + if (i :: Integer) <= toInteger (maxBound :: Word64)
  10157. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10158. 1170.79 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10159. 1170.79 s [really-safe-money-gen] g :: Amount -> String
  10160. 1170.79 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:49:12-59
  10161. 1170.79 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10162. 1170.79 s [really-safe-money-gen] f s = case readMaybe s of
  10163. 1170.79 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10164. 1170.79 s [really-safe-money-gen] Just i ->
  10165. 1170.79 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10166. 1170.79 s [really-safe-money-gen] + if not ((i :: Integer) < toInteger (minBound :: Word64))
  10167. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10168. 1170.79 s [really-safe-money-gen] else
  10169. 1170.79 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10170. 1170.79 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  10171. 1170.79 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10172. 1170.79 s [really-safe-money-gen] f s = case readMaybe s of
  10173. 1170.79 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10174. 1170.79 s [really-safe-money-gen] Just i ->
  10175. 1170.79 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10176. 1170.79 s [really-safe-money-gen] + if False
  10177. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10178. 1170.79 s [really-safe-money-gen] else
  10179. 1170.79 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10180. 1170.79 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  10181. 1170.79 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10182. 1170.79 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10183. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10184. 1170.79 s [really-safe-money-gen] else
  10185. 1170.79 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10186. 1170.79 s [really-safe-money-gen] + if (i :: Integer) < toInteger (maxBound :: Word64)
  10187. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10188. 1170.79 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10189. 1170.79 s [really-safe-money-gen] g :: Amount -> String
  10190. 1170.79 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  10191. 1170.79 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10192. 1170.79 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10193. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10194. 1170.79 s [really-safe-money-gen] else
  10195. 1170.79 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10196. 1170.79 s [really-safe-money-gen] + if True
  10197. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10198. 1170.79 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10199. 1170.79 s [really-safe-money-gen] g :: Amount -> String
  10200. 1170.79 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  10201. 1170.79 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10202. 1170.79 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10203. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10204. 1170.79 s [really-safe-money-gen] else
  10205. 1170.79 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10206. 1170.79 s [really-safe-money-gen] + if (i :: Integer) >= toInteger (maxBound :: Word64)
  10207. 1170.79 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10208. 1170.79 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10209. 1170.79 s [really-safe-money-gen] g :: Amount -> String
  10210. 1170.79 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  10211. 1170.79 s [really-safe-money-gen] @@ -48,7 +48,6 @@
  10212. 1170.79 s [really-safe-money-gen] where
  10213. 1170.79 s [really-safe-money-gen] f :: String -> Either String Account
  10214. 1170.79 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10215. 1170.79 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10216. 1170.79 s [really-safe-money-gen] Just a -> Right a
  10217. 1170.79 s [really-safe-money-gen] g :: Account -> String
  10218. 1170.79 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10219. 1170.79 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  10220. 1170.79 s [really-safe-money-gen] @@ -48,7 +48,6 @@
  10221. 1170.79 s [really-safe-money-gen] where
  10222. 1170.79 s [really-safe-money-gen] f :: String -> Either String Account
  10223. 1170.79 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10224. 1170.79 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10225. 1170.79 s [really-safe-money-gen] Just a -> Right a
  10226. 1170.79 s [really-safe-money-gen] g :: Account -> String
  10227. 1170.79 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10228. 1170.81 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  10229. 1170.81 s [really-safe-money-gen] @@ -76,6 +76,5 @@
  10230. 1170.81 s [really-safe-money-gen] <?> "Account"
  10231. 1170.81 s [really-safe-money-gen] where
  10232. 1170.81 s [really-safe-money-gen] f :: Integer -> Either String Account
  10233. 1170.81 s [really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
  10234. 1170.81 s [really-safe-money-gen] Nothing -> Left $ "Number did not fit into an account value: " <> show i
  10235. 1170.81 s [really-safe-money-gen] - Just a -> Right a
  10236. 1170.81 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  10237. 1170.81 s [really-safe-money-gen] @@ -37,5 +37,4 @@
  10238. 1170.81 s [really-safe-money-gen] where
  10239. 1170.81 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10240. 1170.81 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10241. 1170.81 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10242. 1170.81 s [really-safe-money-gen] Just a -> Right a
  10243. 1170.81 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  10244. 1170.81 s [really-safe-money-gen] @@ -47,9 +47,8 @@
  10245. 1170.81 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
  10246. 1170.81 s [really-safe-money-gen] where
  10247. 1170.81 s [really-safe-money-gen] f :: String -> Either String Account
  10248. 1170.81 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10249. 1170.81 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10250. 1170.81 s [really-safe-money-gen] - Just a -> Right a
  10251. 1170.82 s [really-safe-money-gen] g :: Account -> String
  10252. 1170.82 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10253. 1170.82 s [really-safe-money-gen]
  10254. 1170.82 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  10255. 1170.82 s [really-safe-money-gen] @@ -37,5 +37,4 @@
  10256. 1170.82 s [really-safe-money-gen] where
  10257. 1170.82 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10258. 1170.82 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10259. 1170.82 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10260. 1170.82 s [really-safe-money-gen] Just a -> Right a
  10261. 1170.82 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  10262. 1170.82 s [really-safe-money-gen] @@ -36,6 +36,5 @@
  10263. 1170.82 s [really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
  10264. 1170.82 s [really-safe-money-gen] where
  10265. 1170.82 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10266. 1170.82 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10267. 1170.82 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10268. 1170.82 s [really-safe-money-gen] - Just a -> Right a
  10269. 1170.82 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  10270. 1170.82 s [really-safe-money-gen] @@ -50,7 +50,6 @@
  10271. 1170.82 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10272. 1170.82 s [really-safe-money-gen] else
  10273. 1170.82 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10274. 1170.82 s [really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10275. 1170.82 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10276. 1170.82 s [really-safe-money-gen] g :: Amount -> String
  10277. 1170.82 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10278. 1170.82 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  10279. 1170.82 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10280. 1170.82 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10281. 1170.82 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10282. 1170.82 s [really-safe-money-gen] else
  10283. 1170.82 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10284. 1170.82 s [really-safe-money-gen] + if False
  10285. 1170.82 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10286. 1170.82 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10287. 1170.82 s [really-safe-money-gen] g :: Amount -> String
  10288. 1170.82 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:52:16-63
  10289. 1170.82 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10290. 1170.82 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10291. 1170.82 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10292. 1170.82 s [really-safe-money-gen] else
  10293. 1170.83 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10294. 1170.83 s [really-safe-money-gen] + if not ((i :: Integer) > toInteger (maxBound :: Word64))
  10295. 1170.83 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10296. 1170.83 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10297. 1170.83 s [really-safe-money-gen] g :: Amount -> String
  10298. 1170.83 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  10299. 1170.83 s [really-safe-money-gen] @@ -47,9 +47,8 @@
  10300. 1170.83 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
  10301. 1170.83 s [really-safe-money-gen] where
  10302. 1170.83 s [really-safe-money-gen] f :: String -> Either String Account
  10303. 1170.83 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10304. 1170.83 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10305. 1170.83 s [really-safe-money-gen] Just a -> Right a
  10306. 1170.83 s [really-safe-money-gen] g :: Account -> String
  10307. 1170.83 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10308. 1170.83 s [really-safe-money-gen]
  10309. 1170.83 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  10310. 1170.83 s [really-safe-money-gen] @@ -36,6 +36,5 @@
  10311. 1170.83 s [really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
  10312. 1170.83 s [really-safe-money-gen] where
  10313. 1170.83 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10314. 1170.83 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10315. 1170.83 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10316. 1170.83 s [really-safe-money-gen] Just a -> Right a
  10317. 1170.83 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  10318. 1170.83 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10319. 1170.83 s [really-safe-money-gen] f s = case readMaybe s of
  10320. 1170.83 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10321. 1170.83 s [really-safe-money-gen] Just i ->
  10322. 1170.83 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10323. 1170.83 s [really-safe-money-gen] + if (i :: Integer) >= toInteger (minBound :: Word64)
  10324. 1170.83 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10325. 1170.83 s [really-safe-money-gen] else
  10326. 1170.83 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10327. 1170.83 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  10328. 1170.83 s [really-safe-money-gen] @@ -76,6 +76,5 @@
  10329. 1170.83 s [really-safe-money-gen] <?> "Account"
  10330. 1170.83 s [really-safe-money-gen] where
  10331. 1170.83 s [really-safe-money-gen] f :: Integer -> Either String Account
  10332. 1170.83 s [really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
  10333. 1170.83 s [really-safe-money-gen] - Nothing -> Left $ "Number did not fit into an account value: " <> show i
  10334. 1170.83 s [really-safe-money-gen] Just a -> Right a
  10335. 1170.83 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  10336. 1170.83 s [really-safe-money-gen] @@ -43,15 +43,8 @@
  10337. 1170.83 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
  10338. 1170.83 s [really-safe-money-gen] where
  10339. 1170.83 s [really-safe-money-gen] f :: String -> Either String Amount
  10340. 1170.83 s [really-safe-money-gen] f s = case readMaybe s of
  10341. 1170.83 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10342. 1170.83 s [really-safe-money-gen] - Just i ->
  10343. 1170.83 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10344. 1170.83 s [really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10345. 1170.83 s [really-safe-money-gen] - else
  10346. 1170.83 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10347. 1170.83 s [really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10348. 1170.83 s [really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10349. 1170.83 s [really-safe-money-gen] g :: Amount -> String
  10350. 1170.83 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10351. 1170.83 s [really-safe-money-gen]
  10352. 1170.83 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  10353. 1170.84 s [really-safe-money-gen] @@ -43,15 +43,14 @@
  10354. 1170.84 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
  10355. 1170.84 s [really-safe-money-gen] where
  10356. 1170.84 s [really-safe-money-gen] f :: String -> Either String Amount
  10357. 1170.84 s [really-safe-money-gen] f s = case readMaybe s of
  10358. 1170.84 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10359. 1170.84 s [really-safe-money-gen] Just i ->
  10360. 1170.84 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10361. 1170.84 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10362. 1170.84 s [really-safe-money-gen] else
  10363. 1170.84 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10364. 1170.84 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10365. 1170.84 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10366. 1170.84 s [really-safe-money-gen] g :: Amount -> String
  10367. 1170.84 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10368. 1170.84 s [really-safe-money-gen]
  10369. 1170.84 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  10370. 1170.84 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10371. 1170.84 s [really-safe-money-gen] f s = case readMaybe s of
  10372. 1170.84 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10373. 1170.84 s [really-safe-money-gen] Just i ->
  10374. 1170.84 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10375. 1170.84 s [really-safe-money-gen] + if True
  10376. 1170.84 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10377. 1170.84 s [really-safe-money-gen] else
  10378. 1170.84 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10379. 1170.84 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  10380. 1170.84 s [really-safe-money-gen] @@ -50,7 +50,6 @@
  10381. 1170.84 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10382. 1170.84 s [really-safe-money-gen] else
  10383. 1170.84 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10384. 1187.64 s [really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations Killed: 426
  10385. 1187.67 s [really-safe-money-gen] (of which timed out: 0)
  10386. 1187.67 s [really-safe-money-gen] Survived: 58
  10387. 1187.67 s [really-safe-money-gen] Uncovered: 40
  10388. 1187.67 s [really-safe-money-gen]
  10389. 1187.67 s [really-safe-money-gen] Surviving mutations:
  10390. 1187.67 s [really-safe-money-gen]
  10391. 1187.67 s [really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
  10392. 1187.67 s [really-safe-money-gen] @@ -63,11 +63,10 @@
  10393. 1187.67 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10394. 1187.67 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10395. 1187.67 s [really-safe-money-gen] mconcat
  10396. 1187.67 s [really-safe-money-gen] - [ genericValidate ma,
  10397. 1187.67 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10398. 1187.68 s [really-safe-money-gen] declare "The account is not zero" $
  10399. 1187.68 s [really-safe-money-gen] a /= Account.zero
  10400. 1187.68 s [really-safe-money-gen] ]
  10401. 1187.68 s [really-safe-money-gen]
  10402. 1187.68 s [really-safe-money-gen] -- TODO no empty currencies
  10403. 1187.68 s [really-safe-money-gen]
  10404. 1187.68 s [really-safe-money-gen]
  10405. 1187.68 s [really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
  10406. 1187.68 s [really-safe-money-gen] @@ -63,11 +63,7 @@
  10407. 1187.68 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10408. 1187.68 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10409. 1187.68 s [really-safe-money-gen] mconcat
  10410. 1187.68 s [really-safe-money-gen] - [ genericValidate ma,
  10411. 1187.68 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  10412. 1187.68 s [really-safe-money-gen] - declare "The account is not zero" $
  10413. 1187.68 s [really-safe-money-gen] - a /= Account.zero
  10414. 1187.68 s [really-safe-money-gen] ]
  10415. 1187.68 s [really-safe-money-gen]
  10416. 1187.68 s [really-safe-money-gen] -- TODO no empty currencies
  10417. 1187.68 s [really-safe-money-gen]
  10418. 1187.68 s [really-safe-money-gen]
  10419. 1187.68 s [really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:69:13-30
  10420. 1187.68 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  10421. 1187.68 s [really-safe-money-gen] [ genericValidate ma,
  10422. 1187.68 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10423. 1187.68 s [really-safe-money-gen] declare "The account is not zero" $
  10424. 1187.68 s [really-safe-money-gen] - a /= Account.zero
  10425. 1187.68 s [really-safe-money-gen] + True
  10426. 1187.68 s [really-safe-money-gen] ]
  10427. 1187.68 s [really-safe-money-gen]
  10428. 1187.68 s [really-safe-money-gen] -- TODO no empty currencies
  10429. 1187.68 s [really-safe-money-gen]
  10430. 1187.68 s [really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:78:6-28
  10431. 1187.68 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  10432. 1187.68 s [really-safe-money-gen]
  10433. 1187.68 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  10434. 1187.68 s [really-safe-money-gen] fromAccount currency amount =
  10435. 1187.68 s [really-safe-money-gen] - if amount == Account.zero
  10436. 1187.68 s [really-safe-money-gen] + if True
  10437. 1187.68 s [really-safe-money-gen] then zero
  10438. 1187.68 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  10439. 1187.68 s [really-safe-money-gen]
  10440. 1187.68 s [really-safe-money-gen]
  10441. 1187.68 s [really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:113:40-46
  10442. 1187.68 s [really-safe-money-gen] @@ -110,7 +110,7 @@
  10443. 1187.68 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10444. 1187.68 s [really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10445. 1187.68 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  10446. 1187.68 s [really-safe-money-gen] -addAccount m _ (Negative (Amount 0)) = Just m
  10447. 1187.68 s [really-safe-money-gen] +addAccount m _ (Negative (Amount 0)) = Nothing
  10448. 1187.68 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10449. 1187.68 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10450. 1187.68 s [really-safe-money-gen] Nothing -> Just $ M.insert currency account m
  10451. 1187.68 s [really-safe-money-gen]
  10452. 1187.68 s [really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:127:45-51
  10453. 1187.68 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  10454. 1187.68 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10455. 1187.68 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10456. 1187.68 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  10457. 1187.68 s [really-safe-money-gen] -subtractAccount m _ (Negative (Amount 0)) = Just m
  10458. 1187.69 s [really-safe-money-gen] +subtractAccount m _ (Negative (Amount 0)) = Nothing
  10459. 1187.69 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  10460. 1187.69 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10461. 1187.69 s [really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
  10462. 1187.69 s [really-safe-money-gen]
  10463. 1187.69 s [really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:126:45-51
  10464. 1187.69 s [really-safe-money-gen] @@ -123,7 +123,7 @@
  10465. 1187.69 s [really-safe-money-gen]
  10466. 1187.69 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10467. 1187.69 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10468. 1187.69 s [really-safe-money-gen] -subtractAccount m _ (Positive (Amount 0)) = Just m
  10469. 1187.69 s [really-safe-money-gen] +subtractAccount m _ (Positive (Amount 0)) = Nothing
  10470. 1187.69 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  10471. 1187.69 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  10472. 1187.69 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10473. 1187.69 s [really-safe-money-gen]
  10474. 1187.69 s [really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
  10475. 1187.69 s [really-safe-money-gen] @@ -60,11 +60,10 @@
  10476. 1187.69 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  10477. 1187.69 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  10478. 1187.69 s [really-safe-money-gen] mconcat
  10479. 1187.69 s [really-safe-money-gen] - [ genericValidate ma,
  10480. 1187.69 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10481. 1187.69 s [really-safe-money-gen] declare "The amount is not zero" $
  10482. 1187.69 s [really-safe-money-gen] a /= Amount.zero
  10483. 1187.69 s [really-safe-money-gen] ]
  10484. 1187.69 s [really-safe-money-gen]
  10485. 1187.69 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10486. 1187.69 s [really-safe-money-gen]
  10487. 1187.69 s [really-safe-money-gen]
  10488. 1187.69 s [really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
  10489. 1187.69 s [really-safe-money-gen] @@ -60,11 +60,7 @@
  10490. 1187.69 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  10491. 1187.69 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  10492. 1187.69 s [really-safe-money-gen] mconcat
  10493. 1187.69 s [really-safe-money-gen] - [ genericValidate ma,
  10494. 1187.69 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  10495. 1187.69 s [really-safe-money-gen] - declare "The amount is not zero" $
  10496. 1187.69 s [really-safe-money-gen] - a /= Amount.zero
  10497. 1187.69 s [really-safe-money-gen] ]
  10498. 1187.69 s [really-safe-money-gen]
  10499. 1187.69 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10500. 1187.69 s [really-safe-money-gen]
  10501. 1187.69 s [really-safe-money-gen]
  10502. 1187.69 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:66:13-29
  10503. 1187.69 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  10504. 1187.69 s [really-safe-money-gen] [ genericValidate ma,
  10505. 1187.69 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10506. 1187.69 s [really-safe-money-gen] declare "The amount is not zero" $
  10507. 1187.69 s [really-safe-money-gen] - a /= Amount.zero
  10508. 1187.69 s [really-safe-money-gen] + True
  10509. 1187.69 s [really-safe-money-gen] ]
  10510. 1187.69 s [really-safe-money-gen]
  10511. 1187.69 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10512. 1187.69 s [really-safe-money-gen]
  10513. 1187.69 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:106:12-28
  10514. 1187.69 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  10515. 1187.69 s [really-safe-money-gen] Just a -> do
  10516. 1187.69 s [really-safe-money-gen] r <- Amount.add a amount
  10517. 1187.69 s [really-safe-money-gen] Just $
  10518. 1187.69 s [really-safe-money-gen] - if r == Amount.zero
  10519. 1187.69 s [really-safe-money-gen] + if False
  10520. 1187.69 s [really-safe-money-gen] then M.delete currency m
  10521. 1187.69 s [really-safe-money-gen] else M.insert currency r m
  10522. 1187.69 s [really-safe-money-gen]
  10523. 1187.69 s [really-safe-money-gen]
  10524. 1187.69 s [really-safe-money-gen] Negate at src/Money/MultiAmount.hs:119:12-28
  10525. 1187.69 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10526. 1187.69 s [really-safe-money-gen] Just a -> do
  10527. 1187.69 s [really-safe-money-gen] r <- Amount.subtract a amount
  10528. 1187.69 s [really-safe-money-gen] Just $
  10529. 1187.69 s [really-safe-money-gen] - if r == Amount.zero
  10530. 1187.69 s [really-safe-money-gen] + if not (r == Amount.zero)
  10531. 1187.69 s [really-safe-money-gen] then M.delete currency m
  10532. 1187.69 s [really-safe-money-gen] else M.insert currency r m
  10533. 1187.69 s [really-safe-money-gen]
  10534. 1187.69 s [really-safe-money-gen]
  10535. 1187.69 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
  10536. 1187.69 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10537. 1187.70 s [really-safe-money-gen] Just a -> do
  10538. 1187.70 s [really-safe-money-gen] r <- Amount.subtract a amount
  10539. 1187.70 s [really-safe-money-gen] Just $
  10540. 1187.70 s [really-safe-money-gen] - if r == Amount.zero
  10541. 1187.70 s [really-safe-money-gen] + if False
  10542. 1187.70 s [really-safe-money-gen] then M.delete currency m
  10543. 1187.70 s [really-safe-money-gen] else M.insert currency r m
  10544. 1187.70 s [really-safe-money-gen]
  10545. 1187.70 s [really-safe-money-gen]
  10546. 1187.70 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
  10547. 1187.70 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10548. 1187.70 s [really-safe-money-gen] Just a -> do
  10549. 1187.70 s [really-safe-money-gen] r <- Amount.subtract a amount
  10550. 1187.70 s [really-safe-money-gen] Just $
  10551. 1187.70 s [really-safe-money-gen] - if r == Amount.zero
  10552. 1187.70 s [really-safe-money-gen] + if True
  10553. 1187.70 s [really-safe-money-gen] then M.delete currency m
  10554. 1187.70 s [really-safe-money-gen] else M.insert currency r m
  10555. 1187.70 s [really-safe-money-gen]
  10556. 1187.70 s [really-safe-money-gen]
  10557. 1187.70 s [really-safe-money-gen] MaybeOp at src/Money/MultiAmount.hs:112:33-39
  10558. 1187.70 s [really-safe-money-gen] @@ -109,7 +109,7 @@
  10559. 1187.70 s [really-safe-money-gen]
  10560. 1187.70 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  10561. 1187.70 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  10562. 1187.70 s [really-safe-money-gen] -subtractAmount m _ (Amount 0) = Just m
  10563. 1187.70 s [really-safe-money-gen] +subtractAmount m _ (Amount 0) = Nothing
  10564. 1187.70 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  10565. 1187.70 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  10566. 1187.70 s [really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
  10567. 1187.70 s [really-safe-money-gen]
  10568. 1187.70 s [really-safe-money-gen] Cmp at src/Money/MultiAmount.hs:168:20-45
  10569. 1187.70 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  10570. 1187.70 s [really-safe-money-gen] maxBoundN :: Natural
  10571. 1187.70 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  10572. 1187.70 s [really-safe-money-gen] actualResult =
  10573. 1187.70 s [really-safe-money-gen] - if roundedResult > maxBoundN
  10574. 1187.70 s [really-safe-money-gen] + if roundedResult >= maxBoundN
  10575. 1187.70 s [really-safe-money-gen] then Nothing
  10576. 1187.70 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  10577. 1187.70 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10578. 1187.70 s [really-safe-money-gen]
  10579. 1187.70 s [really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
  10580. 1187.70 s [really-safe-money-gen] @@ -600,13 +600,12 @@
  10581. 1187.70 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  10582. 1187.70 s [really-safe-money-gen] validate ad =
  10583. 1187.70 s [really-safe-money-gen] mconcat
  10584. 1187.70 s [really-safe-money-gen] - [ genericValidate ad,
  10585. 1187.70 s [really-safe-money-gen] case ad of
  10586. 1187.71 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  10587. 1187.71 s [really-safe-money-gen] declare "The larger chunks are larger" $
  10588. 1187.71 s [really-safe-money-gen] a1 > a2
  10589. 1187.71 s [really-safe-money-gen] _ -> valid
  10590. 1187.71 s [really-safe-money-gen] ]
  10591. 1187.71 s [really-safe-money-gen]
  10592. 1187.71 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  10593. 1187.71 s [really-safe-money-gen]
  10594. 1187.71 s [really-safe-money-gen]
  10595. 1187.71 s [really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
  10596. 1187.71 s [really-safe-money-gen] @@ -600,13 +600,7 @@
  10597. 1187.71 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  10598. 1187.71 s [really-safe-money-gen] validate ad =
  10599. 1187.71 s [really-safe-money-gen] mconcat
  10600. 1187.71 s [really-safe-money-gen] - [ genericValidate ad,
  10601. 1187.71 s [really-safe-money-gen] - case ad of
  10602. 1187.71 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  10603. 1187.71 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  10604. 1187.71 s [really-safe-money-gen] - a1 > a2
  10605. 1187.71 s [really-safe-money-gen] - _ -> valid
  10606. 1187.71 s [really-safe-money-gen] ]
  10607. 1187.71 s [really-safe-money-gen]
  10608. 1187.71 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  10609. 1187.71 s [really-safe-money-gen]
  10610. 1187.71 s [really-safe-money-gen]
  10611. 1187.71 s [really-safe-money-gen] RemoveCase at src/Money/Amount.hs:604:9-21
  10612. 1187.71 s [really-safe-money-gen] @@ -601,11 +601,8 @@
  10613. 1187.71 s [really-safe-money-gen] validate ad =
  10614. 1187.71 s [really-safe-money-gen] mconcat
  10615. 1187.71 s [really-safe-money-gen] [ genericValidate ad,
  10616. 1187.71 s [really-safe-money-gen] case ad of
  10617. 1187.71 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  10618. 1187.71 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  10619. 1187.71 s [really-safe-money-gen] - a1 > a2
  10620. 1187.71 s [really-safe-money-gen] _ -> valid
  10621. 1187.71 s [really-safe-money-gen] ]
  10622. 1187.71 s [really-safe-money-gen]
  10623. 1187.71 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  10624. 1187.71 s [really-safe-money-gen]
  10625. 1187.71 s [really-safe-money-gen] ConstBool at src/Money/Amount.hs:607:15-22
  10626. 1187.71 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  10627. 1187.71 s [really-safe-money-gen] case ad of
  10628. 1187.71 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  10629. 1187.71 s [really-safe-money-gen] declare "The larger chunks are larger" $
  10630. 1187.71 s [really-safe-money-gen] - a1 > a2
  10631. 1187.71 s [really-safe-money-gen] + True
  10632. 1187.71 s [really-safe-money-gen] _ -> valid
  10633. 1187.71 s [really-safe-money-gen] ]
  10634. 1187.71 s [really-safe-money-gen]
  10635. 1187.71 s [really-safe-money-gen]
  10636. 1187.71 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:607:15-22
  10637. 1187.71 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  10638. 1187.71 s [really-safe-money-gen] case ad of
  10639. 1187.71 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  10640. 1187.71 s [really-safe-money-gen] declare "The larger chunks are larger" $
  10641. 1187.71 s [really-safe-money-gen] - a1 > a2
  10642. 1187.71 s [really-safe-money-gen] + a1 >= a2
  10643. 1187.71 s [really-safe-money-gen] _ -> valid
  10644. 1187.72 s [really-safe-money-gen] ]
  10645. 1187.72 s [really-safe-money-gen]
  10646. 1187.72 s [really-safe-money-gen]
  10647. 1187.72 s [really-safe-money-gen] MaybeOp at src/Money/Amount.hs:661:19-28
  10648. 1187.72 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  10649. 1187.72 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  10650. 1187.72 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  10651. 1187.72 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  10652. 1187.72 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  10653. 1187.72 s [really-safe-money-gen] +fraction _ _ 0 = (Nothing, 0)
  10654. 1187.72 s [really-safe-money-gen] fraction r (Amount a) f =
  10655. 1187.72 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  10656. 1187.72 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  10657. 1187.72 s [really-safe-money-gen]
  10658. 1187.72 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:495:10-23
  10659. 1187.72 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  10660. 1187.72 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  10661. 1187.72 s [really-safe-money-gen] r :: Integer
  10662. 1187.72 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  10663. 1187.72 s [really-safe-money-gen] - in if r > maxBoundI
  10664. 1187.72 s [really-safe-money-gen] + in if r >= maxBoundI
  10665. 1187.72 s [really-safe-money-gen] then Nothing
  10666. 1187.72 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10667. 1187.72 s [really-safe-money-gen]
  10668. 1187.72 s [really-safe-money-gen]
  10669. 1187.72 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:341:26-91
  10670. 1187.72 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  10671. 1187.72 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  10672. 1187.72 s [really-safe-money-gen] in if ceiled == floored
  10673. 1187.72 s [really-safe-money-gen] then
  10674. 1187.72 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  10675. 1187.72 s [really-safe-money-gen] + if ceiled >= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  10676. 1187.72 s [really-safe-money-gen] then Nothing
  10677. 1187.72 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  10678. 1187.72 s [really-safe-money-gen] else Nothing
  10679. 1187.72 s [really-safe-money-gen]
  10680. 1187.72 s [really-safe-money-gen] ConstBool at src/Money/Amount.hs:332:14-40
  10681. 1187.72 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10682. 1187.72 s [really-safe-money-gen] | otherwise =
  10683. 1187.72 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  10684. 1187.72 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  10685. 1187.72 s [really-safe-money-gen] - if exponent resultDouble > 65
  10686. 1187.72 s [really-safe-money-gen] + if False
  10687. 1187.72 s [really-safe-money-gen] then Nothing
  10688. 1187.72 s [really-safe-money-gen] else
  10689. 1187.72 s [really-safe-money-gen] let ceiled :: Natural
  10690. 1187.72 s [really-safe-money-gen]
  10691. 1187.72 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:332:14-40
  10692. 1187.72 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10693. 1187.72 s [really-safe-money-gen] | otherwise =
  10694. 1187.72 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  10695. 1187.72 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  10696. 1187.72 s [really-safe-money-gen] - if exponent resultDouble > 65
  10697. 1187.72 s [really-safe-money-gen] + if exponent resultDouble >= 65
  10698. 1187.72 s [really-safe-money-gen] then Nothing
  10699. 1187.72 s [really-safe-money-gen] else
  10700. 1187.72 s [really-safe-money-gen] let ceiled :: Natural
  10701. 1187.72 s [really-safe-money-gen]
  10702. 1187.72 s [really-safe-money-gen] MaybeOp at src/Money/Amount.hs:520:14-66
  10703. 1187.72 s [really-safe-money-gen] @@ -517,7 +517,7 @@
  10704. 1187.72 s [really-safe-money-gen] r = i1 - i2
  10705. 1187.72 s [really-safe-money-gen] in if r < 0
  10706. 1187.72 s [really-safe-money-gen] then Nothing
  10707. 1187.72 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10708. 1187.72 s [really-safe-money-gen] + else Nothing
  10709. 1187.72 s [really-safe-money-gen]
  10710. 1187.73 s [really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
  10711. 1187.73 s [really-safe-money-gen] --
  10712. 1187.73 s [really-safe-money-gen]
  10713. 1187.73 s [really-safe-money-gen] ConstBool at src/Money/Amount.hs:518:10-15
  10714. 1187.73 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  10715. 1187.73 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  10716. 1187.73 s [really-safe-money-gen] r :: Integer
  10717. 1187.73 s [really-safe-money-gen] r = i1 - i2
  10718. 1187.73 s [really-safe-money-gen] - in if r < 0
  10719. 1187.73 s [really-safe-money-gen] + in if True
  10720. 1187.73 s [really-safe-money-gen] then Nothing
  10721. 1187.73 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10722. 1187.73 s [really-safe-money-gen]
  10723. 1187.73 s [really-safe-money-gen]
  10724. 1187.73 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:518:10-15
  10725. 1187.73 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  10726. 1187.73 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  10727. 1187.73 s [really-safe-money-gen] r :: Integer
  10728. 1187.73 s [really-safe-money-gen] r = i1 - i2
  10729. 1187.73 s [really-safe-money-gen] - in if r < 0
  10730. 1187.73 s [really-safe-money-gen] + in if r <= 0
  10731. 1187.73 s [really-safe-money-gen] then Nothing
  10732. 1187.73 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10733. 1187.73 s [really-safe-money-gen]
  10734. 1187.73 s [really-safe-money-gen]
  10735. 1187.73 s [really-safe-money-gen] IntLit at src/Money/Amount.hs:518:14-15
  10736. 1187.73 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  10737. 1187.73 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  10738. 1187.73 s [really-safe-money-gen] r :: Integer
  10739. 1187.73 s [really-safe-money-gen] r = i1 - i2
  10740. 1187.73 s [really-safe-money-gen] - in if r < 0
  10741. 1187.73 s [really-safe-money-gen] + in if r < 1
  10742. 1187.73 s [really-safe-money-gen] then Nothing
  10743. 1187.73 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10744. 1187.73 s [really-safe-money-gen]
  10745. 1187.73 s [really-safe-money-gen]
  10746. 1187.73 s [really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
  10747. 1187.73 s [really-safe-money-gen] @@ -36,9 +36,8 @@
  10748. 1187.73 s [really-safe-money-gen] instance Validity QuantisationFactor where
  10749. 1187.73 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  10750. 1187.73 s [really-safe-money-gen] mconcat
  10751. 1187.73 s [really-safe-money-gen] - [ genericValidate qf,
  10752. 1187.73 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  10753. 1187.73 s [really-safe-money-gen] ]
  10754. 1187.73 s [really-safe-money-gen]
  10755. 1187.73 s [really-safe-money-gen] instance NFData QuantisationFactor
  10756. 1187.73 s [really-safe-money-gen]
  10757. 1187.73 s [really-safe-money-gen]
  10758. 1187.73 s [really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
  10759. 1187.73 s [really-safe-money-gen] @@ -36,9 +36,7 @@
  10760. 1187.73 s [really-safe-money-gen] instance Validity QuantisationFactor where
  10761. 1187.73 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  10762. 1187.73 s [really-safe-money-gen] mconcat
  10763. 1187.73 s [really-safe-money-gen] - [ genericValidate qf,
  10764. 1187.73 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  10765. 1187.73 s [really-safe-money-gen] ]
  10766. 1187.73 s [really-safe-money-gen]
  10767. 1187.73 s [really-safe-money-gen] instance NFData QuantisationFactor
  10768. 1187.73 s [really-safe-money-gen]
  10769. 1187.73 s [really-safe-money-gen]
  10770. 1187.73 s [really-safe-money-gen] ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  10771. 1187.73 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  10772. 1187.73 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  10773. 1187.73 s [really-safe-money-gen] mconcat
  10774. 1187.73 s [really-safe-money-gen] [ genericValidate qf,
  10775. 1187.73 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  10776. 1187.73 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
  10777. 1187.73 s [really-safe-money-gen] ]
  10778. 1187.73 s [really-safe-money-gen]
  10779. 1187.73 s [really-safe-money-gen] instance NFData QuantisationFactor
  10780. 1187.73 s [really-safe-money-gen]
  10781. 1187.73 s [really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8
  10782. 1187.74 s [really-safe-money-gen] @@ -34,9 +34,8 @@
  10783. 1187.74 s [really-safe-money-gen] instance Validity ConversionRate where
  10784. 1187.74 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  10785. 1187.74 s [really-safe-money-gen] mconcat
  10786. 1187.74 s [really-safe-money-gen] - [ genericValidate cr,
  10787. 1187.74 s [really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
  10788. 1187.74 s [really-safe-money-gen] ]
  10789. 1187.74 s [really-safe-money-gen]
  10790. 1187.74 s [really-safe-money-gen] instance NFData ConversionRate
  10791. 1187.74 s [really-safe-money-gen]
  10792. 1187.74 s [really-safe-money-gen]
  10793. 1187.74 s [really-safe-money-gen] IntLit at src/Money/ConversionRate.hs:109:27-28
  10794. 1187.74 s [really-safe-money-gen] @@ -106,7 +106,7 @@
  10795. 1187.74 s [really-safe-money-gen]
  10796. 1187.74 s [really-safe-money-gen] -- | One-to-one conversion rate
  10797. 1187.74 s [really-safe-money-gen] oneToOne :: ConversionRate
  10798. 1187.74 s [really-safe-money-gen] -oneToOne = ConversionRate 1
  10799. 1187.74 s [really-safe-money-gen] +oneToOne = ConversionRate 0
  10800. 1187.74 s [really-safe-money-gen]
  10801. 1187.74 s [really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
  10802. 1187.74 s [really-safe-money-gen] --
  10803. 1187.74 s [really-safe-money-gen]
  10804. 1187.74 s [really-safe-money-gen] Arith at src/Money/ConversionRate.hs:127:70-79
  10805. 1187.74 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  10806. 1187.74 s [really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
  10807. 1187.74 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
  10808. 1187.74 s [really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
  10809. 1187.74 s [really-safe-money-gen] -compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
  10810. 1187.74 s [really-safe-money-gen] +compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
  10811. 1187.74 s [really-safe-money-gen]
  10812. 1187.74 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  10813. 1187.74 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  10814. 1187.74 s [really-safe-money-gen]
  10815. 1187.74 s [really-safe-money-gen] RemoveCase at src/Money/AccountOf.hs:180:30-115is too big:", show i]
  10816. 1187.74 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10817. 1187.74 s [really-safe-money-gen] g :: Amount -> String
  10818. 1187.74 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10819. 1187.74 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  10820. 1187.74 s [really-safe-money-gen] @@ -47,7 +47,6 @@
  10821. 1187.74 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10822. 1187.74 s [really-safe-money-gen] Just i ->
  10823. 1187.74 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10824. 1187.74 s [really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10825. 1187.74 s [really-safe-money-gen] else
  10826. 1187.74 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10827. 1187.74 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10828. 1187.74 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  10829. 1187.74 s [really-safe-money-gen] @@ -44,7 +44,6 @@
  10830. 1187.74 s [really-safe-money-gen] where
  10831. 1187.74 s [really-safe-money-gen] f :: String -> Either String Amount
  10832. 1187.74 s [really-safe-money-gen] f s = case readMaybe s of
  10833. 1187.74 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10834. 1187.74 s [really-safe-money-gen] Just i ->
  10835. 1187.74 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10836. 1187.74 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10837. 1187.74 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  10838. 1187.74 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10839. 1187.74 s [really-safe-money-gen] f s = case readMaybe s of
  10840. 1187.74 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10841. 1187.74 s [really-safe-money-gen] Just i ->
  10842. 1187.74 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10843. 1187.74 s [really-safe-money-gen] + if (i :: Integer) > toInteger (minBound :: Word64)
  10844. 1187.74 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10845. 1187.74 s [really-safe-money-gen] else
  10846. 1187.74 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10847. 1187.74 s [really-safe-money-gen]
  10848. 1187.74 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  10849. 1187.74 s [really-safe-money-gen]
  10850. 1187.74 s [really-safe-money-gen] -- | See 'Account.distribute'
  10851. 1187.74 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  10852. 1187.74 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  10853. 1187.74 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  10854. 1187.74 s [really-safe-money-gen] DistributedZero -> DistributedZero
  10855. 1187.74 s [really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  10856. 1187.74 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  10857. 1187.75 s [really-safe-money-gen]
  10858. 1187.75 s [really-safe-money-gen] -- | The result of 'distribute'
  10859. 1187.75 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  10860. 1187.75 s [really-safe-money-gen]
  10861. 1187.75 s [really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  10862. 1187.75 s [really-safe-money-gen] @@ -109,9 +109,8 @@
  10863. 1187.75 s [really-safe-money-gen]
  10864. 1187.75 s [really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
  10865. 1187.75 s [really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
  10866. 1187.75 s [really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
  10867. 1187.75 s [really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
  10868. 1187.75 s [really-safe-money-gen] - Just dl -> pure dl
  10869. 1187.75 s [really-safe-money-gen]
  10870. 1187.75 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  10871. 1187.75 s [really-safe-money-gen] decimalLiteralP = do
  10872. 1187.75 s [really-safe-money-gen]
  10873. 1187.75 s [really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  10874. 1187.75 s [really-safe-money-gen] @@ -284,9 +284,8 @@
  10875. 1187.75 s [really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
  10876. 1187.75 s [really-safe-money-gen] -- Nothing
  10877. 1187.75 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  10878. 1187.75 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  10879. 1187.75 s [really-safe-money-gen] - Just False -> Nothing
  10880. 1187.75 s [really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
  10881. 1187.75 s [really-safe-money-gen]
  10882. 1187.75 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  10883. 1187.75 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  10884. 1187.75 s [really-safe-money-gen]
  10885. 1187.75 s [really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  10886. 1187.75 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  10887. 1187.75 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  10888. 1187.75 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  10889. 1187.75 s [really-safe-money-gen] Just False -> Nothing
  10890. 1187.75 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  10891. 1187.75 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
  10892. 1187.75 s [really-safe-money-gen]
  10893. 1187.75 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  10894. 1187.75 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  10895. 1187.75 s [really-safe-money-gen]
  10896. 1187.75 s [really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  10897. 1187.75 s [really-safe-money-gen] @@ -296,7 +296,6 @@
  10898. 1187.75 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  10899. 1187.75 s [really-safe-money-gen] toWord dl = do
  10900. 1187.75 s [really-safe-money-gen] n <- toNatural dl
  10901. 1187.75 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  10902. 1187.75 s [really-safe-money-gen] pure $ fromIntegral n
  10903. 1187.75 s [really-safe-money-gen]
  10904. 1187.75 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  10905. 1187.75 s [really-safe-money-gen]
  10906. 1187.75 s [really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  10907. 1187.75 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  10908. 1187.75 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  10909. 1187.75 s [really-safe-money-gen] toWord dl = do
  10910. 1187.75 s [really-safe-money-gen] n <- toNatural dl
  10911. 1187.75 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  10912. 1187.75 s [really-safe-money-gen] + guard $ True
  10913. 1187.75 s [really-safe-money-gen] pure $ fromIntegral n
  10914. 1187.75 s [really-safe-money-gen]
  10915. 1187.75 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  10916. 1187.75 s [really-safe-money-gen]
  10917. 1187.75 s [really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  10918. 1187.75 s [really-safe-money-gen] @@ -329,7 +329,6 @@
  10919. 1187.75 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  10920. 1187.75 s [really-safe-money-gen] toInt dl = do
  10921. 1187.75 s [really-safe-money-gen] n <- toInteger dl
  10922. 1187.75 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  10923. 1187.75 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  10924. 1187.75 s [really-safe-money-gen] pure $ fromIntegral n
  10925. 1187.75 s [really-safe-money-gen]
  10926. 1187.75 s [really-safe-money-gen]
  10927. 1187.75 s [really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  10928. 1187.75 s [really-safe-money-gen] @@ -330,7 +330,6 @@
  10929. 1187.75 s [really-safe-money-gen] toInt dl = do
  10930. 1187.75 s [really-safe-money-gen] n <- toInteger dl
  10931. 1187.75 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  10932. 1187.75 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  10933. 1187.75 s [really-safe-money-gen] pure $ fromIntegral n
  10934. 1187.75 s [really-safe-money-gen]
  10935. 1187.75 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10936. 1187.75 s [really-safe-money-gen]
  10937. 1187.75 s [really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  10938. 1187.75 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  10939. 1187.75 s [really-safe-money-gen] toInt dl = do
  10940. 1187.75 s [really-safe-money-gen] n <- toInteger dl
  10941. 1187.75 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  10942. 1187.75 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  10943. 1187.75 s [really-safe-money-gen] + guard $ True
  10944. 1187.75 s [really-safe-money-gen] pure $ fromIntegral n
  10945. 1187.75 s [really-safe-money-gen]
  10946. 1187.75 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10947. 1187.75 s [really-safe-money-gen]
  10948. 1187.75 s [really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  10949. 1187.75 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10950. 1187.75 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  10951. 1187.75 s [really-safe-money-gen] toInt dl = do
  10952. 1187.75 s [really-safe-money-gen] n <- toInteger dl
  10953. 1187.75 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  10954. 1187.75 s [really-safe-money-gen] + guard $ True
  10955. 1187.75 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  10956. 1187.75 s [really-safe-money-gen] pure $ fromIntegral n
  10957. 1187.75 s [really-safe-money-gen]
  10958. 1187.75 s [really-safe-money-gen]
  10959. 1187.75 s [really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  10960. 1187.75 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10961. 1187.76 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  10962. 1187.76 s [really-safe-money-gen] toInt dl = do
  10963. 1187.76 s [really-safe-money-gen] n <- toInteger dl
  10964. 1187.76 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  10965. 1187.76 s [really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
  10966. 1187.76 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  10967. 1187.76 s [really-safe-money-gen] pure $ fromIntegral n
  10968. 1187.76 s [really-safe-money-gen]
  10969. 1187.76 s [really-safe-money-gen]
  10970. 1187.76 s [really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  10971. 1187.76 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  10972. 1187.76 s [really-safe-money-gen] pure $ fromIntegral n
  10973. 1187.76 s [really-safe-money-gen]
  10974. 1187.76 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10975. 1187.76 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  10976. 1187.76 s [really-safe-money-gen] +numSign a = if a > 0 then Nothing else Just False
  10977. 1187.76 s [really-safe-money-gen]
  10978. 1187.76 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  10979. 1187.76 s [really-safe-money-gen] signSignum = \case
  10980. 1187.76 s [really-safe-money-gen]
  10981. 1187.76 s [really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  10982. 1187.76 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  10983. 1187.76 s [really-safe-money-gen] pure $ fromIntegral n
  10984. 1187.76 s [really-safe-money-gen]
  10985. 1187.76 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10986. 1187.76 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  10987. 1187.76 s [really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
  10988. 1187.76 s [really-safe-money-gen]
  10989. 1187.76 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  10990. 1187.76 s [really-safe-money-gen] signSignum = \case
  10991. 1187.76 s [really-safe-money-gen]
  10992. 1187.76 s [really-safe-money-gen] Cmp at src/Money/Account.hs:131:20-26
  10993. 1187.76 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  10994. 1187.76 s [really-safe-money-gen] amount :: Amount
  10995. 1187.76 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  10996. 1187.76 s [really-safe-money-gen] in Just $
  10997. 1187.76 s [really-safe-money-gen] - if i >= 0
  10998. 1187.76 s [really-safe-money-gen] + if i > 0
  10999. 1187.76 s [really-safe-money-gen] then Positive amount
  11000. 1187.76 s [really-safe-money-gen] else Negative amount
  11001. 1187.76 s [really-safe-money-gen]
  11002. 1187.76 s [really-safe-money-gen]
  11003. 1187.76 s [really-safe-money-gen] IntLit at src/Money/Account.hs:131:25-26
  11004. 1187.76 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  11005. 1187.76 s [really-safe-money-gen] amount :: Amount
  11006. 1187.76 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  11007. 1187.76 s [really-safe-money-gen] in Just $
  11008. 1187.76 s [really-safe-money-gen] - if i >= 0
  11009. 1187.76 s [really-safe-money-gen] + if i >= 1
  11010. 1187.76 s [really-safe-money-gen] then Positive amount
  11011. 1187.76 s [really-safe-money-gen] else Negative amount
  11012. 1187.76 s [really-safe-money-gen]
  11013. 1187.76 s [really-safe-money-gen]
  11014. 1187.76 s [really-safe-money-gen] ConstBool at src/Money/Account.hs:123:10-23
  11015. 1187.76 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  11016. 1187.76 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  11017. 1187.76 s [really-safe-money-gen] a :: Integer
  11018. 1187.76 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  11019. 1187.76 s [really-safe-money-gen] - in if a > maxBoundI
  11020. 1187.76 s [really-safe-money-gen] + in if False
  11021. 1187.76 s [really-safe-money-gen] then Nothing
  11022. 1187.76 s [really-safe-money-gen] else
  11023. 1187.76 s [really-safe-money-gen] let w :: Word64
  11024. 1187.76 s [really-safe-money-gen]
  11025. 1187.76 s [really-safe-money-gen] Cmp at src/Money/Account.hs:197:14-20
  11026. 1187.76 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  11027. 1187.76 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  11028. 1187.76 s [really-safe-money-gen] fromDouble quantisationFactor d =
  11029. 1187.76 s [really-safe-money-gen] let d' = Prelude.abs d
  11030. 1187.76 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  11031. 1187.76 s [really-safe-money-gen] + f = if d > 0 then Positive else Negative
  11032. 1187.76 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  11033. 1187.76 s [really-safe-money-gen]
  11034. 1187.76 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  11035. 1187.76 s [really-safe-money-gen]
  11036. 1187.76 s [really-safe-money-gen] Cmp at src/Money/Account.hs:503:10-16
  11037. 1187.76 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  11038. 1187.76 s [really-safe-money-gen] RoundNearest -> RoundNearest
  11039. 1187.76 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  11040. 1187.76 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  11041. 1187.76 s [really-safe-money-gen] - in if f >= 0
  11042. 1187.76 s [really-safe-money-gen] + in if f > 0
  11043. 1187.76 s [really-safe-money-gen] then (ma, r)
  11044. 1187.77 s [really-safe-money-gen] else (negate <$> ma, -r)
  11045. 1187.77 s [really-safe-money-gen]
  11046. 1187.77 s [really-safe-money-gen]
  11047. 1187.77 s [really-safe-money-gen] Cmp at src/Money/Account.hs:495:12-18
  11048. 1187.77 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  11049. 1187.77 s [really-safe-money-gen] fraction rounding account f =
  11050. 1187.77 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  11051. 1187.77 s [really-safe-money-gen] ro =
  11052. 1187.77 s [really-safe-money-gen] - if f >= 0
  11053. 1187.77 s [really-safe-money-gen] + if f > 0
  11054. 1187.77 s [really-safe-money-gen] then rounding
  11055. 1187.77 s [really-safe-money-gen] else case rounding of
  11056. 1187.77 s [really-safe-money-gen] RoundUp -> RoundDown
  11057. 1187.77 s [really-safe-money-gen]
  11058. 1187.77 s [really-safe-money-gen] MaybeOp at src/Money/Account.hs:523:16-25
  11059. 1187.77 s [really-safe-money-gen] @@ -520,7 +520,7 @@
  11060. 1187.77 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  11061. 1187.77 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  11062. 1187.77 s [really-safe-money-gen] func ma r = case compare account zero of
  11063. 1187.77 s [really-safe-money-gen] - EQ -> (Just zero, r)
  11064. 1187.77 s [really-safe-money-gen] + EQ -> (Nothing, r)
  11065. 1187.77 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  11066. 1187.77 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  11067. 1187.77 s [really-safe-money-gen] in func amount actualFraction
  11068. 1187.77 s [really-safe-money-gen]
  11069. 1187.77 s [really-safe-money-gen] Cmp at src/Money/Account.hs:455:14-23
  11070. 1187.77 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  11071. 1187.77 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  11072. 1187.77 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  11073. 1187.77 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  11074. 1187.77 s [really-safe-money-gen] - if a >= zero
  11075. 1187.77 s [really-safe-money-gen] + if a > zero
  11076. 1187.77 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  11077. 1187.77 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  11078. 1187.77 s [really-safe-money-gen]
  11079. 1187.77 s [really-safe-money-gen]
  11080. 1187.77 s [really-safe-money-gen] Cmp at src/Money/Account.hs:451:14-23
  11081. 1187.77 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  11082. 1187.77 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  11083. 1187.77 s [really-safe-money-gen] DistributedZero -> DistributedZero
  11084. 1187.77 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  11085. 1187.77 s [really-safe-money-gen] - if a >= zero
  11086. 1187.77 s [really-safe-money-gen] + if a > zero
  11087. 1187.77 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  11088. 1187.77 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  11089. 1187.77 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  11090. 1187.77 s [really-safe-money-gen] checkPhase completed in 18 minutes 34 seconds
  11091. 1187.77 s [really-safe-money-gen] Phase: haddockPhase
  11092. 1188.38 s [really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
  11093. 1188.39 s [really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
  11094. 1188.39 s [really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
  11095. 1188.39 s [really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
  11096. 1189.17 s [really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
  11097. 1189.55 s [really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
  11098. 1189.59 s [really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
  11099. 1189.61 s [really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
  11100. 1189.63 s [really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
  11101. 1189.68 s [really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
  11102. 1189.70 s [really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
  11103. 1189.73 s [really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
  11104. 1189.77 s [really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
  11105. 1189.88 s [really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
  11106. 1189.92 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
  11107. 1189.93 s [really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
  11108. 1189.97 s [really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
  11109. 1190.08 s [really-safe-money-gen] Haddock coverage:
  11110. 1190.08 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
  11111. 1190.08 s [really-safe-money-gen] Missing documentation for:
  11112. 1190.08 s [really-safe-money-gen] Module header
  11113. 1190.08 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
  11114. 1190.08 s [really-safe-money-gen] Missing documentation for:
  11115. 1190.08 s [really-safe-money-gen] Module header
  11116. 1190.08 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
  11117. 1190.08 s [really-safe-money-gen] Missing documentation for:
  11118. 1190.08 s [really-safe-money-gen] Module header
  11119. 1190.08 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
  11120. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11121. 1190.09 s [really-safe-money-gen] Module header
  11122. 1190.09 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
  11123. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11124. 1190.09 s [really-safe-money-gen] Module header
  11125. 1190.09 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
  11126. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11127. 1190.09 s [really-safe-money-gen] Module header
  11128. 1190.09 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
  11129. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11130. 1190.09 s [really-safe-money-gen] Module header
  11131. 1190.09 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
  11132. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11133. 1190.09 s [really-safe-money-gen] Module header
  11134. 1190.09 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
  11135. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11136. 1190.09 s [really-safe-money-gen] Module header
  11137. 1190.09 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
  11138. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11139. 1190.09 s [really-safe-money-gen] Module header
  11140. 1190.09 s [really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
  11141. 1190.09 s [really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
  11142. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11143. 1190.09 s [really-safe-money-gen] Module header
  11144. 1190.09 s [really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
  11145. 1190.09 s [really-safe-money-gen] Missing documentation for:
  11146. 1190.09 s [really-safe-money-gen] Module header
  11147. 1190.09 s [really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
  11148. 1190.51 s [really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
  11149. 1190.51 s [really-safe-money-gen] - Money.Amount.Amount
  11150. 1190.52 s [really-safe-money-gen] - Money.Amount.Distribution
  11151. 1190.52 s [really-safe-money-gen] - Money.Amount.Rounding
  11152. 1190.52 s [really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
  11153. 1190.52 s [really-safe-money-gen] - Money.Account.Account
  11154. 1190.52 s [really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
  11155. 1190.52 s [really-safe-money-gen] - Money.AccountOf.AccountOf
  11156. 1190.52 s [really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
  11157. 1190.52 s [really-safe-money-gen] - Money.AmountOf.AmountOf
  11158. 1190.52 s [really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
  11159. 1190.52 s [really-safe-money-gen] - Money.ConversionRate.ConversionRate
  11160. 1190.52 s [really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
  11161. 1190.52 s [really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
  11162. 1190.52 s [really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
  11163. 1190.52 s [really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
  11164. 1190.52 s [really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
  11165. 1190.52 s [really-safe-money-gen] - Money.Currency.Currency
  11166. 1190.52 s [really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
  11167. 1190.52 s [really-safe-money-gen] - Money.MultiAmount.MultiAmount
  11168. 1190.52 s [really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
  11169. 1190.52 s [really-safe-money-gen] - Money.MultiAccount.MultiAccount
  11170. 1190.52 s [really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
  11171. 1190.52 s [really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
  11172. 1204.44 s [really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
  11173. 1204.45 s [really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
  11174. 1204.62 s [really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  11175. 1204.65 s [really-safe-money-gen] Phase: installPhase
  11176. 1205.07 s [really-safe-money-gen] Installing library in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  11177. 1206.41 s [really-safe-money-gen] Phase: fixupPhase
  11178. 1206.45 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0
  11179. 1206.47 s [really-safe-money-gen] shrinking /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A-ghc9.10.3.so
  11180. 1206.49 s [really-safe-money-gen] checking for references to /build/ in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0...
  11181. 1206.56 s [really-safe-money-gen] patching script interpreter paths in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0
  11182. 1206.57 s [really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib
  11183. 1206.73 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc
  11184. 1206.75 s [really-safe-money-gen] checking for references to /build/ in /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc...
  11185. 1206.79 s [really-safe-money-gen] patching script interpreter paths in /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc
  11186. 1206.81 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
  11187. 1206.83 s [really-safe-money-gen] checking for references to /build/ in /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report...
  11188. 1206.88 s [really-safe-money-gen] patching script interpreter paths in /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
  11189. 1207.19 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
  11190. 1208.65 s [post-build-hook] Pushing 3 paths (196 are already present) using zstd to cache sydtest ⏳
  11191. 1208.65 s [post-build-hook]
  11192. 1209.03 s [post-build-hook] Pushing /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report (423.02 KiB)
  11193. 1209.17 s [post-build-hook] Pushing /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 (1.52 MiB)
  11194. 1209.17 s [post-build-hook] Pushing /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc (288.17 KiB)
  11195. 1210.92 s [post-build-hook]
  11196. 1210.92 s [post-build-hook] All done.
  11197. 1210.98 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
  11198. 1211.12 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  11199. 1211.51 s [post-build-hook] copying 3 paths...
  11200. 1211.51 s [post-build-hook] copying path '/nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc' to 'https://cache.staging.nix-ci.com'...
  11201. 1211.51 s [post-build-hook] copying path '/nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report' to 'https://cache.staging.nix-ci.com'...
  11202. 1211.70 s [post-build-hook] copying path '/nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  11203. 1212.66 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  11204. 1213.05 s [post-build-hook] copying 1 paths...
  11205. 1213.05 s [post-build-hook] copying path '/nix/store/k6wpllr0zwnzx7ijvg6z0nkwcap674yn-really-safe-money-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  11206. 1213.34 s Progress: 7 of 8 built