1. 0.10 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=db1d19822760390da4df30bd2df9775f5e3e29ad#checks.x86_64-linux.mutation-really-safe-money --print-build-logs
  2. 0.25 s warning: ignoring untrusted flake configuration setting 'extra-substituters'.
  3. 0.25 s Pass '--accept-flake-config' to trust it
  4. 0.25 s warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
  5. 0.25 s Pass '--accept-flake-config' to trust it
  6. 0.25 s
  7. 2.19 s Building really-safe-money
  8. 2.24 s Building genvalidity-sydtest-source
  9. 2.43 s [really-safe-money] Phase: setupCompilerEnvironmentPhase
  10. 2.43 s [really-safe-money] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  11. 2.61 s [genvalidity-sydtest-source] Phase: setupCompilerEnvironmentPhase
  12. 2.61 s [genvalidity-sydtest-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  13. 2.76 s [really-safe-money] Phase: unpackPhase
  14. 2.77 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.78 s [really-safe-money] source root is really-safe-money-0.0.0.0
  16. 2.78 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.79 s [really-safe-money] Phase: patchPhase
  18. 2.80 s [really-safe-money] Phase: compileBuildDriverPhase
  19. 2.81 s [really-safe-money] setupCompileFlags: -package-db=/build/tmp.ewAb1dEUi0/setup-package.conf.d -threaded
  20. 2.89 s [really-safe-money] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.ewAb1dEUi0/Main.o )
  21. 2.98 s [really-safe-money] [2 of 2] Linking Setup
  22. 3.21 s [genvalidity-sydtest-source] Phase: unpackPhase
  23. 3.21 s [genvalidity-sydtest-source] unpacking source archive /nix/store/dqdpwym3w17fcyylxh144v7wvc1c621z-genvalidity-sydtest
  24. 3.22 s [genvalidity-sydtest-source] source root is genvalidity-sydtest
  25. 3.23 s [genvalidity-sydtest-source] Phase: patchPhase
  26. 3.24 s [genvalidity-sydtest-source] Phase: compileBuildDriverPhase
  27. 3.24 s [genvalidity-sydtest-source] setupCompileFlags: -package-db=/build/tmp.QI36mtJW2D/setup-package.conf.d -threaded
  28. 3.32 s [genvalidity-sydtest-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.QI36mtJW2D/Main.o )
  29. 3.50 s [genvalidity-sydtest-source] [2 of 2] Linking Setup
  30. 4.76 s [really-safe-money] Phase: updateAutotoolsGnuConfigScriptsPhase
  31. 4.77 s [really-safe-money] Phase: configurePhase
  32. 4.81 s [really-safe-money] configureFlags: --verbose --prefix=/nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.ewAb1dEUi0/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.82 s [really-safe-money] Using Parsec parser
  34. 4.82 s [really-safe-money] Configuring really-safe-money-0.0.0.0...
  35. 5.21 s [genvalidity-sydtest-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  36. 5.24 s [genvalidity-sydtest-source] Phase: configurePhase
  37. 5.24 s [genvalidity-sydtest-source] configureFlags: --verbose --prefix=/nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-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.QI36mtJW2D/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. 5.24 s [genvalidity-sydtest-source] Using Parsec parser
  39. 5.24 s [genvalidity-sydtest-source] Configuring genvalidity-sydtest-1.0.1.0...
  40. 5.62 s [really-safe-money] Dependency base >=4.7 && <5: using base-4.20.2.0
  41. 5.62 s [really-safe-money] Dependency containers: using containers-0.7
  42. 5.62 s [really-safe-money] Dependency deepseq: using deepseq-1.5.0.0
  43. 5.62 s [really-safe-money] Dependency validity: using validity-0.12.1.0
  44. 5.62 s [really-safe-money] Dependency validity-containers: using validity-containers-0.5.0.5
  45. 5.62 s [really-safe-money] Dependency validity-scientific: using validity-scientific-0.2.0.3
  46. 5.62 s [really-safe-money] Source component graph: component lib
  47. 5.62 s [really-safe-money] Configured component graph:
  48. 5.62 s [really-safe-money] component really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  49. 5.62 s [really-safe-money] include base-4.20.2.0-64da
  50. 5.62 s [really-safe-money] include containers-0.7-504a
  51. 5.62 s [really-safe-money] include deepseq-1.5.0.0-9a2c
  52. 5.62 s [really-safe-money] include validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
  53. 5.62 s [really-safe-money] include validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
  54. 5.62 s [really-safe-money] include validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
  55. 5.62 s [really-safe-money] Linked component graph:
  56. 5.62 s [really-safe-money] unit really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  57. 5.62 s [really-safe-money] include base-4.20.2.0-64da
  58. 5.62 s [really-safe-money] include containers-0.7-504a
  59. 5.62 s [really-safe-money] include deepseq-1.5.0.0-9a2c
  60. 5.62 s [really-safe-money] include validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
  61. 5.62 s [really-safe-money] include validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
  62. 5.62 s [really-safe-money] include validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
  63. 5.62 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.62 s [really-safe-money] Ready component graph:
  65. 5.62 s [really-safe-money] definite really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  66. 5.62 s [really-safe-money] depends base-4.20.2.0-64da
  67. 5.62 s [really-safe-money] depends containers-0.7-504a
  68. 5.62 s [really-safe-money] depends deepseq-1.5.0.0-9a2c
  69. 5.62 s [really-safe-money] depends validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
  70. 5.62 s [really-safe-money] depends validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
  71. 5.62 s [really-safe-money] depends validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
  72. 5.62 s [really-safe-money] Using Cabal-3.12.1.0 compiled by ghc-9.10
  73. 5.62 s [really-safe-money] Using compiler: ghc-9.10.3
  74. 5.62 s [really-safe-money] Using install prefix:
  75. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0
  76. 5.62 s [really-safe-money] Executables installed in:
  77. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0/bin
  78. 5.62 s [really-safe-money] Libraries installed in:
  79. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-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.62 s [really-safe-money] Dynamic Libraries installed in:
  81. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  82. 5.62 s [really-safe-money] Private executables installed in:
  83. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-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.62 s [really-safe-money] Data files installed in:
  85. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-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.62 s [really-safe-money] Documentation installed in:
  87. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-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.62 s [really-safe-money] Configuration files installed in:
  89. 5.62 s [really-safe-money] /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0/etc
  90. 5.62 s [really-safe-money] No alex found
  91. 5.62 s [really-safe-money] Using ar found on system at:
  92. 5.62 s [really-safe-money] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  93. 5.62 s [really-safe-money] No c2hs found
  94. 5.62 s [really-safe-money] No cpphs found
  95. 5.62 s [really-safe-money] No doctest found
  96. 5.62 s [really-safe-money] Using gcc version 14.3.0 given by user at:
  97. 5.62 s [really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  98. 5.62 s [really-safe-money] Using ghc version 9.10.3 found on system at:
  99. 5.62 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  100. 5.62 s [really-safe-money] Using ghc-pkg version 9.10.3 found on system at:
  101. 5.62 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  102. 5.62 s [really-safe-money] No ghcjs found
  103. 5.62 s [really-safe-money] No ghcjs-pkg found
  104. 5.62 s [really-safe-money] No greencard found
  105. 5.62 s [really-safe-money] Using haddock version 2.31.1 found on system at:
  106. 5.62 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  107. 5.62 s [really-safe-money] No happy found
  108. 5.62 s [really-safe-money] Using haskell-suite found on system at: haskell-suite-dummy-location
  109. 5.62 s [really-safe-money] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  110. 5.62 s [really-safe-money] No hmake found
  111. 5.62 s [really-safe-money] Using hpc version 0.69 found on system at:
  112. 5.62 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  113. 5.62 s [really-safe-money] Using hsc2hs version 0.68.10 found on system at:
  114. 5.62 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  115. 5.62 s [really-safe-money] Using hscolour version 1.25 found on system at:
  116. 5.62 s [really-safe-money] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  117. 5.62 s [really-safe-money] No jhc found
  118. 5.62 s [really-safe-money] Using ld found on system at:
  119. 5.62 s [really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  120. 5.62 s [really-safe-money] No pkg-config found
  121. 5.62 s [really-safe-money] Using runghc version 9.10.3 found on system at:
  122. 5.62 s [really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  123. 5.62 s [really-safe-money] Using strip version 2.44 found on system at:
  124. 5.62 s [really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  125. 5.63 s [really-safe-money] Using tar found on system at:
  126. 5.63 s [really-safe-money] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  127. 5.63 s [really-safe-money] No uhc found
  128. 5.81 s [really-safe-money] Phase: buildPhase
  129. 5.81 s [really-safe-money] mutation-nix: setting MUTATION_MANIFEST_DIR=/nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest
  130. 5.87 s [really-safe-money] Preprocessing library for really-safe-money-0.0.0.0...
  131. 5.87 s [really-safe-money] Building library for really-safe-money-0.0.0.0...
  132. 6.03 s [genvalidity-sydtest-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  133. 6.03 s [genvalidity-sydtest-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  134. 6.03 s [genvalidity-sydtest-source] Dependency genvalidity >=1.0: using genvalidity-1.1.1.0
  135. 6.03 s [genvalidity-sydtest-source] Dependency sydtest: using sydtest-0.23.0.2
  136. 6.03 s [genvalidity-sydtest-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  137. 6.03 s [genvalidity-sydtest-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  138. 6.03 s [genvalidity-sydtest-source] Dependency genvalidity: using genvalidity-1.1.1.0
  139. 6.03 s [genvalidity-sydtest-source] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  140. 6.03 s [genvalidity-sydtest-source] Dependency sydtest: using sydtest-0.23.0.2
  141. 6.03 s [genvalidity-sydtest-source] Source component graph:
  142. 6.03 s [genvalidity-sydtest-source] component lib
  143. 6.03 s [genvalidity-sydtest-source] component test:genvalidity-sydtest-test dependency lib
  144. 6.03 s [genvalidity-sydtest-source] Configured component graph:
  145. 6.03 s [genvalidity-sydtest-source] component genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  146. 6.03 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  147. 6.03 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  148. 6.03 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  149. 6.03 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  150. 6.03 s [genvalidity-sydtest-source] component genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  151. 6.03 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  152. 6.03 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  153. 6.03 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  154. 6.03 s [genvalidity-sydtest-source] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  155. 6.03 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  156. 6.03 s [genvalidity-sydtest-source] Linked component graph:
  157. 6.03 s [genvalidity-sydtest-source] unit genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  158. 6.03 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  159. 6.03 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  160. 6.03 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  161. 6.03 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  162. 6.03 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. 6.03 s [genvalidity-sydtest-source] unit genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  164. 6.03 s [genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  165. 6.03 s [genvalidity-sydtest-source] include base-4.20.2.0-64da
  166. 6.03 s [genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  167. 6.03 s [genvalidity-sydtest-source] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  168. 6.03 s [genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  169. 6.03 s [genvalidity-sydtest-source] Ready component graph:
  170. 6.03 s [genvalidity-sydtest-source] definite genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  171. 6.03 s [genvalidity-sydtest-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  172. 6.03 s [genvalidity-sydtest-source] depends base-4.20.2.0-64da
  173. 6.03 s [genvalidity-sydtest-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  174. 6.03 s [genvalidity-sydtest-source] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  175. 6.04 s [genvalidity-sydtest-source] definite genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  176. 6.04 s [genvalidity-sydtest-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  177. 6.04 s [genvalidity-sydtest-source] depends base-4.20.2.0-64da
  178. 6.04 s [genvalidity-sydtest-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  179. 6.04 s [genvalidity-sydtest-source] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  180. 6.04 s [genvalidity-sydtest-source] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  181. 6.04 s [genvalidity-sydtest-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
  182. 6.04 s [genvalidity-sydtest-source] Using compiler: ghc-9.10.3
  183. 6.04 s [genvalidity-sydtest-source] Using install prefix:
  184. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0
  185. 6.04 s [genvalidity-sydtest-source] Executables installed in:
  186. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0/bin
  187. 6.04 s [genvalidity-sydtest-source] Libraries installed in:
  188. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-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. 6.04 s [genvalidity-sydtest-source] Dynamic Libraries installed in:
  190. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  191. 6.04 s [genvalidity-sydtest-source] Private executables installed in:
  192. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0/libexec/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  193. 6.04 s [genvalidity-sydtest-source] Data files installed in:
  194. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0/share/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  195. 6.04 s [genvalidity-sydtest-source] Documentation installed in: /share/doc/genvalidity-sydtest-1.0.1.0
  196. 6.04 s [genvalidity-sydtest-source] Configuration files installed in:
  197. 6.04 s [genvalidity-sydtest-source] /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0/etc
  198. 6.04 s [genvalidity-sydtest-source] No alex found
  199. 6.04 s [genvalidity-sydtest-source] Using ar found on system at:
  200. 6.04 s [genvalidity-sydtest-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  201. 6.04 s [genvalidity-sydtest-source] No c2hs found
  202. 6.04 s [genvalidity-sydtest-source] No cpphs found
  203. 6.04 s [genvalidity-sydtest-source] No doctest found
  204. 6.04 s [genvalidity-sydtest-source] Using gcc version 14.3.0 given by user at:
  205. 6.04 s [genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  206. 6.04 s [genvalidity-sydtest-source] Using ghc version 9.10.3 found on system at:
  207. 6.04 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  208. 6.04 s [genvalidity-sydtest-source] Using ghc-pkg version 9.10.3 found on system at:
  209. 6.04 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  210. 6.04 s [genvalidity-sydtest-source] No ghcjs found
  211. 6.04 s [genvalidity-sydtest-source] No ghcjs-pkg found
  212. 6.04 s [genvalidity-sydtest-source] No greencard found
  213. 6.04 s [genvalidity-sydtest-source] Using haddock version 2.31.1 found on system at:
  214. 6.08 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  215. 6.08 s [genvalidity-sydtest-source] No happy found
  216. 6.08 s [genvalidity-sydtest-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  217. 6.08 s [genvalidity-sydtest-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  218. 6.08 s [genvalidity-sydtest-source] No hmake found
  219. 6.08 s [genvalidity-sydtest-source] Using hpc version 0.69 found on system at:
  220. 6.08 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  221. 6.08 s [genvalidity-sydtest-source] Using hsc2hs version 0.68.10 found on system at:
  222. 6.08 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  223. 6.08 s [genvalidity-sydtest-source] Using hscolour version 1.25 found on system at:
  224. 6.08 s [genvalidity-sydtest-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  225. 6.08 s [genvalidity-sydtest-source] No jhc found
  226. 6.08 s [genvalidity-sydtest-source] Using ld found on system at:
  227. 6.08 s [genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  228. 6.08 s [genvalidity-sydtest-source] No pkg-config found
  229. 6.08 s [genvalidity-sydtest-source] Using runghc version 9.10.3 found on system at:
  230. 6.08 s [genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  231. 6.08 s [genvalidity-sydtest-source] Using strip version 2.44 found on system at:
  232. 6.08 s [genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  233. 6.08 s [genvalidity-sydtest-source] Using tar found on system at:
  234. 6.08 s [genvalidity-sydtest-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  235. 6.08 s [genvalidity-sydtest-source] No uhc found
  236. 6.10 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.58 s [really-safe-money] mutation: instrumenting Numeric.DecimalLiteral
  238. 6.58 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
  239. 6.58 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
  240. 6.58 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  241. 6.58 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  242. 6.58 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  243. 6.58 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  244. 6.58 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  245. 6.58 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
  246. 6.58 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  247. 6.58 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  248. 6.58 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  249. 6.58 s [genvalidity-sydtest-source] Phase: buildPhase
  250. 6.58 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  251. 6.58 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  252. 6.58 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  253. 6.58 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  254. 6.58 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  255. 6.58 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  256. 6.58 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  257. 6.58 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  258. 6.58 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  259. 6.58 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
  260. 6.58 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
  261. 6.58 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
  262. 6.59 s [genvalidity-sydtest-source] Distribution quality warnings:
  263. 6.59 s [genvalidity-sydtest-source] [no-description] No 'description' field.
  264. 6.59 s [genvalidity-sydtest-source] [missing-upper-bounds] On library, these packages miss upper bounds:
  265. 6.59 s [genvalidity-sydtest-source] - QuickCheck
  266. 6.59 s [genvalidity-sydtest-source] - genvalidity
  267. 6.59 s [genvalidity-sydtest-source] - sydtest
  268. 6.59 s [genvalidity-sydtest-source] Please add them. There is more information at https://pvp.haskell.org/
  269. 6.59 s [genvalidity-sydtest-source] Building source dist for genvalidity-sydtest-1.0.1.0...
  270. 6.62 s [genvalidity-sydtest-source] Source tarball created: dist/genvalidity-sydtest-1.0.1.0.tar.gz
  271. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  272. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  273. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  274. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  275. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  276. 6.62 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
  277. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  278. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  279. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  280. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  281. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  282. 6.62 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
  283. 6.62 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  284. 6.62 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  285. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
  286. 6.62 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
  287. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
  288. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  289. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  290. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  291. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  292. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  293. 6.62 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
  294. 6.62 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  295. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  296. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  297. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  298. 6.62 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  299. 6.62 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  300. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  301. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  302. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  303. 6.62 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
  304. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
  305. 6.62 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
  306. 6.62 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
  307. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
  308. 6.62 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
  309. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  310. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  311. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  312. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
  313. 6.62 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
  314. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  315. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  316. 6.62 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  317. 6.62 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
  318. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
  319. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  320. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  321. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  322. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  323. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  324. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  325. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  326. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  327. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  328. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  329. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
  330. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
  331. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  332. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  333. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  334. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
  335. 6.63 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  336. 6.63 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  337. 6.63 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  338. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
  339. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
  340. 6.63 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
  341. 6.63 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
  342. 6.63 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  343. 6.63 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  344. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  345. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  346. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  347. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  348. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  349. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
  350. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
  351. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  352. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  353. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  354. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  355. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  356. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  357. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  358. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  359. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  360. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  361. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  362. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  363. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  364. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  365. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  366. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  367. 6.63 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  368. 6.63 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
  369. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  370. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  371. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
  372. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  373. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  374. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
  375. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  376. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  377. 6.63 s [really-safe-money] added mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
  378. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
  379. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  380. 6.63 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  381. 6.63 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
  382. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
  383. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
  384. 6.63 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
  385. 6.63 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  386. 6.63 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  387. 6.63 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  388. 6.63 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  389. 6.63 s [genvalidity-sydtest-source] Phase: checkPhase
  390. 6.63 s [really-safe-money] added 141 mutations
  391. 6.63 s [genvalidity-sydtest-source] Phase: haddockPhase
  392. 6.64 s [genvalidity-sydtest-source] Phase: installPhase
  393. 6.65 s [genvalidity-sydtest-source] Phase: fixupPhase
  394. 6.70 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0
  395. 7.13 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
  396. 7.13 s [post-build-hook]
  397. 7.48 s [post-build-hook] Pushing /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0 (17.74 KiB)
  398. 8.69 s [post-build-hook]
  399. 8.69 s [post-build-hook] All done.
  400. 8.71 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0
  401. 8.77 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  402. 8.78 s [post-build-hook] copying 1 paths...
  403. 8.78 s [post-build-hook] copying path '/nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0' to 'https://cache.staging.nix-ci.com'...
  404. 9.16 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  405. 9.44 s [post-build-hook] copying 1 paths...
  406. 9.44 s [post-build-hook] copying path '/nix/store/m75zch250ia3bcszyd9xs74vpcs0npyw-genvalidity-sydtest-source-1.0.1.0.drv' to 'https://cache.staging.nix-ci.com'...
  407. 9.64 s Progress: 1 of 9 built (1 building)
  408. 9.70 s Building genvalidity-sydtest
  409. 9.70 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. 9.70 s [really-safe-money] mutation: instrumenting Money.QuantisationFactor
  411. 9.70 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
  412. 9.70 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  413. 9.70 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  414. 9.70 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
  415. 9.70 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  416. 9.70 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  417. 9.70 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
  418. 9.70 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  419. 9.70 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  420. 9.70 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  421. 9.70 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  422. 9.70 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  423. 9.70 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
  424. 9.70 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
  425. 9.70 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  426. 9.70 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  427. 9.70 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  428. 9.70 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  429. 9.70 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
  430. 9.70 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
  431. 9.70 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  432. 9.70 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  433. 9.71 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  434. 9.71 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  435. 9.71 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  436. 9.71 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
  437. 9.71 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
  438. 9.71 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  439. 9.71 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  440. 9.71 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
  441. 9.71 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  442. 9.71 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  443. 9.71 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
  444. 9.71 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  445. 9.71 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  446. 9.71 s [really-safe-money] added 35 mutations
  447. 9.71 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. 9.71 s [really-safe-money] mutation: instrumenting Money.Currency
  449. 9.71 s [really-safe-money] added 0 mutations
  450. 10.07 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. 10.08 s [really-safe-money] mutation: instrumenting Money.ConversionRate
  452. 10.08 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  453. 10.08 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  454. 10.08 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  455. 10.08 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  456. 10.08 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  457. 10.08 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  458. 10.08 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  459. 10.08 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  460. 10.08 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:72:25-26
  461. 10.08 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  462. 10.08 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  463. 10.08 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  464. 10.08 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  465. 10.08 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  466. 10.08 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:72:21-26
  467. 10.08 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:38:56-57
  468. 10.08 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  469. 10.08 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  470. 10.08 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:38:41-57
  471. 10.08 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  472. 10.08 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  473. 10.08 s [really-safe-money] added 21 mutations
  474. 10.09 s [genvalidity-sydtest] Phase: setupCompilerEnvironmentPhase
  475. 10.13 s [genvalidity-sydtest] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  476. 10.46 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 )
  477. 10.58 s [really-safe-money] mutation: instrumenting Money.ConversionRateOf
  478. 10.58 s [really-safe-money] added 0 mutations
  479. 10.58 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 )
  480. 10.66 s [really-safe-money] mutation: instrumenting Money.Amount
  481. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  482. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  483. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  484. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  485. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  486. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  487. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  488. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:569:18-19
  489. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  490. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  491. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:569:10-19
  492. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  493. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  494. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  495. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  496. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  497. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  498. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  499. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  500. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  501. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:544:10-23
  502. 10.66 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:546:14-66
  503. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  504. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  505. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:518:14-15
  506. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  507. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  508. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  509. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  510. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  511. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:518:10-15
  512. 10.66 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:520:14-66
  513. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  514. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  515. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  516. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  517. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  518. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  519. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  520. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:476:10-23
  521. 10.66 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:478:14-66
  522. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:388:5-16
  523. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:388:5-16
  524. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:389:9-10
  525. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  526. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  527. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  528. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:389:5-10
  529. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:389:5-10
  530. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  531. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  532. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  533. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  534. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:397:14-31
  535. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  536. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  537. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  538. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  539. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  540. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:399:18-83
  541. 10.66 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:320:9-10
  542. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  543. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  544. 10.66 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  545. 10.66 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:320:5-10
  546. 10.66 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:320:5-10
  547. 10.66 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  548. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  549. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:327:9-16
  550. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:327:9-16
  551. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:328:9-21
  552. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:328:9-21
  553. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  554. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  555. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  556. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  557. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  558. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  559. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  560. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  561. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:332:14-40
  562. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  563. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  564. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:339:22-39
  565. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  566. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  567. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  568. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  569. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  570. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:341:26-91
  571. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:290:79-80
  572. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  573. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  574. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:494:96-97
  575. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  576. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  577. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  578. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  579. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  580. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:495:10-23
  581. 10.67 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:497:14-66
  582. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:250:15-16
  583. 10.67 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:660:28-37
  584. 10.67 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:661:19-28
  585. 10.67 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:661:30-31
  586. 10.67 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  587. 10.67 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  588. 10.67 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  589. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  590. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  591. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  592. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  593. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  594. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  595. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  596. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:681:12-37
  597. 10.67 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:683:16-27
  598. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  599. 10.67 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  600. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  601. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  602. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  603. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  604. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  605. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:806:79-92
  606. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  607. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  608. 10.67 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  609. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  610. 10.67 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  611. 10.67 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:607:15-22
  612. 10.67 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  613. 10.67 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  614. 10.67 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  615. 10.67 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  616. 10.67 s [really-safe-money] added 135 mutations
  617. 10.73 s [genvalidity-sydtest] Phase: unpackPhase
  618. 10.74 s [genvalidity-sydtest] unpacking source archive /nix/store/iyq2a3nsc64vhx5xm84vlmy1fb932ckk-genvalidity-sydtest-source-1.0.1.0/genvalidity-sydtest-1.0.1.0.tar.gz
  619. 10.75 s [genvalidity-sydtest] source root is genvalidity-sydtest-1.0.1.0
  620. 10.76 s [genvalidity-sydtest] setting SOURCE_DATE_EPOCH to timestamp 1778828832 of file "genvalidity-sydtest-1.0.1.0/test/Test/Syd/Validity/ShrinkingSpec.hs"
  621. 10.76 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. 10.77 s [genvalidity-sydtest] Phase: patchPhase
  623. 10.78 s [genvalidity-sydtest] Phase: compileBuildDriverPhase
  624. 10.78 s [genvalidity-sydtest] setupCompileFlags: -package-db=/build/tmp.K5oRIVkola/setup-package.conf.d -threaded
  625. 10.85 s [genvalidity-sydtest] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.K5oRIVkola/Main.o )
  626. 10.93 s [genvalidity-sydtest] [2 of 2] Linking Setup
  627. 12.50 s [genvalidity-sydtest] Phase: updateAutotoolsGnuConfigScriptsPhase
  628. 12.51 s [genvalidity-sydtest] Phase: configurePhase
  629. 12.52 s [genvalidity-sydtest] configureFlags: --verbose --prefix=/nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc/share/doc/genvalidity-sydtest-1.0.1.0 --with-gcc=gcc --package-db=/build/tmp.K5oRIVkola/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. 12.52 s [genvalidity-sydtest] Using Parsec parser
  631. 12.52 s [genvalidity-sydtest] Configuring genvalidity-sydtest-1.0.1.0...
  632. 13.31 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. 13.34 s [genvalidity-sydtest] Dependency QuickCheck: using QuickCheck-2.15.0.1
  634. 13.34 s [genvalidity-sydtest] Dependency base >=4.7 && <5: using base-4.20.2.0
  635. 13.34 s [genvalidity-sydtest] Dependency genvalidity >=1.0: using genvalidity-1.1.1.0
  636. 13.34 s [genvalidity-sydtest] Dependency sydtest: using sydtest-0.23.0.2
  637. 13.34 s [genvalidity-sydtest] Dependency QuickCheck: using QuickCheck-2.15.0.1
  638. 13.34 s [genvalidity-sydtest] Dependency base >=4.7 && <5: using base-4.20.2.0
  639. 13.34 s [genvalidity-sydtest] Dependency genvalidity: using genvalidity-1.1.1.0
  640. 13.34 s [genvalidity-sydtest] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  641. 13.34 s [genvalidity-sydtest] Dependency sydtest: using sydtest-0.23.0.2
  642. 13.34 s [genvalidity-sydtest] Source component graph:
  643. 13.34 s [genvalidity-sydtest] component lib
  644. 13.34 s [genvalidity-sydtest] component test:genvalidity-sydtest-test dependency lib
  645. 13.34 s [genvalidity-sydtest] Configured component graph:
  646. 13.34 s [genvalidity-sydtest] component genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  647. 13.34 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  648. 13.34 s [genvalidity-sydtest] include base-4.20.2.0-64da
  649. 13.34 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  650. 13.34 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  651. 13.34 s [genvalidity-sydtest] component genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  652. 13.34 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  653. 13.34 s [genvalidity-sydtest] include base-4.20.2.0-64da
  654. 13.34 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  655. 13.34 s [genvalidity-sydtest] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  656. 13.34 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  657. 13.34 s [genvalidity-sydtest] Linked component graph:
  658. 13.35 s [genvalidity-sydtest] unit genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  659. 13.35 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  660. 13.35 s [genvalidity-sydtest] include base-4.20.2.0-64da
  661. 13.35 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  662. 13.35 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  663. 13.35 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
  664. 13.35 s [genvalidity-sydtest] unit genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  665. 13.35 s [genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  666. 13.35 s [genvalidity-sydtest] include base-4.20.2.0-64da
  667. 13.35 s [genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  668. 13.35 s [genvalidity-sydtest] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  669. 13.35 s [genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  670. 13.35 s [genvalidity-sydtest] Ready component graph:
  671. 13.35 s [genvalidity-sydtest] definite genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  672. 13.35 s [genvalidity-sydtest] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  673. 13.35 s [genvalidity-sydtest] depends base-4.20.2.0-64da
  674. 13.35 s [genvalidity-sydtest] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  675. 13.35 s [genvalidity-sydtest] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  676. 13.35 s [genvalidity-sydtest] definite genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
  677. 13.35 s [genvalidity-sydtest] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  678. 13.35 s [genvalidity-sydtest] depends base-4.20.2.0-64da
  679. 13.35 s [genvalidity-sydtest] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  680. 13.35 s [genvalidity-sydtest] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  681. 13.35 s [genvalidity-sydtest] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  682. 13.35 s [genvalidity-sydtest] Using Cabal-3.12.1.0 compiled by ghc-9.10
  683. 13.35 s [genvalidity-sydtest] Using compiler: ghc-9.10.3
  684. 13.35 s [genvalidity-sydtest] Using install prefix:
  685. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0
  686. 13.35 s [genvalidity-sydtest] Executables installed in:
  687. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0/bin
  688. 13.35 s [genvalidity-sydtest] Libraries installed in:
  689. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-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
  690. 13.35 s [genvalidity-sydtest] Dynamic Libraries installed in:
  691. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  692. 13.35 s [genvalidity-sydtest] Private executables installed in:
  693. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0/libexec/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  694. 13.35 s [genvalidity-sydtest] Data files installed in:
  695. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0/share/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
  696. 13.35 s [genvalidity-sydtest] Documentation installed in:
  697. 13.35 s [genvalidity-sydtest] /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc/share/doc/genvalidity-sydtest-1.0.1.0
  698. 13.35 s [genvalidity-sydtest] Configuration files installed in:
  699. 13.35 s [genvalidity-sydtest] /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0/etc
  700. 13.35 s [genvalidity-sydtest] No alex found
  701. 13.35 s [genvalidity-sydtest] Using ar found on system at:
  702. 13.35 s [genvalidity-sydtest] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  703. 13.35 s [genvalidity-sydtest] No c2hs found
  704. 13.35 s [genvalidity-sydtest] No cpphs found
  705. 13.35 s [genvalidity-sydtest] No doctest found
  706. 13.35 s [genvalidity-sydtest] Using gcc version 14.3.0 given by user at:
  707. 13.35 s [genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  708. 13.35 s [genvalidity-sydtest] Using ghc version 9.10.3 found on system at:
  709. 13.35 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  710. 13.35 s [genvalidity-sydtest] Using ghc-pkg version 9.10.3 found on system at:
  711. 13.35 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  712. 13.35 s [genvalidity-sydtest] No ghcjs found
  713. 13.35 s [genvalidity-sydtest] No ghcjs-pkg found
  714. 13.35 s [genvalidity-sydtest] No greencard found
  715. 13.35 s [genvalidity-sydtest] Using haddock version 2.31.1 found on system at:
  716. 13.35 s [really-safe-money] mutation: instrumenting Money.MultiAmount
  717. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  718. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  719. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  720. 13.35 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  721. 13.35 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  722. 13.35 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  723. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  724. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  725. 13.35 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:168:20-45
  726. 13.35 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
  727. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  728. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  729. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  730. 13.35 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  731. 13.35 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  732. 13.35 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
  733. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  734. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  735. 13.35 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:119:12-28
  736. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  737. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  738. 13.35 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
  739. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  740. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  741. 13.35 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:106:12-28
  742. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  743. 13.35 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  744. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  745. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  746. 13.35 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:73:6-27
  747. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  748. 13.35 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  749. 13.35 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:66:13-29
  750. 13.35 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  751. 13.35 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  752. 13.35 s [really-safe-money] added 35 mutations
  753. 13.39 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  754. 13.39 s [genvalidity-sydtest] No happy found
  755. 13.39 s [genvalidity-sydtest] Using haskell-suite found on system at: haskell-suite-dummy-location
  756. 13.39 s [genvalidity-sydtest] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  757. 13.39 s [genvalidity-sydtest] No hmake found
  758. 13.39 s [genvalidity-sydtest] Using hpc version 0.69 found on system at:
  759. 13.39 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  760. 13.39 s [genvalidity-sydtest] Using hsc2hs version 0.68.10 found on system at:
  761. 13.39 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  762. 13.39 s [genvalidity-sydtest] Using hscolour version 1.25 found on system at:
  763. 13.39 s [genvalidity-sydtest] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  764. 13.39 s [genvalidity-sydtest] No jhc found
  765. 13.39 s [genvalidity-sydtest] Using ld found on system at:
  766. 13.39 s [genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  767. 13.39 s [genvalidity-sydtest] No pkg-config found
  768. 13.39 s [genvalidity-sydtest] Using runghc version 9.10.3 found on system at:
  769. 13.39 s [genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  770. 13.39 s [genvalidity-sydtest] Using strip version 2.44 found on system at:
  771. 13.39 s [genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  772. 13.39 s [genvalidity-sydtest] Using tar found on system at:
  773. 13.39 s [genvalidity-sydtest] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  774. 13.39 s [genvalidity-sydtest] No uhc found
  775. 13.89 s [genvalidity-sydtest] Phase: buildPhase
  776. 13.98 s [genvalidity-sydtest] Preprocessing library for genvalidity-sydtest-1.0.1.0...
  777. 13.99 s [genvalidity-sydtest] Building library for genvalidity-sydtest-1.0.1.0...
  778. 14.16 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 )
  779. 14.23 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 )
  780. 14.25 s [really-safe-money] mutation: instrumenting Money.AmountOf
  781. 14.25 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  782. 14.25 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  783. 14.25 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  784. 14.25 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  785. 14.25 s [really-safe-money] added 4 mutations
  786. 14.41 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 )
  787. 14.41 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 )
  788. 14.41 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 )
  789. 14.41 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 )
  790. 14.47 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 )
  791. 14.50 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 )
  792. 14.50 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 )
  793. 14.50 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 )
  794. 14.52 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 )
  795. 14.52 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 )
  796. 14.52 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 )
  797. 14.52 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 )
  798. 14.52 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 )
  799. 14.52 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 )
  800. 14.52 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 )
  801. 14.52 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 )
  802. 14.52 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 )
  803. 14.52 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 )
  804. 14.71 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 )
  805. 14.71 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 )
  806. 14.71 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 )
  807. 14.73 s [really-safe-money] mutation: instrumenting Money.Account
  808. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  809. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  810. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  811. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  812. 14.73 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 )
  813. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  814. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  815. 14.73 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:421:32-33
  816. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  817. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  818. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  819. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  820. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  821. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  822. 14.73 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  823. 14.73 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  824. 14.73 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  825. 14.73 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  826. 14.73 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  827. 14.73 s [really-safe-money] added mutation Negate at src/Money/Account.hs:451:14-23
  828. 14.73 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  829. 14.73 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  830. 14.73 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  831. 14.73 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  832. 14.73 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  833. 14.73 s [really-safe-money] added mutation Negate at src/Money/Account.hs:455:14-23
  834. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  835. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  836. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  837. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  838. 14.73 s [really-safe-money] added mutation MaybeOp at src/Money/Account.hs:523:16-25
  839. 14.73 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  840. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  841. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  842. 14.74 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:495:17-18
  843. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  844. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  845. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  846. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  847. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  848. 14.74 s [really-safe-money] added mutation Negate at src/Money/Account.hs:495:12-18
  849. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  850. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  851. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  852. 14.74 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:503:15-16
  853. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  854. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  855. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  856. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  857. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  858. 14.74 s [really-safe-money] added mutation Negate at src/Money/Account.hs:503:10-16
  859. 14.74 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:233:19-20
  860. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  861. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  862. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  863. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  864. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  865. 14.74 s [really-safe-money] added mutation Negate at src/Money/Account.hs:233:14-20
  866. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  867. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  868. 14.74 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:197:19-20
  869. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  870. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  871. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  872. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  873. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  874. 14.74 s [really-safe-money] added mutation Negate at src/Money/Account.hs:197:14-20
  875. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  876. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  877. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  878. 14.74 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  879. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  880. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  881. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  882. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  883. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  884. 14.74 s [really-safe-money] added mutation Negate at src/Money/Account.hs:123:10-23
  885. 14.74 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:131:25-26
  886. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  887. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  888. 14.74 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  889. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  890. 14.74 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  891. 14.74 s [really-safe-money] added mutation Negate at src/Money/Account.hs:131:20-26
  892. 14.74 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  893. 14.74 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  894. 14.74 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  895. 14.74 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  896. 14.74 s [really-safe-money] added 87 mutations
  897. 14.76 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. 14.76 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. 14.76 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. 14.76 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. 15.14 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 )
  902. 15.14 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 )
  903. 15.22 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 )
  904. 15.22 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 )
  905. 15.22 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 )
  906. 15.22 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 )
  907. 15.22 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 )
  908. 15.22 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 )
  909. 15.60 s [genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, dist/build/Paths_genvalidity_sydtest.p_o )
  910. 15.93 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 )
  911. 15.93 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 )
  912. 15.93 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 )
  913. 15.93 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 )
  914. 15.93 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 )
  915. 16.10 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 )
  916. 16.10 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 )
  917. 16.11 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 )
  918. 16.13 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 )
  919. 16.15 s [really-safe-money] mutation: instrumenting Money.MultiAccount
  920. 16.15 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  921. 16.15 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  922. 16.15 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  923. 16.15 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  924. 16.15 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  925. 16.16 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  926. 16.16 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  927. 16.16 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  928. 16.16 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
  929. 16.16 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
  930. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  931. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  932. 16.16 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:134:12-29
  933. 16.16 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  934. 16.16 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  935. 16.16 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
  936. 16.16 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
  937. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  938. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  939. 16.16 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:120:12-29
  940. 16.16 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  941. 16.16 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  942. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  943. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  944. 16.16 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:78:6-28
  945. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  946. 16.16 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  947. 16.16 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:69:13-30
  948. 16.16 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  949. 16.16 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  950. 16.16 s [really-safe-money] added 30 mutations
  951. 16.19 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 )
  952. 16.19 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 )
  953. 16.19 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 )
  954. 16.19 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 )
  955. 16.19 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 )
  956. 16.19 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 )
  957. 16.30 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 )
  958. 16.30 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 )
  959. 16.30 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 )
  960. 16.30 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 )
  961. 16.30 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 )
  962. 16.30 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 )
  963. 16.43 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 )
  964. 16.59 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 )
  965. 16.59 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 )
  966. 16.60 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 )
  967. 16.60 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 )
  968. 16.90 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 )
  969. 16.91 s [really-safe-money] mutation: instrumenting Money.AccountOf
  970. 16.92 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  971. 16.92 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  972. 16.92 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  973. 16.92 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  974. 16.92 s [really-safe-money] added 4 mutations
  975. 16.98 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 )
  976. 16.98 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 )
  977. 17.07 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 )
  978. 17.07 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 )
  979. 17.07 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 )
  980. 17.07 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 )
  981. 17.07 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 )
  982. 17.07 s [genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, dist/build/Test/Syd/Validity.p_o )
  983. 17.18 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 )
  984. 17.57 s [really-safe-money] [ 1 of 12] Compiling Numeric.DecimalLiteral ( src/Numeric/DecimalLiteral.hs, dist/build/Numeric/DecimalLiteral.p_o )
  985. 17.95 s [really-safe-money] mutation: instrumenting Numeric.DecimalLiteral
  986. 17.95 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
  987. 17.95 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
  988. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  989. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  990. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  991. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  992. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  993. 17.95 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
  994. 17.95 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  995. 17.95 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  996. 17.95 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  997. 17.95 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  998. 17.95 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  999. 17.95 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  1000. 17.95 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  1001. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  1002. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  1003. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  1004. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  1005. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  1006. 17.95 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
  1007. 17.95 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
  1008. 17.95 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
  1009. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  1010. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  1011. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  1012. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  1013. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  1014. 17.95 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
  1015. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  1016. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  1017. 17.95 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  1018. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  1019. 17.95 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  1020. 17.95 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
  1021. 17.95 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  1022. 17.95 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  1023. 17.95 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
  1024. 17.96 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
  1025. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
  1026. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  1027. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  1028. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  1029. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  1030. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  1031. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
  1032. 17.96 s [really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  1033. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  1034. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  1035. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  1036. 17.96 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  1037. 17.96 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  1038. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  1039. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  1040. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  1041. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
  1042. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
  1043. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
  1044. 17.96 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
  1045. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
  1046. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
  1047. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  1048. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  1049. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  1050. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
  1051. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
  1052. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  1053. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  1054. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  1055. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
  1056. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
  1057. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  1058. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  1059. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  1060. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  1061. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  1062. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  1063. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  1064. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  1065. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  1066. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  1067. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
  1068. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
  1069. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  1070. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  1071. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  1072. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
  1073. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  1074. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  1075. 17.96 s [really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  1076. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
  1077. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
  1078. 17.96 s [really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
  1079. 17.96 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
  1080. 17.96 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  1081. 17.96 s [really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  1082. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  1083. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  1084. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  1085. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  1086. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  1087. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
  1088. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
  1089. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  1090. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  1091. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  1092. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  1093. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  1094. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  1095. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  1096. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  1097. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  1098. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  1099. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  1100. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  1101. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  1102. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  1103. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  1104. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  1105. 17.96 s [really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  1106. 17.96 s [really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
  1107. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  1108. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  1109. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
  1110. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  1111. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  1112. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
  1113. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  1114. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  1115. 17.96 s [really-safe-money] added mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
  1116. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
  1117. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  1118. 17.96 s [really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  1119. 17.96 s [really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
  1120. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
  1121. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
  1122. 17.96 s [really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
  1123. 17.96 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  1124. 17.96 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  1125. 17.96 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  1126. 17.96 s [really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  1127. 17.96 s [really-safe-money] added 141 mutations
  1128. 19.78 s [really-safe-money] [ 2 of 12] Compiling Money.QuantisationFactor ( src/Money/QuantisationFactor.hs, dist/build/Money/QuantisationFactor.p_o )
  1129. 19.79 s [really-safe-money] mutation: instrumenting Money.QuantisationFactor
  1130. 19.79 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
  1131. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  1132. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  1133. 19.79 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
  1134. 19.79 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  1135. 19.79 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  1136. 19.79 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
  1137. 19.79 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  1138. 19.79 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  1139. 19.79 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  1140. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  1141. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  1142. 19.79 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
  1143. 19.79 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
  1144. 19.79 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  1145. 19.79 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  1146. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  1147. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  1148. 19.79 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
  1149. 19.79 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
  1150. 19.79 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  1151. 19.79 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  1152. 19.79 s [really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  1153. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  1154. 19.79 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  1155. 19.79 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
  1156. 19.79 s [really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
  1157. 19.80 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  1158. 19.80 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  1159. 19.80 s [really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
  1160. 19.80 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  1161. 19.80 s [really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  1162. 19.80 s [really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
  1163. 19.80 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  1164. 19.80 s [really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  1165. 19.80 s [really-safe-money] added 35 mutations
  1166. 19.96 s [genvalidity-sydtest] Preprocessing test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
  1167. 19.96 s [genvalidity-sydtest] Building test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
  1168. 20.10 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 )
  1169. 20.26 s [really-safe-money] [ 3 of 12] Compiling Money.Currency ( src/Money/Currency.hs, dist/build/Money/Currency.p_o )
  1170. 20.27 s [really-safe-money] mutation: instrumenting Money.Currency
  1171. 20.27 s [really-safe-money] added 0 mutations
  1172. 20.28 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 )
  1173. 20.32 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 )
  1174. 20.32 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 )
  1175. 20.32 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 )
  1176. 20.32 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 )
  1177. 20.32 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 )
  1178. 20.32 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 )
  1179. 20.46 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 )
  1180. 20.46 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 )
  1181. 20.46 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 )
  1182. 20.46 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 )
  1183. 20.46 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 )
  1184. 20.46 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 )
  1185. 20.46 s [genvalidity-sydtest] [15 of 15] Compiling Main ( test/Spec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Main.o )
  1186. 20.68 s [really-safe-money] [ 4 of 12] Compiling Money.ConversionRate ( src/Money/ConversionRate.hs, dist/build/Money/ConversionRate.p_o )
  1187. 20.69 s [really-safe-money] mutation: instrumenting Money.ConversionRate
  1188. 20.85 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  1189. 20.85 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
  1190. 20.85 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  1191. 20.85 s [really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
  1192. 20.85 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  1193. 20.85 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  1194. 20.85 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  1195. 20.85 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  1196. 20.85 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:72:25-26
  1197. 20.85 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  1198. 20.85 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  1199. 20.85 s [really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  1200. 20.85 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  1201. 20.85 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  1202. 20.85 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:72:21-26
  1203. 20.85 s [really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:38:56-57
  1204. 20.85 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  1205. 20.85 s [really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  1206. 20.85 s [really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:38:41-57
  1207. 20.85 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  1208. 20.85 s [really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  1209. 20.85 s [really-safe-money] added 21 mutations
  1210. 20.94 s [genvalidity-sydtest] [16 of 16] Linking dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test
  1211. 21.01 s [really-safe-money] [ 5 of 12] Compiling Money.ConversionRateOf ( src/Money/ConversionRateOf.hs, dist/build/Money/ConversionRateOf.p_o )
  1212. 21.02 s [really-safe-money] mutation: instrumenting Money.ConversionRateOf
  1213. 21.02 s [really-safe-money] added 0 mutations
  1214. 21.19 s [really-safe-money] [ 6 of 12] Compiling Money.Amount ( src/Money/Amount.hs, dist/build/Money/Amount.p_o )
  1215. 21.24 s [really-safe-money] mutation: instrumenting Money.Amount
  1216. 21.24 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  1217. 21.24 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  1218. 21.24 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
  1219. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  1220. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
  1221. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  1222. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
  1223. 21.24 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:569:18-19
  1224. 21.24 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  1225. 21.24 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
  1226. 21.24 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:569:10-19
  1227. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  1228. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
  1229. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  1230. 21.24 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
  1231. 21.24 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  1232. 21.24 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  1233. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
  1234. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  1235. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
  1236. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:544:10-23
  1237. 21.25 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:546:14-66
  1238. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  1239. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
  1240. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:518:14-15
  1241. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  1242. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  1243. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
  1244. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  1245. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
  1246. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:518:10-15
  1247. 21.25 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:520:14-66
  1248. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  1249. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
  1250. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  1251. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  1252. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
  1253. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  1254. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
  1255. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:476:10-23
  1256. 21.25 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:478:14-66
  1257. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:388:5-16
  1258. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:388:5-16
  1259. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:389:9-10
  1260. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  1261. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  1262. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
  1263. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:389:5-10
  1264. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:389:5-10
  1265. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  1266. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
  1267. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  1268. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
  1269. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:397:14-31
  1270. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  1271. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  1272. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
  1273. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  1274. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
  1275. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:399:18-83
  1276. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:320:9-10
  1277. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  1278. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  1279. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
  1280. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:320:5-10
  1281. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:320:5-10
  1282. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  1283. 21.25 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
  1284. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:327:9-16
  1285. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:327:9-16
  1286. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:328:9-21
  1287. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:328:9-21
  1288. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  1289. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  1290. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
  1291. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  1292. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  1293. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
  1294. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  1295. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
  1296. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:332:14-40
  1297. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  1298. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
  1299. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:339:22-39
  1300. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  1301. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  1302. 21.25 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
  1303. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  1304. 21.25 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
  1305. 21.25 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:341:26-91
  1306. 21.25 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:290:79-80
  1307. 21.27 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  1308. 21.27 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
  1309. 21.27 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:494:96-97
  1310. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  1311. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  1312. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
  1313. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  1314. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
  1315. 21.27 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:495:10-23
  1316. 21.27 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:497:14-66
  1317. 21.27 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:250:15-16
  1318. 21.27 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:660:28-37
  1319. 21.27 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:661:19-28
  1320. 21.27 s [really-safe-money] added mutation IntLit at src/Money/Amount.hs:661:30-31
  1321. 21.27 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  1322. 21.27 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  1323. 21.27 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
  1324. 21.27 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  1325. 21.27 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
  1326. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  1327. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  1328. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
  1329. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  1330. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
  1331. 21.27 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:681:12-37
  1332. 21.27 s [really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:683:16-27
  1333. 21.27 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  1334. 21.27 s [really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
  1335. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  1336. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  1337. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
  1338. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  1339. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
  1340. 21.27 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:806:79-92
  1341. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  1342. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  1343. 21.27 s [really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
  1344. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  1345. 21.27 s [really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
  1346. 21.27 s [really-safe-money] added mutation Negate at src/Money/Amount.hs:607:15-22
  1347. 21.27 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  1348. 21.27 s [really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
  1349. 21.27 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  1350. 21.27 s [really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
  1351. 21.27 s [really-safe-money] added 135 mutations
  1352. 22.44 s [genvalidity-sydtest] Phase: checkPhase
  1353. 22.81 s [genvalidity-sydtest] Running 1 test suites...
  1354. 22.81 s [genvalidity-sydtest] Test suite genvalidity-sydtest-test: RUNNING...
  1355. 22.89 s [genvalidity-sydtest] Tests:
  1356. 22.89 s [genvalidity-sydtest]
  1357. 22.89 s [genvalidity-sydtest] Test.Syd.Validity.MonoidSpec
  1358. 22.89 s [genvalidity-sydtest] Monoid [Int]
  1359. 22.89 s [genvalidity-sydtest] mappend :: [Int] -> [Int] -> [Int]
  1360. 22.89 s [genvalidity-sydtest] is an associative operation for "valid :: ([Int],[Int],[Int])" 8.19 ms
  1361. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1362. 22.89 s [genvalidity-sydtest] mempty :: [Int]
  1363. 22.89 s [genvalidity-sydtest] is the identity for mappend :: [Int] -> [Int] -> [Int] for "valid :: [Int]" 7.04 ms
  1364. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1365. 22.89 s [genvalidity-sydtest] mconcat :: [[Int]] -> [Int]
  1366. 22.89 s [genvalidity-sydtest] is equivalent to its default implementation for "valid :: [[Int]]" 22.05 ms
  1367. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1368. 22.89 s [genvalidity-sydtest] Monoid [Int]
  1369. 22.89 s [genvalidity-sydtest] mconcat :: [[Int]] -> [Int]
  1370. 22.89 s [genvalidity-sydtest] is equivalent to its default implementation for "arbitrary :: [[Int]]" 11.46 ms
  1371. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1372. 22.89 s [genvalidity-sydtest] mempty :: [Int]
  1373. 22.89 s [genvalidity-sydtest] is the identity for mappend :: [Int] -> [Int] -> [Int] for "arbitrary :: [Int]" 5.92 ms
  1374. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1375. 22.89 s [genvalidity-sydtest] mappend :: [Int] -> [Int] -> [Int]
  1376. 22.89 s [genvalidity-sydtest] is an associative operation for "arbitrary :: ([Int],[Int],[Int])" 9.06 ms
  1377. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1378. 22.89 s [genvalidity-sydtest] Monoid ([Ratio Integer])
  1379. 22.89 s [genvalidity-sydtest] mappend :: ([Ratio Integer]) -> ([Ratio Integer]) -> ([Ratio Integer])
  1380. 22.89 s [genvalidity-sydtest] is an associative operation for "valid :: (([Ratio Integer],[Ratio Integer],[Ratio Integer]))" 37.06 ms
  1381. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1382. 22.89 s [genvalidity-sydtest] mempty :: ([Ratio Integer])
  1383. 22.89 s [genvalidity-sydtest] is the identity for mappend :: ([Ratio Integer]) -> ([Ratio Integer]) -> ([Ratio Integer]) for "valid :: ([Ratio Integer])" 41.77 ms
  1384. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1385. 22.89 s [genvalidity-sydtest] mconcat :: [([Ratio Integer])] -> ([Ratio Integer])
  1386. 22.89 s [genvalidity-sydtest] is equivalent to its default implementation for "valid :: ([[Ratio Integer]])" 51.17 ms
  1387. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1388. 22.89 s [genvalidity-sydtest] Monoid [Char]
  1389. 22.89 s [genvalidity-sydtest] mappend :: [Char] -> [Char] -> [Char]
  1390. 22.89 s [genvalidity-sydtest] is an associative operation for "singleton list of 'a' :: ([Char],[Char],[Char])" 1.01 ms
  1391. 22.89 s [genvalidity-sydtest] passed for all of 100 inputs.
  1392. 22.89 s [genvalidity-sydtest] mempty :: [Char]
  1393. 22.89 s [genvalidity-sydtest] is the identity for mappend :: [Char] -> [Char] -> [Char] for "singleton list of 'a' :: [Char]" 1.37 ms
  1394. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1395. 22.90 s [genvalidity-sydtest] mconcat :: [[Char]] -> [Char]
  1396. 22.90 s [genvalidity-sydtest] is equivalent to its default implementation for "singleton list of 'a' :: [[Char]]" 2.77 ms
  1397. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1398. 22.90 s [genvalidity-sydtest] Test.Syd.Validity.OrdSpec
  1399. 22.90 s [genvalidity-sydtest] Ord (Ratio Integer)
  1400. 22.90 s [genvalidity-sydtest] "max :: (Ratio Integer -> Ratio Integer -> Ratio Integer)"
  1401. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "valid (Ratio Integer)"'s 6.17 ms
  1402. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1403. 22.90 s [genvalidity-sydtest] (>=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1404. 22.90 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 6.00 ms
  1405. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1406. 22.90 s [genvalidity-sydtest] is antisymmetric for "valid (Ratio Integer)"'s 13.76 ms
  1407. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1408. 22.90 s [genvalidity-sydtest] is reflexive for "valid (Ratio Integer)"'s 2.23 ms
  1409. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1410. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "valid (Ratio Integer)"'s 10.65 ms
  1411. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1412. 22.90 s [genvalidity-sydtest] "min :: (Ratio Integer -> Ratio Integer -> Ratio Integer)"
  1413. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "valid (Ratio Integer)"'s 14.09 ms
  1414. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1415. 22.90 s [genvalidity-sydtest] (<=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1416. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "valid (Ratio Integer)"'s 4.82 ms
  1417. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1418. 22.90 s [genvalidity-sydtest] is reflexive for "valid (Ratio Integer)"'s 4.95 ms
  1419. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1420. 22.90 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 4.79 ms
  1421. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1422. 22.90 s [genvalidity-sydtest] is antisymmetric for "valid (Ratio Integer)"'s 5.06 ms
  1423. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1424. 22.90 s [genvalidity-sydtest] (>) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1425. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "valid (Ratio Integer)"'s 5.07 ms
  1426. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1427. 22.90 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 16.61 ms
  1428. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1429. 22.90 s [genvalidity-sydtest] is antireflexive for "valid (Ratio Integer)"'s 6.19 ms
  1430. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1431. 22.90 s [genvalidity-sydtest] (<) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1432. 22.90 s [genvalidity-sydtest] is antireflexive for "valid (Ratio Integer)"'s 2.38 ms
  1433. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1434. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "valid (Ratio Integer)"'s 2.43 ms
  1435. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1436. 22.90 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"'s 11.01 ms
  1437. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1438. 22.90 s [genvalidity-sydtest] Ord Int
  1439. 22.90 s [genvalidity-sydtest] (<=) :: Int -> Int -> Bool
  1440. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "arbitrary Int"'s 1.39 ms
  1441. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1442. 22.90 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 1.11 ms
  1443. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1444. 22.90 s [genvalidity-sydtest] is reflexive for "arbitrary Int"'s 1.07 ms
  1445. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1446. 22.90 s [genvalidity-sydtest] is antisymmetric for "arbitrary Int"'s 1.10 ms
  1447. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1448. 22.90 s [genvalidity-sydtest] "min :: (Int -> Int -> Int)"
  1449. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "arbitrary Int"'s 1.37 ms
  1450. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1451. 22.90 s [genvalidity-sydtest] (>) :: Int -> Int -> Bool
  1452. 22.90 s [genvalidity-sydtest] is antireflexive for "arbitrary Int"'s 1.19 ms
  1453. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1454. 22.90 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 1.48 ms
  1455. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1456. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "arbitrary Int"'s 1.73 ms
  1457. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1458. 22.90 s [genvalidity-sydtest] "max :: (Int -> Int -> Int)"
  1459. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "arbitrary Int"'s 1.14 ms
  1460. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1461. 22.90 s [genvalidity-sydtest] (<) :: Int -> Int -> Bool
  1462. 22.90 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 2.98 ms
  1463. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1464. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "arbitrary Int"'s 4.67 ms
  1465. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1466. 22.90 s [genvalidity-sydtest] is antireflexive for "arbitrary Int"'s 1.06 ms
  1467. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1468. 22.90 s [genvalidity-sydtest] (>=) :: Int -> Int -> Bool
  1469. 22.90 s [genvalidity-sydtest] is transitive for "arbitrary Int"'s 1.01 ms
  1470. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1471. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "arbitrary Int"'s 1.62 ms
  1472. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1473. 22.90 s [genvalidity-sydtest] is reflexive for "arbitrary Int"'s 1.11 ms
  1474. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1475. 22.90 s [genvalidity-sydtest] is antisymmetric for "arbitrary Int"'s 1.16 ms
  1476. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1477. 22.90 s [genvalidity-sydtest] Ord Int
  1478. 22.90 s [genvalidity-sydtest] (>=) :: Int -> Int -> Bool
  1479. 22.90 s [genvalidity-sydtest] is antisymmetric for "valid Int"'s 0.86 ms
  1480. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1481. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "valid Int"'s 0.48 ms
  1482. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1483. 22.90 s [genvalidity-sydtest] is transitive for "valid Int"'s 0.60 ms
  1484. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1485. 22.90 s [genvalidity-sydtest] is reflexive for "valid Int"'s 0.62 ms
  1486. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1487. 22.90 s [genvalidity-sydtest] "max :: (Int -> Int -> Int)"
  1488. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "valid Int"'s 0.73 ms
  1489. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1490. 22.90 s [genvalidity-sydtest] "min :: (Int -> Int -> Int)"
  1491. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "valid Int"'s 0.67 ms
  1492. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1493. 22.90 s [genvalidity-sydtest] (>) :: Int -> Int -> Bool
  1494. 22.90 s [genvalidity-sydtest] is antireflexive for "valid Int"'s 0.58 ms
  1495. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1496. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "valid Int"'s 0.91 ms
  1497. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1498. 22.90 s [genvalidity-sydtest] is transitive for "valid Int"'s 0.68 ms
  1499. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1500. 22.90 s [genvalidity-sydtest] (<) :: Int -> Int -> Bool
  1501. 22.90 s [genvalidity-sydtest] is antireflexive for "valid Int"'s 1.00 ms
  1502. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1503. 22.90 s [genvalidity-sydtest] is transitive for "valid Int"'s 0.40 ms
  1504. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1505. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "valid Int"'s 0.70 ms
  1506. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1507. 22.90 s [genvalidity-sydtest] (<=) :: Int -> Int -> Bool
  1508. 22.90 s [genvalidity-sydtest] is antisymmetric for "valid Int"'s 0.94 ms
  1509. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1510. 22.90 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "valid Int"'s 0.80 ms
  1511. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1512. 22.90 s [genvalidity-sydtest] is transitive for "valid Int"'s 0.53 ms
  1513. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1514. 22.90 s [genvalidity-sydtest] is reflexive for "valid Int"'s 0.85 ms
  1515. 22.90 s [genvalidity-sydtest] passed for all of 100 inputs.
  1516. 22.90 s [genvalidity-sydtest] Ord Int
  1517. 22.91 s [genvalidity-sydtest] (>=) :: Int -> Int -> Bool
  1518. 22.91 s [genvalidity-sydtest] is transitive for "even Int"'s 0.48 ms
  1519. 22.91 s [genvalidity-sydtest] passed for all of 100 inputs.
  1520. 22.91 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= LT) for "even Int"'s 0.77 ms
  1521. 22.91 s [genvalidity-sydtest] passed for all of 100 inputs.
  1522. 22.91 s [genvalidity-sydtest] is antisymmetric for "even Int"'s 1.35 ms
  1523. 22.91 s [genvalidity-sydtest] passed for all of 100 inputs.
  1524. 23.10 s [genvalidity-sydtest] is reflexive for "even Int"'s 1.05 ms
  1525. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1526. 23.10 s [genvalidity-sydtest] (<) :: Int -> Int -> Bool
  1527. 23.10 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == LT) for "even Int"'s 0.78 ms
  1528. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1529. 23.10 s [genvalidity-sydtest] is antireflexive for "even Int"'s 0.49 ms
  1530. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1531. 23.10 s [genvalidity-sydtest] is transitive for "even Int"'s 0.63 ms
  1532. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1533. 23.10 s [genvalidity-sydtest] (>) :: Int -> Int -> Bool
  1534. 23.10 s [genvalidity-sydtest] is transitive for "even Int"'s 1.07 ms
  1535. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1536. 23.10 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b == GT) for "even Int"'s 1.46 ms
  1537. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1538. 23.10 s [genvalidity-sydtest] is antireflexive for "even Int"'s 0.45 ms
  1539. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1540. 23.10 s [genvalidity-sydtest] "max :: (Int -> Int -> Int)"
  1541. 23.10 s [genvalidity-sydtest] is equivalent to (\a b -> if a >= b then a else b) for "even Int"'s 0.73 ms
  1542. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1543. 23.10 s [genvalidity-sydtest] "min :: (Int -> Int -> Int)"
  1544. 23.10 s [genvalidity-sydtest] is equivalent to (\a b -> if a <= b then a else b) for "even Int"'s 0.56 ms
  1545. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1546. 23.10 s [genvalidity-sydtest] (<=) :: Int -> Int -> Bool
  1547. 23.10 s [genvalidity-sydtest] is transitive for "even Int"'s 0.36 ms
  1548. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1549. 23.10 s [genvalidity-sydtest] is reflexive for "even Int"'s 0.54 ms
  1550. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1551. 23.10 s [genvalidity-sydtest] is equivalent to (\a b -> compare a b /= GT) for "even Int"'s 1.17 ms
  1552. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1553. 23.10 s [genvalidity-sydtest] is antisymmetric for "even Int"'s 0.55 ms
  1554. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1555. 23.10 s [genvalidity-sydtest] Test.Syd.Validity.MonadSpec
  1556. 23.10 s [genvalidity-sydtest] Monad []
  1557. 23.10 s [genvalidity-sydtest] relation with Applicative []
  1558. 23.10 s [genvalidity-sydtest] satisfies 'pure = return' for "[] of ints :: [Int]" 1.90 ms
  1559. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1560. 23.10 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "[] of ints :: [Int]" and "[] of ints :: [Int]" 26.81 ms
  1561. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1562. 23.10 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "[] of additions :: ([Int -> Int])" and "[] of ints :: [Int]" 4.92 ms
  1563. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1564. 23.10 s [genvalidity-sydtest] relation with Functor []
  1565. 23.10 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "[] of ints :: [Int]" 2.81 ms
  1566. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1567. 23.10 s [genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
  1568. 23.10 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])" 256.04 ms
  1569. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1570. 23.10 s [genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
  1571. 23.10 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> [Int])" 4.57 ms
  1572. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1573. 23.10 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "[] of ints :: [Int]" 2.56 ms
  1574. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1575. 23.10 s [genvalidity-sydtest] Monad Maybe
  1576. 23.10 s [genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1577. 23.10 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.83 ms
  1578. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1579. 23.10 s [genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1580. 23.10 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "Maybe of ints :: (Maybe Int)" 1.29 ms
  1581. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1582. 23.10 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.45 ms
  1583. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1584. 23.10 s [genvalidity-sydtest] relation with Functor Maybe
  1585. 23.10 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "Maybe of ints :: (Maybe Int)" 1.37 ms
  1586. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1587. 23.10 s [genvalidity-sydtest] relation with Applicative Maybe
  1588. 23.10 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "Maybe of additions :: (Maybe (Int -> Int))" and "Maybe of ints :: (Maybe Int)" 1.05 ms
  1589. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1590. 23.10 s [genvalidity-sydtest] satisfies 'pure = return' for "Maybe of ints :: (Maybe Int)" 8.53 ms
  1591. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1592. 23.10 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "Maybe of ints :: (Maybe Int)" and "Maybe of ints :: (Maybe Int)" 1.34 ms
  1593. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1594. 23.10 s [genvalidity-sydtest] Monad Maybe
  1595. 23.10 s [genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1596. 23.10 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)" 6.04 ms
  1597. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1598. 23.10 s [genvalidity-sydtest] relation with Applicative Maybe
  1599. 23.10 s [genvalidity-sydtest] satisfies 'pure = return' for "Maybe of ints :: (Maybe Int)" 0.60 ms
  1600. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1601. 23.10 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "Maybe of ints :: (Maybe Int)" and "Maybe of ints :: (Maybe Int)" 0.69 ms
  1602. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1603. 23.10 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "Maybe of additions :: (Maybe (Int -> Int))" and "Maybe of ints :: (Maybe Int)" 0.78 ms
  1604. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1605. 23.10 s [genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1606. 23.10 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "Maybe of ints :: (Maybe Int)" 0.21 ms
  1607. 23.10 s [genvalidity-sydtest] passed for all of 100 inputs.
  1608. 23.10 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Maybe Int)" 0.51 ms
  1609. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1610. 23.11 s [genvalidity-sydtest] relation with Functor Maybe
  1611. 23.11 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "Maybe of ints :: (Maybe Int)" 0.47 ms
  1612. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1613. 23.11 s [genvalidity-sydtest] Monad (Either Int)
  1614. 23.11 s [genvalidity-sydtest] return :: a -> (Either Int) a and (>>=) :: (Either Int) a -> (b -> (Either Int) a) -> (Either Int) b
  1615. 23.11 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "(Either Int) of ints :: (Either Int Int)" 0.42 ms
  1616. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1617. 23.11 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)" 0.89 ms
  1618. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1619. 23.11 s [genvalidity-sydtest] relation with Applicative (Either Int)
  1620. 23.11 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "(Either Int) of additions :: (Either Int (Int -> Int))" and "(Either Int) of ints :: (Either Int Int)" 0.28 ms
  1621. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1622. 23.11 s [genvalidity-sydtest] satisfies 'pure = return' for "(Either Int) of ints :: (Either Int Int)" 0.89 ms
  1623. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1624. 23.11 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "(Either Int) of ints :: (Either Int Int)" and "(Either Int) of ints :: (Either Int Int)" 0.71 ms
  1625. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1626. 23.11 s [genvalidity-sydtest] (>>=) :: (Either Int) a -> (b -> (Either Int) a) -> (Either Int) b
  1627. 23.11 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)" 3.19 ms
  1628. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1629. 23.11 s [genvalidity-sydtest] relation with Functor (Either Int)
  1630. 23.11 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "(Either Int) of ints :: (Either Int Int)" 0.82 ms
  1631. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1632. 23.11 s [genvalidity-sydtest] Monad Maybe
  1633. 23.11 s [genvalidity-sydtest] relation with Functor Maybe
  1634. 23.11 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "appends :: ([Char] -> [Char])" and "Just an ABC :: (Maybe [Char])" 2.38 ms
  1635. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1636. 23.11 s [genvalidity-sydtest] relation with Applicative Maybe
  1637. 23.11 s [genvalidity-sydtest] satisfies 'pure = return' for "Just an ABC :: (Maybe [Char])" 0.72 ms
  1638. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1639. 23.11 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "Just an ABC :: (Maybe [Char])" and "Just an ABC :: (Maybe [Char])" 0.70 ms
  1640. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1641. 23.11 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "append 'a' in Just :: (Maybe ([Char] -> [Char]))" and "Just an ABC :: (Maybe [Char])" 0.71 ms
  1642. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1643. 23.11 s [genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1644. 23.11 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])" 0.40 ms
  1645. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1646. 23.11 s [genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
  1647. 23.11 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "Just an ABC :: (Maybe [Char])" 0.56 ms
  1648. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1649. 23.11 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "ABC :: [Char]" and "justisation :: ([Char] -> Maybe [Char])" 0.68 ms
  1650. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1651. 23.11 s [genvalidity-sydtest] Monad []
  1652. 23.11 s [genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
  1653. 23.11 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])" 17.47 ms
  1654. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1655. 23.11 s [genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
  1656. 23.11 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "list of fives :: [Int]" 4.81 ms
  1657. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1658. 23.11 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "four :: Int" and "singletonisation :: (Int -> [Int])" 0.26 ms
  1659. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1660. 23.11 s [genvalidity-sydtest] relation with Applicative []
  1661. 23.11 s [genvalidity-sydtest] satisfies 'pure = return' for "list of fives :: [Int]" 0.66 ms
  1662. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1663. 23.11 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "list of fives :: [Int]" and "list of sixes :: [Int]" 7.18 ms
  1664. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1665. 23.11 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "increment in list :: ([Int -> Int])" and "list of fives :: [Int]" 2.63 ms
  1666. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1667. 23.11 s [genvalidity-sydtest] relation with Functor []
  1668. 23.11 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "factorisations :: (Int -> Int)" and "list of fives :: [Int]" 6.23 ms
  1669. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1670. 23.11 s [genvalidity-sydtest] Monad []
  1671. 23.11 s [genvalidity-sydtest] relation with Functor []
  1672. 23.11 s [genvalidity-sydtest] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "[] of ints :: [Int]" 7.18 ms
  1673. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1674. 23.11 s [genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
  1675. 23.11 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])" 189.20 ms
  1676. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1677. 23.11 s [genvalidity-sydtest] relation with Applicative []
  1678. 23.11 s [genvalidity-sydtest] satisfies '(>>) = (*>)' for "[] of ints :: [Int]" and "[] of ints :: [Int]" 14.57 ms
  1679. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1680. 23.11 s [genvalidity-sydtest] satisfies 'pure = return' for "[] of ints :: [Int]" 1.55 ms
  1681. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1682. 23.11 s [genvalidity-sydtest] satisfies '(<*>) = ap' for "[] of additions :: ([Int -> Int])" and "[] of ints :: [Int]" 20.98 ms
  1683. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1684. 23.11 s [genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
  1685. 23.11 s [genvalidity-sydtest] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> [Int])" 4.64 ms
  1686. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1687. 23.11 s [genvalidity-sydtest] satisfy the second Monad law: 'm >>= return = m' for "[] of ints :: [Int]" 6.55 ms
  1688. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1689. 23.11 s [genvalidity-sydtest] Test.Syd.Validity.EqSpec
  1690. 23.11 s [genvalidity-sydtest] Eq (Ratio Integer)
  1691. 23.11 s [genvalidity-sydtest] (==) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1692. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "valid (Ratio Integer)"s 9.36 ms
  1693. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1694. 23.11 s [genvalidity-sydtest] is transitive for "valid (Ratio Integer)"s 1.44 ms
  1695. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1696. 23.11 s [genvalidity-sydtest] is reflexive for "valid (Ratio Integer)"s 1.05 ms
  1697. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1698. 23.11 s [genvalidity-sydtest] is symmetric for "valid (Ratio Integer)"s 3.32 ms
  1699. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1700. 23.11 s [genvalidity-sydtest] (/=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
  1701. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "valid (Ratio Integer)"s 3.43 ms
  1702. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1703. 23.11 s [genvalidity-sydtest] is antireflexive for "valid (Ratio Integer)"s 1.75 ms
  1704. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1705. 23.11 s [genvalidity-sydtest] Eq Int
  1706. 23.11 s [genvalidity-sydtest] (==) :: Int -> Int -> Bool
  1707. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "valid Int"s 1.58 ms
  1708. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1709. 23.11 s [genvalidity-sydtest] is reflexive for "valid Int"s 0.37 ms
  1710. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1711. 23.11 s [genvalidity-sydtest] is transitive for "valid Int"s 0.30 ms
  1712. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1713. 23.11 s [genvalidity-sydtest] is symmetric for "valid Int"s 0.30 ms
  1714. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1715. 23.11 s [genvalidity-sydtest] (/=) :: Int -> Int -> Bool
  1716. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "valid Int"s 1.01 ms
  1717. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1718. 23.11 s [genvalidity-sydtest] is antireflexive for "valid Int"s 1.78 ms
  1719. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1720. 23.11 s [genvalidity-sydtest] Eq Int
  1721. 23.11 s [genvalidity-sydtest] (==) :: Int -> Int -> Bool
  1722. 23.11 s [genvalidity-sydtest] is transitive for "arbitrary Int"s 0.74 ms
  1723. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1724. 23.11 s [genvalidity-sydtest] is symmetric for "arbitrary Int"s 0.66 ms
  1725. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1726. 23.11 s [genvalidity-sydtest] is reflexive for "arbitrary Int"s 0.13 ms
  1727. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1728. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "arbitrary Int"s 0.50 ms
  1729. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1730. 23.11 s [genvalidity-sydtest] (/=) :: Int -> Int -> Bool
  1731. 23.11 s [genvalidity-sydtest] is antireflexive for "arbitrary Int"s 0.45 ms
  1732. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1733. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "arbitrary Int"s 0.50 ms
  1734. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1735. 23.11 s [genvalidity-sydtest] Eq Int
  1736. 23.11 s [genvalidity-sydtest] (/=) :: Int -> Int -> Bool
  1737. 23.11 s [genvalidity-sydtest] is antireflexive for "even Int"s 0.21 ms
  1738. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1739. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a == b) for "even Int"s 0.74 ms
  1740. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1741. 23.11 s [genvalidity-sydtest] (==) :: Int -> Int -> Bool
  1742. 23.11 s [genvalidity-sydtest] is equivalent to (\a b -> not $ a /= b) for "even Int"s 0.56 ms
  1743. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1744. 23.11 s [genvalidity-sydtest] is symmetric for "even Int"s 0.16 ms
  1745. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1746. 23.11 s [genvalidity-sydtest] is reflexive for "even Int"s 1.04 ms
  1747. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1748. 23.11 s [genvalidity-sydtest] is transitive for "even Int"s 0.18 ms
  1749. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1750. 23.11 s [genvalidity-sydtest] Test.Syd.Validity.ArbitrarySpec
  1751. 23.11 s [genvalidity-sydtest] Arbitrary Int
  1752. 23.11 s [genvalidity-sydtest] arbitrary :: Gen Int
  1753. 23.11 s [genvalidity-sydtest] only generates valid values 0.57 ms
  1754. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1755. 23.11 s [genvalidity-sydtest] Test.Syd.Validity.Operations.CommutativitySpec
  1756. 23.11 s [genvalidity-sydtest] commutative
  1757. 23.11 s [genvalidity-sydtest] cross product is not commutative 0.68 ms
  1758. 23.11 s [genvalidity-sydtest] passed for all of 1 inputs.
  1759. 23.11 s [genvalidity-sydtest] + is commutative 0.58 ms
  1760. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1761. 23.11 s [genvalidity-sydtest] * is commutative 0.66 ms
  1762. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1763. 23.11 s [genvalidity-sydtest] - is not commutative 4.46 ms
  1764. 23.11 s [genvalidity-sydtest] passed for all of 1 inputs.
  1765. 23.11 s [genvalidity-sydtest] dot product is commutative 1.37 ms
  1766. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1767. 23.11 s [genvalidity-sydtest] Test.Syd.Validity.GenValiditySpec
  1768. 23.11 s [genvalidity-sydtest] GenValid (Ratio Integer)
  1769. 23.11 s [genvalidity-sydtest] genValid :: Gen (Ratio Integer)
  1770. 23.11 s [genvalidity-sydtest] only generates valid '(Ratio Integer)'s 5.30 ms
  1771. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1772. 23.11 s [genvalidity-sydtest] GenValid (Ratio Integer)
  1773. 23.11 s [genvalidity-sydtest] genValid :: Gen (Ratio Integer)
  1774. 23.11 s [genvalidity-sydtest] only generates valid '(Ratio Integer)'s 2.16 ms
  1775. 23.11 s [genvalidity-sydtest] passed for all of 100 inputs.
  1776. 23.11 s [genvalidity-sydtest] Test.Syd.Validity.ShrinkingSpec
  1777. 23.11 s [genvalidity-sydtest] shrinkValid :: (Int -> [Int])
  1778. 23.12 s [genvalidity-sydtest] preserves validity 11.44 ms
  1779. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1780. 23.12 s [genvalidity-sydtest] never shrinks to itself for valid values 7.41 ms
  1781. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1782. 23.12 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid
  1783. 23.12 s [genvalidity-sydtest] [Ordering] 29.01 ms
  1784. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1785. 23.12 s [genvalidity-sydtest] Ordering 0.90 ms
  1786. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1787. 23.12 s [genvalidity-sydtest] shrinkValid :: (Ratio Int8 -> [Ratio Int8])
  1788. 23.12 s [genvalidity-sydtest] never shrinks to itself for valid values 10.02 ms
  1789. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1790. 23.12 s [genvalidity-sydtest] preserves validity 10.73 ms
  1791. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1792. 23.12 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItself
  1793. 23.12 s [genvalidity-sydtest] [Int] 138.88 ms
  1794. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1795. 23.12 s [genvalidity-sydtest] Int 3.21 ms
  1796. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1797. 23.12 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItself
  1798. 23.12 s [genvalidity-sydtest] [Ordering] 15.74 ms
  1799. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1800. 23.12 s [genvalidity-sydtest] Ordering 0.43 ms
  1801. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1802. 23.12 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid
  1803. 23.12 s [genvalidity-sydtest] Ordering 0.62 ms
  1804. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1805. 23.12 s [genvalidity-sydtest] [Ordering] 29.12 ms
  1806. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1807. 23.12 s [genvalidity-sydtest] Test.Syd.Validity.FunctorSpec
  1808. 23.12 s [genvalidity-sydtest] Functor Maybe
  1809. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
  1810. 23.12 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])" 5.15 ms
  1811. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1812. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "Just an ABC :: (Maybe [Char])" 0.68 ms
  1813. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1814. 23.12 s [genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
  1815. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "ABC :: [Char]" and "Just an ABC :: (Maybe [Char])" 0.69 ms
  1816. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1817. 23.12 s [genvalidity-sydtest] Functor []
  1818. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
  1819. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "list of fives :: [Int]" 9.53 ms
  1820. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1821. 23.12 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
  1822. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1823. 23.12 s [genvalidity-sydtest] (<$) :: a -> [] b -> [] a
  1824. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "four :: Int" and "list of fives :: [Int]" 3.60 ms
  1825. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1826. 23.12 s [genvalidity-sydtest] Functor []
  1827. 23.12 s [genvalidity-sydtest] (<$) :: a -> [] b -> [] a
  1828. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "[] of ints :: [Int]" 3.29 ms
  1829. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1830. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
  1831. 23.12 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.24 ms
  1832. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1833. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "[] of ints :: [Int]" 2.72 ms
  1834. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1835. 23.12 s [genvalidity-sydtest] Functor (Either Int)
  1836. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> (Either Int) a -> (Either Int) b
  1837. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "(Either Int) of ints :: (Either Int Int)" 0.58 ms
  1838. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1839. 23.12 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)" 6.24 ms
  1840. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1841. 23.12 s [genvalidity-sydtest] (<$) :: a -> (Either Int) b -> (Either Int) a
  1842. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "(Either Int) of ints :: (Either Int Int)" 4.85 ms
  1843. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1844. 23.12 s [genvalidity-sydtest] Functor []
  1845. 23.12 s [genvalidity-sydtest] (<$) :: a -> [] b -> [] a
  1846. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "[] of ints :: [Int]" 2.23 ms
  1847. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1848. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
  1849. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "[] of ints :: [Int]" 2.59 ms
  1850. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1851. 23.12 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)" 2.02 ms
  1852. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1853. 23.12 s [genvalidity-sydtest] Functor Maybe
  1854. 23.12 s [genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
  1855. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "Maybe of ints :: (Maybe Int)" 0.73 ms
  1856. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1857. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
  1858. 23.12 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)" 1.71 ms
  1859. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1860. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "Maybe of ints :: (Maybe Int)" 0.41 ms
  1861. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1862. 23.12 s [genvalidity-sydtest] Functor ((,) Int)
  1863. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> ((,) Int) a -> ((,) Int) b
  1864. 23.12 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)" 1.34 ms
  1865. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1866. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "((,) Int) of ints :: (Int,Int)" 0.80 ms
  1867. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1868. 23.12 s [genvalidity-sydtest] (<$) :: a -> ((,) Int) b -> ((,) Int) a
  1869. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "((,) Int) of ints :: (Int,Int)" 1.17 ms
  1870. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1871. 23.12 s [genvalidity-sydtest] Functor Maybe
  1872. 23.12 s [genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
  1873. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation for "int :: Int" and "Maybe of ints :: (Maybe Int)" 1.50 ms
  1874. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1875. 23.12 s [genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
  1876. 23.12 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.04 ms
  1877. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1878. 23.12 s [genvalidity-sydtest] satisfies the first Fuctor law: 'fmap id == id' for "Maybe of ints :: (Maybe Int)" 0.62 ms
  1879. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1880. 23.12 s [genvalidity-sydtest] Test.Syd.Validity.ShowSpec
  1881. 23.12 s [genvalidity-sydtest] Show (Ratio Integer) and Read (Ratio Integer)
  1882. 23.12 s [genvalidity-sydtest] are implemented such that read . show == id for arbitrary values 5.31 ms
  1883. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1884. 23.12 s [genvalidity-sydtest] Show Int and Read Int
  1885. 23.12 s [genvalidity-sydtest] are implemented such that read . show == id for valid values 1.83 ms
  1886. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1887. 23.12 s [genvalidity-sydtest] Show (Ratio Integer) and Read (Ratio Integer)
  1888. 23.12 s [genvalidity-sydtest] are implemented such that read . show == id for valid values 9.44 ms
  1889. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1890. 23.12 s [genvalidity-sydtest] Show Int and Read Int
  1891. 23.12 s [genvalidity-sydtest] are implemented such that read . show == id for even values 1.92 ms
  1892. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1893. 23.12 s [genvalidity-sydtest] Test.Syd.Validity.ApplicativeSpec
  1894. 23.12 s [genvalidity-sydtest] Applicative []
  1895. 23.12 s [genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
  1896. 23.12 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" 26.48 ms
  1897. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1898. 23.12 s [genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
  1899. 23.12 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "[] of increments :: ([Int -> Int])" sequenced with "int :: Int" 1.11 ms
  1900. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1901. 23.12 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.31 ms
  1902. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1903. 23.12 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "[] of ints :: [Int]" 1.20 ms
  1904. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1905. 23.12 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]" 1.49 ms
  1906. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1907. 23.12 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 0.33 ms
  1908. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1909. 23.12 s [genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
  1910. 23.12 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "[] of ints :: Int" behind "[] of ints :: [Int]" 16.33 ms
  1911. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1912. 23.12 s [genvalidity-sydtest] Applicative (Either Int)
  1913. 23.12 s [genvalidity-sydtest] (*>) :: (Either Int) a -> (Either Int) b -> (Either Int) b
  1914. 23.12 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" 0.43 ms
  1915. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1916. 23.12 s [genvalidity-sydtest] (<*) :: (Either Int) a -> (Either Int) b -> (Either Int) a
  1917. 23.12 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)" 0.44 ms
  1918. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1919. 23.12 s [genvalidity-sydtest] pure :: a -> (Either Int) a and (<*>) :: (Either Int) (a -> b) -> (Either Int) a -> (Either Int) b
  1920. 23.12 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "(Either Int) of ints :: (Either Int Int)" 0.58 ms
  1921. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1922. 23.12 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)" 0.42 ms
  1923. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1924. 23.12 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)" 0.62 ms
  1925. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1926. 23.12 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 0.90 ms
  1927. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1928. 23.12 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" 0.61 ms
  1929. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1930. 23.12 s [genvalidity-sydtest] Applicative Maybe
  1931. 23.12 s [genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
  1932. 23.12 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 0.53 ms
  1933. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1934. 23.12 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.69 ms
  1935. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1936. 23.12 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)" 1.01 ms
  1937. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1938. 23.12 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.58 ms
  1939. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1940. 23.12 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "Maybe of ints :: (Maybe Int)" 1.22 ms
  1941. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1942. 23.12 s [genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
  1943. 23.12 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)" 0.91 ms
  1944. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1945. 23.12 s [genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
  1946. 23.12 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" 3.60 ms
  1947. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1948. 23.12 s [genvalidity-sydtest] Applicative Maybe
  1949. 23.12 s [genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
  1950. 23.12 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])" 0.55 ms
  1951. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1952. 23.12 s [genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
  1953. 23.12 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]" 0.60 ms
  1954. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1955. 23.12 s [genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
  1956. 23.12 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "Just an ABC :: (Maybe [Char])" 0.43 ms
  1957. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1958. 23.12 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.15 ms
  1959. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1960. 23.12 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "prepends :: ([Char] -> [Char])" sequenced with "ABC :: [Char]" 3.71 ms
  1961. 23.12 s [genvalidity-sydtest] passed for all of 100 inputs.
  1962. 23.13 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])" 6.23 ms
  1963. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1964. 23.13 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.39 ms
  1965. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1966. 23.13 s [genvalidity-sydtest] Applicative []
  1967. 23.13 s [genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
  1968. 23.13 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" 22.79 ms
  1969. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1970. 23.13 s [genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
  1971. 23.13 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 3.03 ms
  1972. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1973. 23.13 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]" 8.67 ms
  1974. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1975. 23.13 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]" 4.02 ms
  1976. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1977. 23.13 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "[] of ints :: [Int]" 3.63 ms
  1978. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1979. 23.13 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "[] of increments :: ([Int -> Int])" sequenced with "int :: Int" 0.67 ms
  1980. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1981. 23.13 s [genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
  1982. 23.13 s [genvalidity-sydtest] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "[] of ints :: Int" behind "[] of ints :: [Int]" 17.70 ms
  1983. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1984. 23.13 s [genvalidity-sydtest] Applicative []
  1985. 23.13 s [genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
  1986. 23.13 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "four :: Int" 0.69 ms
  1987. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1988. 23.13 s [genvalidity-sydtest] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "increments in a list :: ([Int -> Int])" sequenced with "four :: Int" 0.47 ms
  1989. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1990. 23.13 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]" 1.78 ms
  1991. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1992. 23.13 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "list of fives :: [Int]" 1.70 ms
  1993. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1994. 23.13 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]" 5.52 ms
  1995. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1996. 23.13 s [genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
  1997. 23.13 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]" 1.54 ms
  1998. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  1999. 23.13 s [genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
  2000. 23.13 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" 1.68 ms
  2001. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2002. 23.13 s [genvalidity-sydtest] Applicative Maybe
  2003. 23.13 s [genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
  2004. 23.13 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" 0.63 ms
  2005. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2006. 23.13 s [genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
  2007. 23.13 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)" 0.80 ms
  2008. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2009. 23.13 s [genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
  2010. 23.13 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.84 ms
  2011. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2012. 23.13 s [genvalidity-sydtest] satisfy the identity law: 'pure id <*> v = v' for "Maybe of ints :: (Maybe Int)" 0.94 ms
  2013. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2014. 23.13 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.89 ms
  2015. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2016. 23.13 s [genvalidity-sydtest] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 0.64 ms
  2017. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2018. 23.13 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.57 ms
  2019. 23.13 s [genvalidity-sydtest] passed for all of 100 inputs.
  2020. 23.13 s [genvalidity-sydtest]
  2021. 23.13 s [genvalidity-sydtest] Examples: 24402
  2022. 23.13 s [genvalidity-sydtest] Passed: 246
  2023. 23.13 s [genvalidity-sydtest] Failed: 0
  2024. 23.13 s [genvalidity-sydtest] Sum of test runtimes: 1.54 seconds
  2025. 23.13 s [genvalidity-sydtest] Test suite took: 0.28 seconds
  2026. 23.13 s [genvalidity-sydtest]
  2027. 23.13 s [genvalidity-sydtest] Test suite genvalidity-sydtest-test: PASS
  2028. 23.13 s [genvalidity-sydtest] Test suite logged to:
  2029. 23.13 s [genvalidity-sydtest] dist/test/genvalidity-sydtest-1.0.1.0-genvalidity-sydtest-test.log
  2030. 23.13 s [genvalidity-sydtest] 1 of 1 test suites (1 of 1 test cases) passed.
  2031. 23.15 s [genvalidity-sydtest] Phase: haddockPhase
  2032. 23.32 s [genvalidity-sydtest] Preprocessing library for genvalidity-sydtest-1.0.1.0...
  2033. 23.32 s [genvalidity-sydtest] Running Haddock on library for genvalidity-sydtest-1.0.1.0...
  2034. 23.33 s [genvalidity-sydtest] Warning: The documentation for the following packages are not installed. No
  2035. 23.33 s [genvalidity-sydtest] links will be generated to these packages: attoparsec-0.14.4,
  2036. 23.33 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
  2037. 23.60 s [genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, nothing )
  2038. 23.63 s [really-safe-money] [ 7 of 12] Compiling Money.MultiAmount ( src/Money/MultiAmount.hs, dist/build/Money/MultiAmount.p_o )
  2039. 23.64 s [genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, nothing )
  2040. 23.68 s [really-safe-money] mutation: instrumenting Money.MultiAmount
  2041. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  2042. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  2043. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  2044. 23.68 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  2045. 23.68 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  2046. 23.68 s [really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  2047. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  2048. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  2049. 23.68 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:168:20-45
  2050. 23.68 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
  2051. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  2052. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  2053. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  2054. 23.68 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  2055. 23.68 s [really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
  2056. 23.68 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
  2057. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  2058. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  2059. 23.68 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:119:12-28
  2060. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  2061. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  2062. 23.68 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
  2063. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  2064. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  2065. 23.68 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:106:12-28
  2066. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  2067. 23.68 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  2068. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  2069. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  2070. 23.68 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:73:6-27
  2071. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  2072. 23.68 s [really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  2073. 23.68 s [really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:66:13-29
  2074. 23.68 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  2075. 23.68 s [really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  2076. 23.68 s [really-safe-money] added 35 mutations
  2077. 23.70 s [genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, nothing )
  2078. 23.72 s [genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, nothing )
  2079. 23.72 s [genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, nothing )
  2080. 23.74 s [genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, nothing )
  2081. 23.74 s [genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, nothing )
  2082. 23.75 s [genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, nothing )
  2083. 23.76 s [genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, nothing )
  2084. 23.84 s [genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, nothing )
  2085. 23.84 s [genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, nothing )
  2086. 23.85 s [genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, nothing )
  2087. 23.85 s [genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, nothing )
  2088. 23.86 s [genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, nothing )
  2089. 23.86 s [genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, nothing )
  2090. 23.86 s [genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, nothing )
  2091. 23.88 s [genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, nothing )
  2092. 23.88 s [genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, nothing )
  2093. 23.90 s [genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, nothing )
  2094. 23.96 s [genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, nothing )
  2095. 23.98 s [genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, nothing )
  2096. 23.99 s [genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, nothing )
  2097. 23.99 s [genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, nothing )
  2098. 24.00 s [genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, nothing )
  2099. 24.02 s [genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, nothing )
  2100. 24.04 s [genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, nothing )
  2101. 24.22 s [genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, nothing )
  2102. 24.24 s [genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, nothing )
  2103. 24.39 s [genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, nothing )
  2104. 24.40 s [genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, nothing )
  2105. 24.42 s [genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, nothing )
  2106. 24.44 s [genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, nothing )
  2107. 24.44 s [genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, nothing )
  2108. 24.48 s [really-safe-money] [ 8 of 12] Compiling Money.AmountOf ( src/Money/AmountOf.hs, dist/build/Money/AmountOf.p_o )
  2109. 24.48 s [genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, nothing )
  2110. 24.49 s [really-safe-money] mutation: instrumenting Money.AmountOf
  2111. 24.49 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2112. 24.49 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2113. 24.49 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2114. 24.49 s [really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  2115. 24.49 s [genvalidity-sydtest] Haddock coverage:
  2116. 24.49 s [really-safe-money] added 4 mutations
  2117. 24.49 s [genvalidity-sydtest] 50% ( 2 / 4) in 'Test.Syd.Validity.Functions.Idempotence'
  2118. 24.49 s [genvalidity-sydtest] Missing documentation for:
  2119. 24.49 s [genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
  2120. 24.49 s [genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
  2121. 24.49 s [genvalidity-sydtest] 75% ( 3 / 4) in 'Test.Syd.Validity.Operations.Associativity'
  2122. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2123. 24.50 s [genvalidity-sydtest] Module header
  2124. 24.50 s [genvalidity-sydtest] 75% ( 3 / 4) in 'Test.Syd.Validity.Operations.Commutativity'
  2125. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2126. 24.50 s [genvalidity-sydtest] Module header
  2127. 24.50 s [genvalidity-sydtest] 64% ( 9 / 14) in 'Test.Syd.Validity.Operations.Identity'
  2128. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2129. 24.50 s [genvalidity-sydtest] Module header
  2130. 24.50 s [genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
  2131. 24.50 s [genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
  2132. 24.50 s [genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
  2133. 24.50 s [genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
  2134. 24.50 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Operations'
  2135. 24.50 s [genvalidity-sydtest] 0% ( 0 / 6) in 'Test.Syd.Validity.Property.Utils'
  2136. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2137. 24.50 s [genvalidity-sydtest] Module header
  2138. 24.50 s [genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
  2139. 24.50 s [genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
  2140. 24.50 s [genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
  2141. 24.50 s [genvalidity-sydtest] <==> (src/Test/Syd/Validity/Property/Utils.hs:21)
  2142. 24.50 s [genvalidity-sydtest] ===> (src/Test/Syd/Validity/Property/Utils.hs:18)
  2143. 24.50 s [genvalidity-sydtest] 100% ( 3 / 3) in 'Test.Syd.Validity.GenValidity.Property'
  2144. 24.50 s [genvalidity-sydtest] 40% ( 4 / 10) in 'Test.Syd.Validity.Functions.Validity'
  2145. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2146. 24.50 s [genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
  2147. 24.50 s [genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
  2148. 24.50 s [genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
  2149. 24.50 s [genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
  2150. 24.50 s [genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
  2151. 24.50 s [genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
  2152. 24.50 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Antireflexivity'
  2153. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2154. 24.50 s [genvalidity-sydtest] Module header
  2155. 24.50 s [genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
  2156. 24.50 s [genvalidity-sydtest] 50% ( 3 / 6) in 'Test.Syd.Validity.Relations.Antisymmetry'
  2157. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2158. 24.50 s [genvalidity-sydtest] Module header
  2159. 24.50 s [genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
  2160. 24.50 s [genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
  2161. 24.50 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Reflexivity'
  2162. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2163. 24.50 s [genvalidity-sydtest] Module header
  2164. 24.50 s [genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
  2165. 24.50 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Symmetry'
  2166. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2167. 24.50 s [genvalidity-sydtest] Module header
  2168. 24.50 s [genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
  2169. 24.50 s [genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Transitivity'
  2170. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2171. 24.50 s [genvalidity-sydtest] Module header
  2172. 24.50 s [genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
  2173. 24.50 s [genvalidity-sydtest] 100% ( 6 / 6) in 'Test.Syd.Validity.Relations'
  2174. 24.50 s [genvalidity-sydtest] 100% ( 13 / 13) in 'Test.Syd.Validity.Shrinking.Property'
  2175. 24.50 s [genvalidity-sydtest] 50% ( 1 / 2) in 'Test.Syd.Validity.Types'
  2176. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2177. 24.50 s [genvalidity-sydtest] Module header
  2178. 24.50 s [genvalidity-sydtest] 15% ( 2 / 13) in 'Test.Syd.Validity.Functions.Inverse'
  2179. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2180. 24.50 s [genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
  2181. 24.50 s [genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
  2182. 24.50 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
  2183. 24.50 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
  2184. 24.50 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
  2185. 24.50 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
  2186. 24.50 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
  2187. 24.50 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
  2188. 24.50 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
  2189. 24.50 s [genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
  2190. 24.50 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
  2191. 24.50 s [genvalidity-sydtest] 7% ( 2 / 28) in 'Test.Syd.Validity.Functions.Equivalence'
  2192. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2193. 24.50 s [genvalidity-sydtest] Module header
  2194. 24.50 s [genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
  2195. 24.50 s [genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
  2196. 24.50 s [genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
  2197. 24.50 s [genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
  2198. 24.50 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
  2199. 24.50 s [genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
  2200. 24.50 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
  2201. 24.50 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
  2202. 24.50 s [genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
  2203. 24.50 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
  2204. 24.50 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
  2205. 24.50 s [genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
  2206. 24.50 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
  2207. 24.50 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
  2208. 24.50 s [genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
  2209. 24.50 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
  2210. 24.50 s [genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
  2211. 24.50 s [genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
  2212. 24.50 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
  2213. 24.50 s [genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
  2214. 24.50 s [genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
  2215. 24.50 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
  2216. 24.50 s [genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
  2217. 24.50 s [genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
  2218. 24.50 s [genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
  2219. 24.50 s [genvalidity-sydtest] 38% ( 7 / 18) in 'Test.Syd.Validity.Functions.CanFail'
  2220. 24.50 s [genvalidity-sydtest] Missing documentation for:
  2221. 24.50 s [genvalidity-sydtest] Module header
  2222. 24.50 s [genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
  2223. 24.50 s [genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
  2224. 24.50 s [genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
  2225. 24.50 s [genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
  2226. 24.50 s [genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
  2227. 24.50 s [genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
  2228. 24.50 s [genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
  2229. 24.50 s [genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
  2230. 24.50 s [genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
  2231. 24.50 s [genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
  2232. 24.50 s [genvalidity-sydtest] 100% ( 6 / 6) in 'Test.Syd.Validity.Functions'
  2233. 24.51 s [genvalidity-sydtest] 54% ( 80 /146) in 'Test.Syd.Validity.Property'
  2234. 24.51 s [genvalidity-sydtest] Missing documentation for:
  2235. 24.51 s [genvalidity-sydtest] Module header
  2236. 24.51 s [genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
  2237. 24.51 s [genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
  2238. 24.51 s [genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
  2239. 24.51 s [genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
  2240. 24.51 s [genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
  2241. 24.51 s [genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
  2242. 24.51 s [genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
  2243. 24.51 s [genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
  2244. 24.51 s [genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
  2245. 24.51 s [genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
  2246. 24.51 s [genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
  2247. 24.51 s [genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
  2248. 24.51 s [genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
  2249. 24.51 s [genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
  2250. 24.51 s [genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
  2251. 24.51 s [genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
  2252. 24.51 s [genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
  2253. 24.51 s [genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
  2254. 24.51 s [genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
  2255. 24.51 s [genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
  2256. 24.51 s [genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
  2257. 24.51 s [genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
  2258. 24.51 s [genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
  2259. 24.51 s [genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
  2260. 24.51 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
  2261. 24.51 s [genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
  2262. 24.51 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
  2263. 24.51 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
  2264. 24.51 s [genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
  2265. 24.51 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
  2266. 24.51 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
  2267. 24.51 s [genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
  2268. 24.51 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
  2269. 24.51 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
  2270. 24.51 s [genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
  2271. 24.51 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
  2272. 24.51 s [genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
  2273. 24.51 s [genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
  2274. 24.51 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
  2275. 24.51 s [genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
  2276. 24.51 s [genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
  2277. 24.51 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
  2278. 24.51 s [genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
  2279. 24.51 s [genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
  2280. 24.51 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
  2281. 24.51 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
  2282. 24.51 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
  2283. 24.51 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
  2284. 24.51 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
  2285. 24.51 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
  2286. 24.51 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
  2287. 24.51 s [genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
  2288. 24.51 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
  2289. 24.51 s [genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
  2290. 24.51 s [genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
  2291. 24.51 s [genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
  2292. 24.51 s [genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
  2293. 24.51 s [genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
  2294. 24.51 s [genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
  2295. 24.51 s [genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
  2296. 24.51 s [genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
  2297. 24.51 s [genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
  2298. 24.51 s [genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
  2299. 24.51 s [genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
  2300. 24.51 s [genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
  2301. 24.51 s [genvalidity-sydtest] Warning: 'Spec' is out of scope.
  2302. 24.51 s [genvalidity-sydtest] If you qualify the identifier, haddock can try to link it anyway.
  2303. 24.51 s [genvalidity-sydtest] 14% ( 1 / 7) in 'Test.Syd.Validity.Utils'
  2304. 24.51 s [genvalidity-sydtest] Missing documentation for:
  2305. 24.51 s [genvalidity-sydtest] nameOf (src/Test/Syd/Validity/Utils.hs:27)
  2306. 24.51 s [genvalidity-sydtest] genDescr (src/Test/Syd/Validity/Utils.hs:38)
  2307. 24.51 s [genvalidity-sydtest] binRelStr (src/Test/Syd/Validity/Utils.hs:45)
  2308. 24.51 s [genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
  2309. 24.51 s [genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
  2310. 24.51 s [genvalidity-sydtest] Anon (src/Test/Syd/Validity/Utils.hs:49)
  2311. 24.51 s [genvalidity-sydtest] 45% ( 5 / 11) in 'Test.Syd.Validity.Shrinking'
  2312. 24.51 s [genvalidity-sydtest] Missing documentation for:
  2313. 24.51 s [genvalidity-sydtest] shrinkValidSpec (src/Test/Syd/Validity/Shrinking.hs:35)
  2314. 24.51 s [genvalidity-sydtest] shrinkValidSpecWithLimit (src/Test/Syd/Validity/Shrinking.hs:48)
  2315. 24.51 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid (src/Test/Syd/Validity/Shrinking.hs:66)
  2316. 24.51 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValidWithLimit (src/Test/Syd/Validity/Shrinking.hs:74)
  2317. 24.51 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItself (src/Test/Syd/Validity/Shrinking.hs:81)
  2318. 24.51 s [genvalidity-sydtest] shrinkValidDoesNotShrinkToItselfWithLimit (src/Test/Syd/Validity/Shrinking.hs:89)
  2319. 24.51 s [genvalidity-sydtest] 100% ( 7 / 7) in 'Test.Syd.Validity.Show'
  2320. 24.51 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Ord'
  2321. 24.51 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Monoid'
  2322. 24.51 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Monad'
  2323. 24.51 s [genvalidity-sydtest] 100% ( 5 / 5) in 'Test.Syd.Validity.GenValidity'
  2324. 24.51 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Functor'
  2325. 24.51 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Eq'
  2326. 24.51 s [genvalidity-sydtest] 100% ( 3 / 3) in 'Test.Syd.Validity.Arbitrary'
  2327. 24.51 s [genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Applicative'
  2328. 24.51 s [genvalidity-sydtest] Warning: 'Spec' is out of scope.
  2329. 24.51 s [genvalidity-sydtest] If you qualify the identifier, haddock can try to link it anyway.
  2330. 24.52 s [genvalidity-sydtest] 63% (122 /192) in 'Test.Syd.Validity'
  2331. 24.52 s [genvalidity-sydtest] Missing documentation for:
  2332. 24.52 s [genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
  2333. 24.52 s [genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
  2334. 24.52 s [genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
  2335. 24.52 s [genvalidity-sydtest] shrinkValidSpec (src/Test/Syd/Validity/Shrinking.hs:35)
  2336. 24.52 s [genvalidity-sydtest] shrinkValidSpecWithLimit (src/Test/Syd/Validity/Shrinking.hs:48)
  2337. 24.52 s [genvalidity-sydtest] shrinkValidPreservesValidOnGenValid (src/Test/Syd/Validity/Shrinking.hs:66)
  2338. 24.52 s [genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
  2339. 24.52 s [genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
  2340. 24.52 s [genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
  2341. 24.52 s [genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
  2342. 24.52 s [genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
  2343. 24.52 s [genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
  2344. 24.52 s [genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
  2345. 24.52 s [genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
  2346. 24.52 s [genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
  2347. 24.52 s [genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
  2348. 24.52 s [genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
  2349. 24.52 s [genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
  2350. 24.52 s [genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
  2351. 24.52 s [genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
  2352. 24.52 s [genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
  2353. 24.52 s [genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
  2354. 24.52 s [genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
  2355. 24.52 s [genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
  2356. 24.52 s [genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
  2357. 24.52 s [genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
  2358. 24.52 s [genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
  2359. 24.52 s [genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
  2360. 24.52 s [genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
  2361. 24.52 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
  2362. 24.52 s [genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
  2363. 24.52 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
  2364. 24.52 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
  2365. 24.52 s [genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
  2366. 24.52 s [genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
  2367. 24.52 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
  2368. 24.52 s [genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
  2369. 24.52 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
  2370. 24.52 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
  2371. 24.52 s [genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
  2372. 24.52 s [genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
  2373. 24.52 s [genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
  2374. 24.52 s [genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
  2375. 24.52 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
  2376. 24.52 s [genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
  2377. 24.52 s [genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
  2378. 24.52 s [genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
  2379. 24.52 s [genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
  2380. 24.52 s [genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
  2381. 24.52 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
  2382. 24.52 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
  2383. 24.52 s [genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
  2384. 24.52 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
  2385. 24.52 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
  2386. 24.52 s [genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
  2387. 24.52 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
  2388. 24.52 s [genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
  2389. 24.52 s [genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
  2390. 24.52 s [genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
  2391. 24.52 s [genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
  2392. 24.52 s [genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
  2393. 24.52 s [genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
  2394. 24.52 s [genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
  2395. 24.52 s [genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
  2396. 24.52 s [genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
  2397. 24.52 s [genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
  2398. 24.52 s [genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
  2399. 24.52 s [genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
  2400. 24.52 s [genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
  2401. 24.52 s [genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
  2402. 24.88 s [really-safe-money] [ 9 of 12] Compiling Money.Account ( src/Money/Account.hs, dist/build/Money/Account.p_o )
  2403. 24.89 s [really-safe-money] mutation: instrumenting Money.Account
  2404. 24.89 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2405. 24.89 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2406. 24.89 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2407. 24.89 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
  2408. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  2409. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
  2410. 24.90 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:421:32-33
  2411. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2412. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2413. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2414. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2415. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2416. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
  2417. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  2418. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  2419. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
  2420. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  2421. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
  2422. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:451:14-23
  2423. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  2424. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  2425. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
  2426. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  2427. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
  2428. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:455:14-23
  2429. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2430. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2431. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2432. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
  2433. 24.90 s [really-safe-money] added mutation MaybeOp at src/Money/Account.hs:523:16-25
  2434. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  2435. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  2436. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
  2437. 24.90 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:495:17-18
  2438. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  2439. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  2440. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
  2441. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  2442. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
  2443. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:495:12-18
  2444. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  2445. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  2446. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
  2447. 24.90 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:503:15-16
  2448. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  2449. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  2450. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
  2451. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  2452. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
  2453. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:503:10-16
  2454. 24.90 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:233:19-20
  2455. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  2456. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  2457. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
  2458. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  2459. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
  2460. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:233:14-20
  2461. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  2462. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
  2463. 24.90 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:197:19-20
  2464. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  2465. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  2466. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
  2467. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  2468. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
  2469. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:197:14-20
  2470. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  2471. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
  2472. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  2473. 24.90 s [really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
  2474. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  2475. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  2476. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
  2477. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  2478. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
  2479. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:123:10-23
  2480. 24.90 s [really-safe-money] added mutation IntLit at src/Money/Account.hs:131:25-26
  2481. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  2482. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  2483. 24.90 s [really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
  2484. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  2485. 24.90 s [really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
  2486. 24.90 s [really-safe-money] added mutation Negate at src/Money/Account.hs:131:20-26
  2487. 24.90 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  2488. 24.90 s [really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
  2489. 24.90 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  2490. 24.90 s [really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
  2491. 24.91 s [really-safe-money] added 87 mutations
  2492. 25.93 s [really-safe-money] [10 of 12] Compiling Money.MultiAccount ( src/Money/MultiAccount.hs, dist/build/Money/MultiAccount.p_o )
  2493. 26.10 s [really-safe-money] mutation: instrumenting Money.MultiAccount
  2494. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  2495. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  2496. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  2497. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  2498. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  2499. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  2500. 26.10 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  2501. 26.10 s [really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
  2502. 26.10 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
  2503. 26.10 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
  2504. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  2505. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  2506. 26.10 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:134:12-29
  2507. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  2508. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  2509. 26.10 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
  2510. 26.10 s [really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
  2511. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  2512. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  2513. 26.10 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:120:12-29
  2514. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  2515. 26.10 s [really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  2516. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  2517. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  2518. 26.10 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:78:6-28
  2519. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  2520. 26.10 s [really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  2521. 26.10 s [really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:69:13-30
  2522. 26.10 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  2523. 26.10 s [really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  2524. 26.10 s [really-safe-money] added 30 mutations
  2525. 26.64 s [really-safe-money] [11 of 12] Compiling Money.AccountOf ( src/Money/AccountOf.hs, dist/build/Money/AccountOf.p_o )
  2526. 26.65 s [really-safe-money] mutation: instrumenting Money.AccountOf
  2527. 26.65 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2528. 26.65 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2529. 26.65 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2530. 26.65 s [really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  2531. 26.65 s [really-safe-money] added 4 mutations
  2532. 26.98 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. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Account.dyn_o'
  2534. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AccountOf.dyn_o'
  2535. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Amount.dyn_o'
  2536. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AmountOf.dyn_o'
  2537. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRate.dyn_o'
  2538. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRateOf.dyn_o'
  2539. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Currency.dyn_o'
  2540. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAccount.dyn_o'
  2541. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAmount.dyn_o'
  2542. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor.dyn_o'
  2543. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral.dyn_o'
  2544. 27.41 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money.dyn_o'
  2545. 28.31 s [really-safe-money] mutation-nix: manifest output at /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest:
  2546. 28.31 s [really-safe-money] total 384
  2547. 28.31 s [really-safe-money] drwxr-xr-x 2 nixbld nixbld 4096 May 15 07:07 .
  2548. 28.31 s [really-safe-money] drwxrwxr-t 238 nobody nixbld 28672 May 15 07:07 ..
  2549. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 66992 May 15 07:07 Money.Account.json
  2550. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 5043 May 15 07:07 Money.AccountOf.json
  2551. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 84451 May 15 07:07 Money.Amount.json
  2552. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 4850 May 15 07:07 Money.AmountOf.json
  2553. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 12979 May 15 07:07 Money.ConversionRate.json
  2554. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 2 May 15 07:07 Money.ConversionRateOf.json
  2555. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 2 May 15 07:07 Money.Currency.json
  2556. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 22648 May 15 07:07 Money.MultiAccount.json
  2557. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 25712 May 15 07:07 Money.MultiAmount.json
  2558. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 18786 May 15 07:07 Money.QuantisationFactor.json
  2559. 28.31 s [really-safe-money] -rw-r--r-- 1 nixbld nixbld 88354 May 15 07:07 Numeric.DecimalLiteral.json
  2560. 28.31 s [really-safe-money] mutation-nix: building remaining components with plugin silenced
  2561. 28.37 s [really-safe-money] Preprocessing library for really-safe-money-0.0.0.0...
  2562. 28.37 s [really-safe-money] Building library for really-safe-money-0.0.0.0...
  2563. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Account.dyn_o'
  2564. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AccountOf.dyn_o'
  2565. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Amount.dyn_o'
  2566. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AmountOf.dyn_o'
  2567. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRate.dyn_o'
  2568. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRateOf.dyn_o'
  2569. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Currency.dyn_o'
  2570. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAccount.dyn_o'
  2571. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAmount.dyn_o'
  2572. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor.dyn_o'
  2573. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral.dyn_o'
  2574. 29.83 s [really-safe-money] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money.dyn_o'
  2575. 30.62 s [really-safe-money] Phase: haddockPhase
  2576. 30.63 s [really-safe-money] Phase: installPhase
  2577. 30.67 s [really-safe-money] Installing library in /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-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. 30.98 s [really-safe-money] Phase: fixupPhase
  2579. 31.00 s [really-safe-money] shrinking RPATHs of ELF executables and libraries in /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0
  2580. 31.11 s [really-safe-money] shrinking /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-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. 31.11 s [really-safe-money] checking for references to /build/ in /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0...
  2582. 31.11 s [really-safe-money] patching script interpreter paths in /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0
  2583. 31.11 s [really-safe-money] stripping (with command strip and flags -S -p) in /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0/lib /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0/bin
  2584. 31.22 s [really-safe-money] shrinking RPATHs of ELF executables and libraries in /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest
  2585. 31.22 s [really-safe-money] checking for references to /build/ in /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest...
  2586. 31.23 s [really-safe-money] patching script interpreter paths in /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest
  2587. 31.32 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0
  2588. 31.73 s [post-build-hook] Pushing 2 paths (195 are already present) using zstd to cache sydtest ⏳
  2589. 31.73 s [post-build-hook]
  2590. 32.08 s [post-build-hook] Pushing /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest (324.41 KiB)
  2591. 32.09 s [post-build-hook] Pushing /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0 (14.97 MiB)
  2592. 33.94 s [post-build-hook]
  2593. 33.94 s [post-build-hook] All done.
  2594. 33.96 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest /nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0
  2595. 33.99 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2596. 34.01 s [post-build-hook] copying 2 paths...
  2597. 34.01 s [post-build-hook] copying path '/nix/store/d8i4w41yc3dmj65hmgp2ig91nvibznp6-really-safe-money-0.0.0.0-manifest' to 'https://cache.staging.nix-ci.com'...
  2598. 34.01 s [post-build-hook] copying path '/nix/store/wkzkqhzcr22c7mwnbvp0r84hdyvc9hnc-really-safe-money-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2599. 37.23 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2600. 37.43 s [post-build-hook] copying 1 paths...
  2601. 37.45 s [post-build-hook] copying path '/nix/store/1f29lc14r9032z89als62gpzcs66zjlv-really-safe-money-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2602. 37.86 s Progress: 2 of 9 built (1 building)
  2603. 37.91 s Building really-safe-money-autodocodec-source
  2604. 37.95 s Building really-safe-money-gen-source
  2605. 37.95 s [genvalidity-sydtest] Documentation created: dist/doc/html/genvalidity-sydtest/,
  2606. 37.95 s [genvalidity-sydtest] dist/doc/html/genvalidity-sydtest/genvalidity-sydtest.txt
  2607. 37.95 s [genvalidity-sydtest] Preprocessing test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
  2608. 37.95 s [genvalidity-sydtest] Phase: installPhase
  2609. 37.95 s [genvalidity-sydtest] Installing library in /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-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. 37.95 s [genvalidity-sydtest] Phase: fixupPhase
  2611. 37.95 s [genvalidity-sydtest] shrinking RPATHs of ELF executables and libraries in /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0
  2612. 37.95 s [genvalidity-sydtest] shrinking /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-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. 37.95 s [genvalidity-sydtest] checking for references to /build/ in /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0...
  2614. 37.95 s [genvalidity-sydtest] patching script interpreter paths in /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0
  2615. 37.95 s [genvalidity-sydtest] stripping (with command strip and flags -S -p) in /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0/lib
  2616. 37.95 s [genvalidity-sydtest] shrinking RPATHs of ELF executables and libraries in /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc
  2617. 37.95 s [genvalidity-sydtest] checking for references to /build/ in /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc...
  2618. 37.95 s [genvalidity-sydtest] patching script interpreter paths in /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc
  2619. 38.09 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0 /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc
  2620. 38.65 s [post-build-hook] Pushing 2 paths (267 are already present) using zstd to cache sydtest ⏳
  2621. 38.65 s [post-build-hook]
  2622. 39.00 s [post-build-hook] Pushing /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc (3.78 MiB)
  2623. 39.03 s [post-build-hook] Pushing /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0 (6.60 MiB)
  2624. 40.49 s [post-build-hook]
  2625. 40.49 s [post-build-hook] All done.
  2626. 40.51 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0 /nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc
  2627. 40.56 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2628. 40.74 s [post-build-hook] copying 2 paths...
  2629. 40.74 s [post-build-hook] copying path '/nix/store/agqrkks1j4wkwg9zddmrjr21kknv0n5i-genvalidity-sydtest-1.0.1.0-doc' to 'https://cache.staging.nix-ci.com'...
  2630. 41.26 s [post-build-hook] copying path '/nix/store/5fv1g12myn1hbckdfvha1jkfc6fszkds-genvalidity-sydtest-1.0.1.0' to 'https://cache.staging.nix-ci.com'...
  2631. 42.90 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2632. 43.13 s [post-build-hook] copying 1 paths...
  2633. 43.15 s [post-build-hook] copying path '/nix/store/ks3awk3jxvm6s0cxlpxvma8x0lmnqv2c-genvalidity-sydtest-1.0.1.0.drv' to 'https://cache.staging.nix-ci.com'...
  2634. 43.31 s Progress: 3 of 8 built (2 building)
  2635. 43.31 s [really-safe-money-autodocodec-source] Phase: setupCompilerEnvironmentPhase
  2636. 43.31 s [really-safe-money-autodocodec-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  2637. 43.32 s [really-safe-money-autodocodec-source] Phase: unpackPhase
  2638. 43.32 s [really-safe-money-autodocodec-source] unpacking source archive /nix/store/8krpxqimxqvympfqdqxg1jzjg2jrcglb-really-safe-money-autodocodec
  2639. 43.32 s [really-safe-money-autodocodec-source] source root is really-safe-money-autodocodec
  2640. 43.32 s [really-safe-money-autodocodec-source] Phase: patchPhase
  2641. 43.32 s [really-safe-money-autodocodec-source] Phase: compileBuildDriverPhase
  2642. 43.32 s [really-safe-money-autodocodec-source] setupCompileFlags: -package-db=/build/tmp.Y0GKNPdH9l/setup-package.conf.d -threaded
  2643. 43.32 s [really-safe-money-autodocodec-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.Y0GKNPdH9l/Main.o )
  2644. 43.32 s [really-safe-money-autodocodec-source] [2 of 2] Linking Setup
  2645. 43.32 s [really-safe-money-autodocodec-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  2646. 43.32 s [really-safe-money-autodocodec-source] Phase: configurePhase
  2647. 43.32 s [really-safe-money-autodocodec-source] configureFlags: --verbose --prefix=/nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-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.Y0GKNPdH9l/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. 43.32 s [really-safe-money-autodocodec-source] Using Parsec parser
  2649. 43.32 s [really-safe-money-autodocodec-source] Configuring really-safe-money-autodocodec-0.0.0.0...
  2650. 43.32 s [really-safe-money-autodocodec-source] Dependency autodocodec: using autodocodec-0.5.0.0
  2651. 43.32 s [really-safe-money-autodocodec-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  2652. 43.32 s [really-safe-money-autodocodec-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2653. 43.32 s [really-safe-money-autodocodec-source] Source component graph: component lib
  2654. 43.32 s [really-safe-money-autodocodec-source] Configured component graph:
  2655. 43.32 s [really-safe-money-autodocodec-source] component really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2656. 43.32 s [really-safe-money-autodocodec-source] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2657. 43.32 s [really-safe-money-autodocodec-source] include base-4.20.2.0-64da
  2658. 43.32 s [really-safe-money-autodocodec-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2659. 43.32 s [really-safe-money-autodocodec-source] Linked component graph:
  2660. 43.32 s [really-safe-money-autodocodec-source] unit really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2661. 43.32 s [really-safe-money-autodocodec-source] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2662. 43.32 s [really-safe-money-autodocodec-source] include base-4.20.2.0-64da
  2663. 43.32 s [really-safe-money-autodocodec-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2664. 43.32 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. 43.32 s [really-safe-money-autodocodec-source] Ready component graph:
  2666. 43.32 s [really-safe-money-autodocodec-source] definite really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2667. 43.32 s [really-safe-money-gen-source] Phase: setupCompilerEnvironmentPhase
  2668. 43.32 s [really-safe-money-gen-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  2669. 43.32 s [really-safe-money-gen-source] Phase: unpackPhase
  2670. 43.32 s [really-safe-money-gen-source] unpacking source archive /nix/store/igm3hbdpcwgfbdx9yjyf6d68w1ifih08-really-safe-money-gen
  2671. 43.32 s [really-safe-money-gen-source] source root is really-safe-money-gen
  2672. 43.32 s [really-safe-money-gen-source] Phase: patchPhase
  2673. 43.32 s [really-safe-money-gen-source] Phase: compileBuildDriverPhase
  2674. 43.32 s [really-safe-money-gen-source] setupCompileFlags: -package-db=/build/tmp.jlzZMfOwyh/setup-package.conf.d -threaded
  2675. 43.32 s [really-safe-money-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.jlzZMfOwyh/Main.o )
  2676. 43.32 s [really-safe-money-gen-source] [2 of 2] Linking Setup
  2677. 43.32 s [really-safe-money-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  2678. 43.32 s [really-safe-money-gen-source] Phase: configurePhase
  2679. 43.32 s [really-safe-money-gen-source] configureFlags: --verbose --prefix=/nix/store/2rag889jvlvv7cp7dijira5gvbar457z-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.jlzZMfOwyh/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. 43.32 s [really-safe-money-gen-source] Using Parsec parser
  2681. 43.32 s [really-safe-money-gen-source] Configuring really-safe-money-gen-0.0.0.0...
  2682. 43.32 s [really-safe-money-gen-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  2683. 43.32 s [really-safe-money-gen-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  2684. 43.32 s [really-safe-money-gen-source] Dependency genvalidity: using genvalidity-1.1.1.0
  2685. 43.32 s [really-safe-money-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  2686. 43.32 s [really-safe-money-gen-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2687. 43.32 s [really-safe-money-gen-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
  2688. 43.32 s [really-safe-money-gen-source] Dependency base >=4.7 && <5: using base-4.20.2.0
  2689. 43.32 s [really-safe-money-gen-source] Dependency criterion: using criterion-1.6.4.0
  2690. 43.32 s [really-safe-money-gen-source] Dependency deepseq: using deepseq-1.5.0.0
  2691. 43.32 s [really-safe-money-gen-source] Dependency genvalidity: using genvalidity-1.1.1.0
  2692. 43.32 s [really-safe-money-gen-source] Dependency genvalidity-criterion: using genvalidity-criterion-1.1.0.0
  2693. 43.32 s [really-safe-money-gen-source] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
  2694. 43.32 s [really-safe-money-gen-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2695. 43.32 s [really-safe-money-gen-source] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
  2696. 43.32 s [really-safe-money-gen-source] Dependency vector: using vector-0.13.2.0
  2697. 43.32 s [really-safe-money-gen-source] Source component graph:
  2698. 43.32 s [really-safe-money-gen-source] component lib
  2699. 43.32 s [really-safe-money-gen-source] component bench:really-safe-money-bench dependency lib
  2700. 43.32 s [really-safe-money-gen-source] Configured component graph:
  2701. 43.32 s [really-safe-money-gen-source] component really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2702. 43.32 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2703. 43.32 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2704. 43.32 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2705. 43.32 s [really-safe-money-gen-source] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  2706. 43.32 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2707. 43.32 s [really-safe-money-gen-source] component really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
  2708. 43.32 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2709. 43.32 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2710. 43.32 s [really-safe-money-autodocodec-source] depends autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2711. 43.32 s [really-safe-money-autodocodec-source] depends base-4.20.2.0-64da
  2712. 43.32 s [really-safe-money-autodocodec-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2713. 43.32 s [really-safe-money-autodocodec-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
  2714. 43.32 s [really-safe-money-autodocodec-source] Using compiler: ghc-9.10.3
  2715. 43.32 s [really-safe-money-autodocodec-source] Using install prefix:
  2716. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0
  2717. 43.32 s [really-safe-money-autodocodec-source] Executables installed in:
  2718. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0/bin
  2719. 43.32 s [really-safe-money-autodocodec-source] Libraries installed in:
  2720. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-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. 43.32 s [really-safe-money-autodocodec-source] Dynamic Libraries installed in:
  2722. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  2723. 43.32 s [really-safe-money-autodocodec-source] Private executables installed in:
  2724. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-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. 43.32 s [really-safe-money-autodocodec-source] Data files installed in:
  2726. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-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. 43.32 s [really-safe-money-autodocodec-source] Documentation installed in: /share/doc/really-safe-money-autodocodec-0.0.0.0
  2728. 43.32 s [really-safe-money-autodocodec-source] Configuration files installed in:
  2729. 43.32 s [really-safe-money-autodocodec-source] /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0/etc
  2730. 43.32 s [really-safe-money-autodocodec-source] No alex found
  2731. 43.32 s [really-safe-money-autodocodec-source] Using ar found on system at:
  2732. 43.32 s [really-safe-money-autodocodec-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2733. 43.32 s [really-safe-money-autodocodec-source] No c2hs found
  2734. 43.32 s [really-safe-money-autodocodec-source] No cpphs found
  2735. 43.32 s [really-safe-money-autodocodec-source] No doctest found
  2736. 43.32 s [really-safe-money-autodocodec-source] Using gcc version 14.3.0 given by user at:
  2737. 43.32 s [really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2738. 43.32 s [really-safe-money-autodocodec-source] Using ghc version 9.10.3 found on system at:
  2739. 43.32 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  2740. 43.32 s [really-safe-money-autodocodec-source] Using ghc-pkg version 9.10.3 found on system at:
  2741. 43.32 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  2742. 43.32 s [really-safe-money-autodocodec-source] No ghcjs found
  2743. 43.32 s [really-safe-money-autodocodec-source] No ghcjs-pkg found
  2744. 43.32 s [really-safe-money-autodocodec-source] No greencard found
  2745. 43.32 s [really-safe-money-autodocodec-source] Using haddock version 2.31.1 found on system at:
  2746. 43.32 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  2747. 43.32 s [really-safe-money-autodocodec-source] No happy found
  2748. 43.32 s [really-safe-money-autodocodec-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  2749. 43.32 s [really-safe-money-autodocodec-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  2750. 43.32 s [really-safe-money-autodocodec-source] No hmake found
  2751. 43.32 s [really-safe-money-autodocodec-source] Using hpc version 0.69 found on system at:
  2752. 43.32 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  2753. 43.32 s [really-safe-money-autodocodec-source] Using hsc2hs version 0.68.10 found on system at:
  2754. 43.32 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  2755. 43.32 s [really-safe-money-autodocodec-source] Using hscolour version 1.25 found on system at:
  2756. 43.32 s [really-safe-money-autodocodec-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  2757. 43.32 s [really-safe-money-autodocodec-source] No jhc found
  2758. 43.32 s [really-safe-money-autodocodec-source] Using ld found on system at:
  2759. 43.32 s [really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  2760. 43.32 s [really-safe-money-autodocodec-source] No pkg-config found
  2761. 43.32 s [really-safe-money-autodocodec-source] Using runghc version 9.10.3 found on system at:
  2762. 43.32 s [really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  2763. 43.32 s [really-safe-money-autodocodec-source] Using strip version 2.44 found on system at:
  2764. 43.32 s [really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  2765. 43.32 s [really-safe-money-autodocodec-source] Using tar found on system at:
  2766. 43.32 s [really-safe-money-autodocodec-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  2767. 43.32 s [really-safe-money-autodocodec-source] No uhc found
  2768. 43.32 s [really-safe-money-autodocodec-source] Phase: buildPhase
  2769. 43.32 s [really-safe-money-autodocodec-source] Distribution quality errors:
  2770. 43.32 s [really-safe-money-autodocodec-source] [no-syn-desc] No 'synopsis' or 'description' field.
  2771. 43.32 s [really-safe-money-autodocodec-source] Distribution quality warnings:
  2772. 43.32 s [really-safe-money-autodocodec-source] [no-category] No 'category' field.
  2773. 43.32 s [really-safe-money-autodocodec-source] [no-maintainer] No 'maintainer' field.
  2774. 43.32 s [really-safe-money-autodocodec-source] [all-rights-reserved] The 'license' is AllRightsReserved. Is that really what
  2775. 43.32 s [really-safe-money-autodocodec-source] you want?
  2776. 43.32 s [really-safe-money-autodocodec-source] [missing-upper-bounds] On library, these packages miss upper bounds:
  2777. 43.32 s [really-safe-money-autodocodec-source] - autodocodec
  2778. 43.32 s [really-safe-money-autodocodec-source] - really-safe-money
  2779. 43.32 s [really-safe-money-autodocodec-source] Please add them. There is more information at https://pvp.haskell.org/
  2780. 43.32 s [really-safe-money-autodocodec-source] Note: the public hackage server would reject this package.
  2781. 43.32 s [really-safe-money-autodocodec-source] Building source dist for really-safe-money-autodocodec-0.0.0.0...
  2782. 43.32 s [really-safe-money-autodocodec-source] Source tarball created: dist/really-safe-money-autodocodec-0.0.0.0.tar.gz
  2783. 43.32 s [really-safe-money-autodocodec-source] Phase: haddockPhase
  2784. 43.32 s [really-safe-money-autodocodec-source] Phase: installPhase
  2785. 43.32 s [really-safe-money-autodocodec-source] Phase: fixupPhase
  2786. 43.32 s [really-safe-money-gen-source] include criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
  2787. 43.32 s [really-safe-money-gen-source] include deepseq-1.5.0.0-9a2c
  2788. 43.32 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2789. 43.32 s [really-safe-money-gen-source] include genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
  2790. 43.32 s [really-safe-money-gen-source] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  2791. 43.32 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2792. 43.32 s [really-safe-money-gen-source] include really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2793. 43.32 s [really-safe-money-gen-source] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  2794. 43.33 s [really-safe-money-gen-source] Linked component graph:
  2795. 43.33 s [really-safe-money-gen-source] unit really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2796. 43.33 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2797. 43.33 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2798. 43.33 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2799. 43.33 s [really-safe-money-gen-source] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  2800. 43.33 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2801. 43.33 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. 43.33 s [really-safe-money-gen-source] unit really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
  2803. 43.33 s [really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2804. 43.33 s [really-safe-money-gen-source] include base-4.20.2.0-64da
  2805. 43.33 s [really-safe-money-gen-source] include criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
  2806. 43.33 s [really-safe-money-gen-source] include deepseq-1.5.0.0-9a2c
  2807. 43.33 s [really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2808. 43.33 s [really-safe-money-gen-source] include genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
  2809. 43.33 s [really-safe-money-gen-source] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  2810. 43.33 s [really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2811. 43.33 s [really-safe-money-gen-source] include really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2812. 43.33 s [really-safe-money-gen-source] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  2813. 43.33 s [really-safe-money-gen-source] Ready component graph:
  2814. 43.33 s [really-safe-money-gen-source] definite really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2815. 43.33 s [really-safe-money-gen-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2816. 43.33 s [really-safe-money-gen-source] depends base-4.20.2.0-64da
  2817. 43.33 s [really-safe-money-gen-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2818. 43.33 s [really-safe-money-gen-source] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  2819. 43.33 s [really-safe-money-gen-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2820. 43.33 s [really-safe-money-gen-source] definite really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
  2821. 43.33 s [really-safe-money-gen-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  2822. 43.33 s [really-safe-money-gen-source] depends base-4.20.2.0-64da
  2823. 43.33 s [really-safe-money-gen-source] depends criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
  2824. 43.33 s [really-safe-money-gen-source] depends deepseq-1.5.0.0-9a2c
  2825. 43.33 s [really-safe-money-gen-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  2826. 43.33 s [really-safe-money-gen-source] depends genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
  2827. 43.33 s [really-safe-money-gen-source] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  2828. 43.33 s [really-safe-money-gen-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2829. 43.33 s [really-safe-money-gen-source] depends really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
  2830. 43.33 s [really-safe-money-gen-source] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  2831. 43.33 s [really-safe-money-gen-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
  2832. 43.33 s [really-safe-money-gen-source] Using compiler: ghc-9.10.3
  2833. 43.33 s [really-safe-money-gen-source] Using install prefix:
  2834. 43.33 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0
  2835. 43.33 s [really-safe-money-gen-source] Executables installed in:
  2836. 43.33 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0/bin
  2837. 43.33 s [really-safe-money-gen-source] Libraries installed in:
  2838. 43.35 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0
  2839. 43.78 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
  2840. 43.78 s [post-build-hook]
  2841. 44.15 s [post-build-hook] Pushing /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0 (5.45 KiB)
  2842. 45.32 s [post-build-hook]
  2843. 45.32 s [post-build-hook] All done.
  2844. 45.34 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0
  2845. 45.40 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2846. 45.41 s [post-build-hook] copying 1 paths...
  2847. 45.41 s [post-build-hook] copying path '/nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2848. 45.66 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2849. 45.87 s [post-build-hook] copying 1 paths...
  2850. 45.87 s [post-build-hook] copying path '/nix/store/24ahkwyviciyykpsiycn3d256bk2krq6-really-safe-money-autodocodec-source-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2851. 46.05 s Progress: 4 of 8 built (1 building)
  2852. 46.05 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-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. 46.05 s [really-safe-money-gen-source] Dynamic Libraries installed in:
  2854. 46.05 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  2855. 46.05 s [really-safe-money-gen-source] Private executables installed in:
  2856. 46.05 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-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. 46.05 s [really-safe-money-gen-source] Data files installed in:
  2858. 46.05 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-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. 46.05 s [really-safe-money-gen-source] Documentation installed in: /share/doc/really-safe-money-gen-0.0.0.0
  2860. 46.05 s [really-safe-money-gen-source] Configuration files installed in:
  2861. 46.05 s [really-safe-money-gen-source] /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0/etc
  2862. 46.05 s [really-safe-money-gen-source] No alex found
  2863. 46.05 s [really-safe-money-gen-source] Using ar found on system at:
  2864. 46.05 s [really-safe-money-gen-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2865. 46.05 s [really-safe-money-gen-source] No c2hs found
  2866. 46.05 s [really-safe-money-gen-source] No cpphs found
  2867. 46.05 s [really-safe-money-gen-source] No doctest found
  2868. 46.05 s [really-safe-money-gen-source] Using gcc version 14.3.0 given by user at:
  2869. 46.05 s [really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2870. 46.05 s [really-safe-money-gen-source] Using ghc version 9.10.3 found on system at:
  2871. 46.05 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  2872. 46.05 s [really-safe-money-gen-source] Using ghc-pkg version 9.10.3 found on system at:
  2873. 46.05 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  2874. 46.05 s [really-safe-money-gen-source] No ghcjs found
  2875. 46.05 s [really-safe-money-gen-source] No ghcjs-pkg found
  2876. 46.05 s [really-safe-money-gen-source] No greencard found
  2877. 46.05 s [really-safe-money-gen-source] Using haddock version 2.31.1 found on system at:
  2878. 46.05 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  2879. 46.05 s [really-safe-money-gen-source] No happy found
  2880. 46.05 s [really-safe-money-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  2881. 46.05 s [really-safe-money-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  2882. 46.05 s [really-safe-money-gen-source] No hmake found
  2883. 46.05 s [really-safe-money-gen-source] Using hpc version 0.69 found on system at:
  2884. 46.05 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  2885. 46.05 s [really-safe-money-gen-source] Using hsc2hs version 0.68.10 found on system at:
  2886. 46.05 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  2887. 46.05 s [really-safe-money-gen-source] Using hscolour version 1.25 found on system at:
  2888. 46.05 s [really-safe-money-gen-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  2889. 46.05 s [really-safe-money-gen-source] No jhc found
  2890. 46.05 s [really-safe-money-gen-source] Using ld found on system at:
  2891. 46.05 s [really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  2892. 46.05 s [really-safe-money-gen-source] No pkg-config found
  2893. 46.05 s [really-safe-money-gen-source] Using runghc version 9.10.3 found on system at:
  2894. 46.05 s [really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  2895. 46.05 s [really-safe-money-gen-source] Using strip version 2.44 found on system at:
  2896. 46.05 s [really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  2897. 46.05 s [really-safe-money-gen-source] Using tar found on system at:
  2898. 46.05 s [really-safe-money-gen-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  2899. 46.05 s [really-safe-money-gen-source] No uhc found
  2900. 46.05 s [really-safe-money-gen-source] Phase: buildPhase
  2901. 46.05 s [really-safe-money-gen-source] Distribution quality errors:
  2902. 46.05 s [really-safe-money-gen-source] [no-syn-desc] No 'synopsis' or 'description' field.
  2903. 46.05 s [really-safe-money-gen-source] Distribution quality warnings:
  2904. 46.05 s [really-safe-money-gen-source] [no-category] No 'category' field.
  2905. 46.05 s [really-safe-money-gen-source] [no-maintainer] No 'maintainer' field.
  2906. 46.05 s [really-safe-money-gen-source] [all-rights-reserved] The 'license' is AllRightsReserved. Is that really what
  2907. 46.05 s [really-safe-money-gen-source] you want?
  2908. 46.05 s [really-safe-money-gen-source] [missing-upper-bounds] On library, these packages miss upper bounds:
  2909. 46.05 s [really-safe-money-gen-source] - QuickCheck
  2910. 46.05 s [really-safe-money-gen-source] - genvalidity
  2911. 46.05 s [really-safe-money-gen-source] - genvalidity-containers
  2912. 46.05 s [really-safe-money-gen-source] - really-safe-money
  2913. 46.05 s [really-safe-money-gen-source] Please add them. There is more information at https://pvp.haskell.org/
  2914. 46.05 s [really-safe-money-gen-source] Note: the public hackage server would reject this package.
  2915. 46.05 s [really-safe-money-gen-source] Building source dist for really-safe-money-gen-0.0.0.0...
  2916. 46.05 s [really-safe-money-gen-source] Source tarball created: dist/really-safe-money-gen-0.0.0.0.tar.gz
  2917. 46.05 s [really-safe-money-gen-source] Phase: haddockPhase
  2918. 46.05 s [really-safe-money-gen-source] Phase: installPhase
  2919. 46.05 s [really-safe-money-gen-source] Phase: fixupPhase
  2920. 46.11 s Building really-safe-money-autodocodec
  2921. 46.15 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0
  2922. 46.54 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
  2923. 46.54 s [post-build-hook]
  2924. 46.89 s [post-build-hook] Pushing /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0 (16.64 KiB)
  2925. 47.93 s [post-build-hook]
  2926. 47.93 s [post-build-hook] All done.
  2927. 47.95 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0
  2928. 48.00 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2929. 48.01 s [post-build-hook] copying 1 paths...
  2930. 48.01 s [post-build-hook] copying path '/nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2931. 48.30 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2932. 48.56 s [post-build-hook] copying 1 paths...
  2933. 48.63 s [post-build-hook] copying path '/nix/store/ag9479q76lzhdb0yxs6ljjyrp2dfii7r-really-safe-money-gen-source-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2934. 49.10 s Progress: 5 of 8 built (1 building)
  2935. 49.10 s [really-safe-money-autodocodec] Phase: setupCompilerEnvironmentPhase
  2936. 49.10 s [really-safe-money-autodocodec] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  2937. 49.10 s [really-safe-money-autodocodec] Phase: unpackPhase
  2938. 49.10 s [really-safe-money-autodocodec] unpacking source archive /nix/store/ca35zkvly1sndpymy8djls4ac3b38ib1-really-safe-money-autodocodec-source-0.0.0.0/really-safe-money-autodocodec-0.0.0.0.tar.gz
  2939. 49.10 s [really-safe-money-autodocodec] source root is really-safe-money-autodocodec-0.0.0.0
  2940. 49.10 s [really-safe-money-autodocodec] setting SOURCE_DATE_EPOCH to timestamp 1778828866 of file "really-safe-money-autodocodec-0.0.0.0/test/Spec.hs"
  2941. 49.10 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. 49.10 s [really-safe-money-autodocodec] Phase: patchPhase
  2943. 49.10 s [really-safe-money-autodocodec] Phase: compileBuildDriverPhase
  2944. 49.10 s [really-safe-money-autodocodec] setupCompileFlags: -package-db=/build/tmp.QikuVsBZLx/setup-package.conf.d -threaded
  2945. 49.10 s [really-safe-money-autodocodec] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.QikuVsBZLx/Main.o )
  2946. 49.10 s [really-safe-money-autodocodec] [2 of 2] Linking Setup
  2947. 49.10 s [really-safe-money-autodocodec] Phase: updateAutotoolsGnuConfigScriptsPhase
  2948. 49.10 s [really-safe-money-autodocodec] Phase: configurePhase
  2949. 49.10 s [really-safe-money-autodocodec] configureFlags: --verbose --prefix=/nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.QikuVsBZLx/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. 49.10 s [really-safe-money-autodocodec] Using Parsec parser
  2951. 49.10 s [really-safe-money-autodocodec] Configuring really-safe-money-autodocodec-0.0.0.0...
  2952. 49.10 s [really-safe-money-autodocodec] Dependency autodocodec: using autodocodec-0.5.0.0
  2953. 49.10 s [really-safe-money-autodocodec] Dependency base >=4.7 && <5: using base-4.20.2.0
  2954. 49.10 s [really-safe-money-autodocodec] Dependency really-safe-money: using really-safe-money-0.0.0.0
  2955. 49.10 s [really-safe-money-autodocodec] Source component graph: component lib
  2956. 49.10 s [really-safe-money-autodocodec] Configured component graph:
  2957. 49.10 s [really-safe-money-autodocodec] component really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2958. 49.10 s [really-safe-money-autodocodec] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2959. 49.10 s [really-safe-money-autodocodec] include base-4.20.2.0-64da
  2960. 49.10 s [really-safe-money-autodocodec] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2961. 49.10 s [really-safe-money-autodocodec] Linked component graph:
  2962. 49.10 s [really-safe-money-autodocodec] unit really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2963. 49.10 s [really-safe-money-autodocodec] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2964. 49.10 s [really-safe-money-autodocodec] include base-4.20.2.0-64da
  2965. 49.10 s [really-safe-money-autodocodec] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2966. 49.10 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. 49.10 s [really-safe-money-autodocodec] Ready component graph:
  2968. 49.10 s [really-safe-money-autodocodec] definite really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
  2969. 49.10 s [really-safe-money-autodocodec] depends autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
  2970. 49.11 s [really-safe-money-autodocodec] depends base-4.20.2.0-64da
  2971. 49.11 s [really-safe-money-autodocodec] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  2972. 49.11 s [really-safe-money-autodocodec] Using Cabal-3.12.1.0 compiled by ghc-9.10
  2973. 49.11 s [really-safe-money-autodocodec] Using compiler: ghc-9.10.3
  2974. 49.11 s [really-safe-money-autodocodec] Using install prefix:
  2975. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0
  2976. 49.11 s [really-safe-money-autodocodec] Executables installed in:
  2977. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0/bin
  2978. 49.11 s [really-safe-money-autodocodec] Libraries installed in:
  2979. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-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. 49.11 s [really-safe-money-autodocodec] Dynamic Libraries installed in:
  2981. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  2982. 49.11 s [really-safe-money-autodocodec] Private executables installed in:
  2983. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-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. 49.11 s [really-safe-money-autodocodec] Data files installed in:
  2985. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-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. 49.11 s [really-safe-money-autodocodec] Documentation installed in:
  2987. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-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. 49.11 s [really-safe-money-autodocodec] Configuration files installed in:
  2989. 49.11 s [really-safe-money-autodocodec] /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0/etc
  2990. 49.11 s [really-safe-money-autodocodec] No alex found
  2991. 49.11 s [really-safe-money-autodocodec] Using ar found on system at:
  2992. 49.11 s [really-safe-money-autodocodec] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2993. 49.11 s [really-safe-money-autodocodec] No c2hs found
  2994. 49.11 s [really-safe-money-autodocodec] No cpphs found
  2995. 49.11 s [really-safe-money-autodocodec] No doctest found
  2996. 49.11 s [really-safe-money-autodocodec] Using gcc version 14.3.0 given by user at:
  2997. 49.11 s [really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2998. 49.11 s [really-safe-money-autodocodec] Using ghc version 9.10.3 found on system at:
  2999. 49.11 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  3000. 49.11 s [really-safe-money-autodocodec] Using ghc-pkg version 9.10.3 found on system at:
  3001. 49.11 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  3002. 49.11 s [really-safe-money-autodocodec] No ghcjs found
  3003. 49.11 s [really-safe-money-autodocodec] No ghcjs-pkg found
  3004. 49.11 s [really-safe-money-autodocodec] No greencard found
  3005. 49.11 s [really-safe-money-autodocodec] Using haddock version 2.31.1 found on system at:
  3006. 49.11 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  3007. 49.11 s [really-safe-money-autodocodec] No happy found
  3008. 49.11 s [really-safe-money-autodocodec] Using haskell-suite found on system at: haskell-suite-dummy-location
  3009. 49.11 s [really-safe-money-autodocodec] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  3010. 49.11 s [really-safe-money-autodocodec] No hmake found
  3011. 49.11 s [really-safe-money-autodocodec] Using hpc version 0.69 found on system at:
  3012. 49.11 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  3013. 49.11 s [really-safe-money-autodocodec] Using hsc2hs version 0.68.10 found on system at:
  3014. 49.11 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  3015. 49.11 s [really-safe-money-autodocodec] Using hscolour version 1.25 found on system at:
  3016. 49.11 s [really-safe-money-autodocodec] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  3017. 49.11 s [really-safe-money-autodocodec] No jhc found
  3018. 49.11 s [really-safe-money-autodocodec] Using ld found on system at:
  3019. 49.11 s [really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  3020. 49.11 s [really-safe-money-autodocodec] No pkg-config found
  3021. 49.11 s [really-safe-money-autodocodec] Using runghc version 9.10.3 found on system at:
  3022. 49.11 s [really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  3023. 49.11 s [really-safe-money-autodocodec] Using strip version 2.44 found on system at:
  3024. 49.11 s [really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  3025. 49.11 s [really-safe-money-autodocodec] Using tar found on system at:
  3026. 49.11 s [really-safe-money-autodocodec] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  3027. 49.11 s [really-safe-money-autodocodec] No uhc found
  3028. 49.31 s [really-safe-money-autodocodec] Phase: buildPhase
  3029. 49.31 s [really-safe-money-autodocodec] mutation-nix: setting MUTATION_MANIFEST_DIR=/nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest
  3030. 49.38 s [really-safe-money-autodocodec] Preprocessing library for really-safe-money-autodocodec-0.0.0.0...
  3031. 49.38 s [really-safe-money-autodocodec] Building library for really-safe-money-autodocodec-0.0.0.0...
  3032. 49.58 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. 49.68 s [really-safe-money-autodocodec] mutation: instrumenting Money.Account.Codec
  3034. 49.72 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3035. 49.72 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3036. 49.72 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3037. 49.72 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3038. 49.72 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3039. 49.72 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3040. 49.72 s [really-safe-money-autodocodec] added 6 mutations
  3041. 50.36 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. 50.37 s [really-safe-money-autodocodec] mutation: instrumenting Money.AccountOf.Codec
  3043. 50.37 s [really-safe-money-autodocodec] added 0 mutations
  3044. 50.59 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. 50.60 s [really-safe-money-autodocodec] mutation: instrumenting Money.Amount.Codec
  3046. 50.60 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3047. 50.60 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3048. 50.60 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3049. 50.60 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3050. 50.60 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3051. 50.60 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3052. 50.60 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3053. 50.60 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:49:12-59
  3054. 50.60 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3055. 50.60 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3056. 50.60 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3057. 50.60 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3058. 50.60 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3059. 50.60 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3060. 50.60 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3061. 50.60 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:52:16-63
  3062. 50.60 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3063. 50.60 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3064. 50.60 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3065. 50.60 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3066. 50.60 s [really-safe-money-autodocodec] added 20 mutations
  3067. 50.75 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. 50.76 s [really-safe-money-autodocodec] mutation: instrumenting Money.AmountOf.Codec
  3069. 50.76 s [really-safe-money-autodocodec] added 0 mutations
  3070. 50.78 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. 50.79 s [really-safe-money-autodocodec] mutation: instrumenting Money.QuantisationFactor.Codec
  3072. 50.79 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3073. 50.79 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3074. 50.79 s [really-safe-money-autodocodec] added 2 mutations
  3075. 50.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. 50.84 s [really-safe-money-autodocodec] mutation: instrumenting Numeric.DecimalLiteral.Codec
  3077. 50.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3078. 50.84 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3079. 50.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3080. 50.84 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3081. 50.84 s [really-safe-money-autodocodec] added 4 mutations
  3082. 50.91 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. 51.28 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. 51.30 s [really-safe-money-autodocodec] mutation: instrumenting Money.Account.Codec
  3085. 51.36 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3086. 51.36 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  3087. 51.36 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3088. 51.36 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  3089. 51.36 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3090. 51.36 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  3091. 51.36 s [really-safe-money-autodocodec] added 6 mutations
  3092. 52.25 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.25 s [really-safe-money-autodocodec] mutation: instrumenting Money.AccountOf.Codec
  3094. 52.25 s [really-safe-money-autodocodec] added 0 mutations
  3095. 52.51 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.52 s [really-safe-money-autodocodec] mutation: instrumenting Money.Amount.Codec
  3097. 52.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3098. 52.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  3099. 52.52 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3100. 52.52 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3101. 52.52 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  3102. 52.52 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3103. 52.52 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  3104. 52.52 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:49:12-59
  3105. 52.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3106. 52.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  3107. 52.52 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3108. 52.52 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3109. 52.52 s [really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  3110. 52.52 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3111. 52.52 s [really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  3112. 52.52 s [really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:52:16-63
  3113. 52.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3114. 52.52 s [really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  3115. 52.52 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3116. 52.52 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  3117. 52.52 s [really-safe-money-autodocodec] added 20 mutations
  3118. 52.96 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. 52.96 s [really-safe-money-autodocodec] mutation: instrumenting Money.AmountOf.Codec
  3120. 52.96 s [really-safe-money-autodocodec] added 0 mutations
  3121. 53.13 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.13 s [really-safe-money-autodocodec] mutation: instrumenting Money.QuantisationFactor.Codec
  3123. 53.13 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3124. 53.13 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  3125. 53.13 s [really-safe-money-autodocodec] added 2 mutations
  3126. 53.30 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.30 s [really-safe-money-autodocodec] mutation: instrumenting Numeric.DecimalLiteral.Codec
  3128. 53.30 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3129. 53.30 s [really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  3130. 53.30 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3131. 53.30 s [really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  3132. 53.30 s [really-safe-money-autodocodec] added 4 mutations
  3133. 53.49 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. 53.89 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Account/Codec.dyn_o'
  3135. 53.89 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AccountOf/Codec.dyn_o'
  3136. 53.93 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Amount/Codec.dyn_o'
  3137. 53.93 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AmountOf/Codec.dyn_o'
  3138. 53.93 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor/Codec.dyn_o'
  3139. 53.93 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral/Codec.dyn_o'
  3140. 53.93 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money_autodocodec.dyn_o'
  3141. 54.81 s [really-safe-money-autodocodec] mutation-nix: manifest output at /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest:
  3142. 54.81 s [really-safe-money-autodocodec] total 72
  3143. 54.81 s [really-safe-money-autodocodec] drwxr-xr-x 2 nixbld nixbld 4096 May 15 07:07 .
  3144. 54.81 s [really-safe-money-autodocodec] drwxrwxr-t 239 nobody nixbld 28672 May 15 07:07 ..
  3145. 54.81 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 4508 May 15 07:07 Money.Account.Codec.json
  3146. 54.81 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2 May 15 07:07 Money.AccountOf.Codec.json
  3147. 54.81 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 16321 May 15 07:07 Money.Amount.Codec.json
  3148. 54.81 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2 May 15 07:07 Money.AmountOf.Codec.json
  3149. 54.81 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 1486 May 15 07:07 Money.QuantisationFactor.Codec.json
  3150. 54.81 s [really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2827 May 15 07:07 Numeric.DecimalLiteral.Codec.json
  3151. 54.81 s [really-safe-money-autodocodec] mutation-nix: building remaining components with plugin silenced
  3152. 54.87 s [really-safe-money-autodocodec] Preprocessing library for really-safe-money-autodocodec-0.0.0.0...
  3153. 54.87 s [really-safe-money-autodocodec] Building library for really-safe-money-autodocodec-0.0.0.0...
  3154. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Account/Codec.dyn_o'
  3155. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AccountOf/Codec.dyn_o'
  3156. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Amount/Codec.dyn_o'
  3157. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AmountOf/Codec.dyn_o'
  3158. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor/Codec.dyn_o'
  3159. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral/Codec.dyn_o'
  3160. 56.35 s [really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money_autodocodec.dyn_o'
  3161. 57.32 s [really-safe-money-autodocodec] Phase: haddockPhase
  3162. 57.33 s [really-safe-money-autodocodec] Phase: installPhase
  3163. 57.42 s [really-safe-money-autodocodec] Installing library in /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-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. 57.63 s [really-safe-money-autodocodec] Phase: fixupPhase
  3165. 57.65 s [really-safe-money-autodocodec] shrinking RPATHs of ELF executables and libraries in /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0
  3166. 57.66 s [really-safe-money-autodocodec] shrinking /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-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. 57.68 s [really-safe-money-autodocodec] checking for references to /build/ in /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0...
  3168. 57.70 s [really-safe-money-autodocodec] patching script interpreter paths in /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0
  3169. 57.71 s [really-safe-money-autodocodec] stripping (with command strip and flags -S -p) in /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0/lib /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0/bin
  3170. 57.76 s [really-safe-money-autodocodec] shrinking RPATHs of ELF executables and libraries in /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest
  3171. 57.76 s [really-safe-money-autodocodec] checking for references to /build/ in /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest...
  3172. 57.77 s [really-safe-money-autodocodec] patching script interpreter paths in /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest
  3173. 57.85 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0 /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest
  3174. 58.32 s [post-build-hook] Pushing 2 paths (196 are already present) using zstd to cache sydtest ⏳
  3175. 58.32 s [post-build-hook]
  3176. 58.66 s [post-build-hook] Pushing /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0 (1.60 MiB)
  3177. 59.01 s [post-build-hook] Pushing /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest (25.90 KiB)
  3178. 59.92 s [post-build-hook]
  3179. 59.94 s [post-build-hook] All done.
  3180. 59.95 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0 /nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest
  3181. 59.98 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  3182. 60.14 s [post-build-hook] copying 2 paths...
  3183. 60.15 s [post-build-hook] copying path '/nix/store/0yyfbiznwd4pdw3rqwcd16fapzqgsz1x-really-safe-money-autodocodec-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  3184. 60.15 s [post-build-hook] copying path '/nix/store/9kaw2zpi4766iz7mmyvmskfkkvlhpbxy-really-safe-money-autodocodec-0.0.0.0-manifest' to 'https://cache.staging.nix-ci.com'...
  3185. 60.80 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  3186. 61.03 s [post-build-hook] copying 1 paths...
  3187. 61.03 s [post-build-hook] copying path '/nix/store/0cjljgyv2785x842lv60rn1msyxsm316-really-safe-money-autodocodec-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  3188. 61.22 s Progress: 6 of 8 built
  3189. 61.26 s Building really-safe-money-gen
  3190. 61.64 s [really-safe-money-gen] Phase: setupCompilerEnvironmentPhase
  3191. 61.65 s [really-safe-money-gen] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
  3192. 62.15 s [really-safe-money-gen] Phase: unpackPhase
  3193. 62.15 s [really-safe-money-gen] unpacking source archive /nix/store/2rag889jvlvv7cp7dijira5gvbar457z-really-safe-money-gen-source-0.0.0.0/really-safe-money-gen-0.0.0.0.tar.gz
  3194. 62.16 s [really-safe-money-gen] source root is really-safe-money-gen-0.0.0.0
  3195. 62.17 s [really-safe-money-gen] setting SOURCE_DATE_EPOCH to timestamp 1778828866 of file "really-safe-money-gen-0.0.0.0/test/Spec.hs"
  3196. 62.17 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.18 s [really-safe-money-gen] Phase: patchPhase
  3198. 62.19 s [really-safe-money-gen] Phase: compileBuildDriverPhase
  3199. 62.19 s [really-safe-money-gen] setupCompileFlags: -package-db=/build/tmp.VD8H7WvYfY/setup-package.conf.d -threaded
  3200. 62.25 s [really-safe-money-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.VD8H7WvYfY/Main.o )
  3201. 62.30 s [really-safe-money-gen] [2 of 2] Linking Setup
  3202. 63.64 s [really-safe-money-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
  3203. 63.65 s [really-safe-money-gen] Phase: configurePhase
  3204. 63.65 s [really-safe-money-gen] configureFlags: --verbose --prefix=/nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-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.VD8H7WvYfY/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.66 s [really-safe-money-gen] Using Parsec parser
  3206. 63.66 s [really-safe-money-gen] Configuring really-safe-money-gen-0.0.0.0...
  3207. 64.35 s [really-safe-money-gen] Dependency QuickCheck: using QuickCheck-2.15.0.1
  3208. 64.36 s [really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
  3209. 64.36 s [really-safe-money-gen] Dependency genvalidity: using genvalidity-1.1.1.0
  3210. 64.36 s [really-safe-money-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  3211. 64.36 s [really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
  3212. 64.36 s [really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
  3213. 64.36 s [really-safe-money-gen] Dependency containers: using containers-0.7
  3214. 64.36 s [really-safe-money-gen] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  3215. 64.36 s [really-safe-money-gen] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
  3216. 64.36 s [really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
  3217. 64.36 s [really-safe-money-gen] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
  3218. 64.36 s [really-safe-money-gen] Dependency sydtest: using sydtest-0.23.0.2
  3219. 64.36 s [really-safe-money-gen] Dependency vector: using vector-0.13.2.0
  3220. 64.36 s [really-safe-money-gen] Source component graph:
  3221. 64.36 s [really-safe-money-gen] component lib
  3222. 64.36 s [really-safe-money-gen] component test:really-safe-money-test dependency lib
  3223. 64.36 s [really-safe-money-gen] Configured component graph:
  3224. 64.36 s [really-safe-money-gen] component really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3225. 64.36 s [really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  3226. 64.36 s [really-safe-money-gen] include base-4.20.2.0-64da
  3227. 64.36 s [really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  3228. 64.36 s [really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  3229. 64.36 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3230. 64.36 s [really-safe-money-gen] component really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
  3231. 64.36 s [really-safe-money-gen] include base-4.20.2.0-64da
  3232. 64.36 s [really-safe-money-gen] include containers-0.7-504a
  3233. 64.36 s [really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  3234. 64.36 s [really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  3235. 64.36 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3236. 64.36 s [really-safe-money-gen] include really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3237. 64.36 s [really-safe-money-gen] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  3238. 64.36 s [really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  3239. 64.36 s [really-safe-money-gen] Linked component graph:
  3240. 64.36 s [really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3241. 64.36 s [really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  3242. 64.36 s [really-safe-money-gen] include base-4.20.2.0-64da
  3243. 64.36 s [really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  3244. 64.36 s [really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  3245. 64.36 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3246. 64.36 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.36 s [really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
  3248. 64.36 s [really-safe-money-gen] include base-4.20.2.0-64da
  3249. 64.36 s [really-safe-money-gen] include containers-0.7-504a
  3250. 64.36 s [really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  3251. 64.36 s [really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  3252. 64.36 s [really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3253. 64.36 s [really-safe-money-gen] include really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3254. 64.36 s [really-safe-money-gen] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  3255. 64.36 s [really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  3256. 64.36 s [really-safe-money-gen] Ready component graph:
  3257. 64.36 s [really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3258. 64.36 s [really-safe-money-gen] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
  3259. 64.36 s [really-safe-money-gen] depends base-4.20.2.0-64da
  3260. 64.36 s [really-safe-money-gen] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
  3261. 64.36 s [really-safe-money-gen] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
  3262. 64.36 s [really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3263. 64.36 s [really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
  3264. 64.36 s [really-safe-money-gen] depends base-4.20.2.0-64da
  3265. 64.36 s [really-safe-money-gen] depends containers-0.7-504a
  3266. 64.36 s [really-safe-money-gen] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
  3267. 64.36 s [really-safe-money-gen] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
  3268. 64.36 s [really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
  3269. 64.36 s [really-safe-money-gen] depends really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
  3270. 64.36 s [really-safe-money-gen] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
  3271. 64.36 s [really-safe-money-gen] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
  3272. 64.36 s [really-safe-money-gen] Using Cabal-3.12.1.0 compiled by ghc-9.10
  3273. 64.36 s [really-safe-money-gen] Using compiler: ghc-9.10.3
  3274. 64.36 s [really-safe-money-gen] Using install prefix:
  3275. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0
  3276. 64.36 s [really-safe-money-gen] Executables installed in:
  3277. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0/bin
  3278. 64.36 s [really-safe-money-gen] Libraries installed in:
  3279. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-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.36 s [really-safe-money-gen] Dynamic Libraries installed in:
  3281. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
  3282. 64.36 s [really-safe-money-gen] Private executables installed in:
  3283. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-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.36 s [really-safe-money-gen] Data files installed in:
  3285. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-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.36 s [really-safe-money-gen] Documentation installed in:
  3287. 64.36 s [really-safe-money-gen] /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0
  3288. 64.36 s [really-safe-money-gen] Configuration files installed in:
  3289. 64.36 s [really-safe-money-gen] /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0/etc
  3290. 64.36 s [really-safe-money-gen] No alex found
  3291. 64.36 s [really-safe-money-gen] Using ar found on system at:
  3292. 64.36 s [really-safe-money-gen] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  3293. 64.36 s [really-safe-money-gen] No c2hs found
  3294. 64.36 s [really-safe-money-gen] No cpphs found
  3295. 64.36 s [really-safe-money-gen] No doctest found
  3296. 64.36 s [really-safe-money-gen] Using gcc version 14.3.0 given by user at:
  3297. 64.36 s [really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  3298. 64.36 s [really-safe-money-gen] Using ghc version 9.10.3 found on system at:
  3299. 64.36 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
  3300. 64.36 s [really-safe-money-gen] Using ghc-pkg version 9.10.3 found on system at:
  3301. 64.36 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
  3302. 64.36 s [really-safe-money-gen] No ghcjs found
  3303. 64.36 s [really-safe-money-gen] No ghcjs-pkg found
  3304. 64.36 s [really-safe-money-gen] No greencard found
  3305. 64.36 s [really-safe-money-gen] Using haddock version 2.31.1 found on system at:
  3306. 64.36 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
  3307. 64.36 s [really-safe-money-gen] No happy found
  3308. 64.36 s [really-safe-money-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
  3309. 64.36 s [really-safe-money-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  3310. 64.36 s [really-safe-money-gen] No hmake found
  3311. 64.36 s [really-safe-money-gen] Using hpc version 0.69 found on system at:
  3312. 64.36 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
  3313. 64.36 s [really-safe-money-gen] Using hsc2hs version 0.68.10 found on system at:
  3314. 64.36 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  3315. 64.36 s [really-safe-money-gen] Using hscolour version 1.25 found on system at:
  3316. 64.36 s [really-safe-money-gen] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
  3317. 64.36 s [really-safe-money-gen] No jhc found
  3318. 64.36 s [really-safe-money-gen] Using ld found on system at:
  3319. 64.36 s [really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
  3320. 64.36 s [really-safe-money-gen] No pkg-config found
  3321. 64.36 s [really-safe-money-gen] Using runghc version 9.10.3 found on system at:
  3322. 64.36 s [really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
  3323. 64.36 s [really-safe-money-gen] Using strip version 2.44 found on system at:
  3324. 64.36 s [really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  3325. 64.36 s [really-safe-money-gen] Using tar found on system at:
  3326. 64.36 s [really-safe-money-gen] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  3327. 64.36 s [really-safe-money-gen] No uhc found
  3328. 64.77 s [really-safe-money-gen] Phase: buildPhase
  3329. 64.85 s [really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
  3330. 64.85 s [really-safe-money-gen] Building library for really-safe-money-gen-0.0.0.0...
  3331. 64.95 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.31 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.41 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.45 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.45 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.45 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.45 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.45 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.45 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.45 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.49 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.52 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.52 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. 65.73 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.13 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.33 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. 66.48 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. 66.48 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. 66.48 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. 66.48 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. 66.48 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. 66.48 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. 66.48 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. 66.51 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.p_o )
  3355. 66.63 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. 66.63 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.10 s [really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  3358. 68.10 s [really-safe-money-gen] Building test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  3359. 68.28 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. 70.92 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.12 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.12 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.12 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.12 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.12 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.13 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.13 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.13 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.13 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.13 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.13 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.18 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. 71.52 s [really-safe-money-gen] [15 of 15] Linking dist/build/really-safe-money-test/really-safe-money-test
  3374. 72.97 s [really-safe-money-gen] Phase: checkPhase
  3375. 72.98 s [really-safe-money-gen] mutation-nix: collecting coverage for suite really-safe-money-gen
  3376. 79.57 s [really-safe-money-gen] coverage (2/1610): Numeric\.DecimalLiteralSpec.Natural.fromNatural.can parse any rendered literal (9 mutations)
  3377. 81.45 s [really-safe-money-gen] coverage (27/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 240009 % 20000 into DecimalLiteral Nothing 1200045 5 (38 mutations)
  3378. 81.84 s [really-safe-money-gen] coverage (18/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 10 % 1 into DecimalLiteral Nothing 10 0 (30 mutations)
  3379. 82.02 s [really-safe-money-gen] coverage (24/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 1 % 1 into DecimalLiteral Nothing 1 0 (30 mutations)
  3380. 82.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)
  3381. 82.10 s [really-safe-money-gen] coverage (17/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 20 4 into rational 1 % 500 (4 mutations)
  3382. 82.10 s [really-safe-money-gen] coverage (6/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 1 % 500 into DecimalLiteral Nothing 2 3 (36 mutations)
  3383. 82.16 s [really-safe-money-gen] coverage (20/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 7000 3 into rational 7 % 1 (4 mutations)
  3384. 82.19 s [really-safe-money-gen] coverage (22/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 9 % 100 into DecimalLiteral Nothing 9 2 (36 mutations)
  3385. 82.20 s [really-safe-money-gen] coverage (12/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 5 % 1 into DecimalLiteral Nothing 5 0 (30 mutations)
  3386. 82.31 s [really-safe-money-gen] coverage (25/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 7 % 1 into DecimalLiteral Nothing 7 0 (30 mutations)
  3387. 82.37 s [really-safe-money-gen] coverage (9/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 50 1 into rational 5 % 1 (4 mutations)
  3388. 82.54 s [really-safe-money-gen] coverage (11/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-4) % 5 into DecimalLiteral (Just False) 8 1 (38 mutations)
  3389. 82.62 s [really-safe-money-gen] coverage (26/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 1 0 into rational 1 % 1 (4 mutations)
  3390. 82.66 s [really-safe-money-gen] coverage (8/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 10 0 into rational 10 % 1 (4 mutations)
  3391. 82.68 s [really-safe-money-gen] coverage (7/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-6) % 1 into DecimalLiteral (Just False) 6 0 (32 mutations)
  3392. 82.75 s [really-safe-money-gen] coverage (3/1610): Numeric\.DecimalLiteralSpec.Natural.toNatural.renders to valid naturals (0 mutations)
  3393. 82.80 s [really-safe-money-gen] coverage (4/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 9 2 into rational 9 % 100 (4 mutations)
  3394. 82.81 s [really-safe-money-gen] coverage (5/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 (30 mutations)
  3395. 82.81 s [really-safe-money-gen] coverage (21/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 2 0 into rational 2 % 1 (4 mutations)
  3396. 82.90 s [really-safe-money-gen] coverage (28/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 1 3 into rational (-1) % 1000 (4 mutations)
  3397. 83.06 s [really-safe-money-gen] coverage (13/1610): Numeric\.DecimalLiteralSpec.Rational.fromRational.can parse any rendered rational (43 mutations)
  3398. 83.08 s [really-safe-money-gen] coverage (1/1610): Numeric\.DecimalLiteralSpec.Natural.fromNatural.renders to valid decimal literals (1 mutations)
  3399. 83.30 s [really-safe-money-gen] coverage (16/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 400 0 into rational 400 % 1 (4 mutations)
  3400. 83.33 s [really-safe-money-gen] coverage (15/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 600 2 into rational (-6) % 1 (4 mutations)
  3401. 83.33 s [really-safe-money-gen] coverage (19/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-3) % 1 into DecimalLiteral (Just False) 3 0 (32 mutations)
  3402. 83.40 s [really-safe-money-gen] coverage (23/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 3 0 into rational (-3) % 1 (4 mutations)
  3403. 83.62 s [really-safe-money-gen] coverage (14/1610): Numeric\.DecimalLiteralSpec.Rational.fromRational.renders to valid decimal literals (40 mutations)
  3404. 89.91 s [really-safe-money-gen] coverage (29/1610): Numeric\.DecimalLiteralSpec.Rational.toRational.renders to valid rationals (4 mutations)
  3405. 91.60 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.23 s [really-safe-money-gen] coverage (31/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 2 % 1 into DecimalLiteral Nothing 2 0 (30 mutations)
  3407. 92.37 s [really-safe-money-gen] coverage (32/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 1200045 5 into rational 240009 % 20000 (4 mutations)
  3408. 92.40 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.54 s [really-safe-money-gen] coverage (35/1610): Numeric\.DecimalLiteralSpec.Ratio.fromRatio.can parse any rendered rational (36 mutations)
  3410. 92.55 s [really-safe-money-gen] coverage (39/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.produces valid literals (12 mutations)
  3411. 92.62 s [really-safe-money-gen] coverage (37/1610): Numeric\.DecimalLiteralSpec.Ratio.toRatio.renders to valid rationals (5 mutations)
  3412. 92.65 s [really-safe-money-gen] coverage (38/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.does not change the value of the literal (15 mutations)
  3413. 92.80 s [really-safe-money-gen] coverage (42/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromString.fails to parse scientific notation (22 mutations)
  3414. 92.81 s [really-safe-money-gen] coverage (34/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 300 5 into rational (-3) % 1000 (4 mutations)
  3415. 92.83 s [really-safe-money-gen] coverage (41/1610): Numeric\.DecimalLiteralSpec.GenValid DecimalLiteral.genValid \:\: Gen DecimalLiteral.only generates valid 'DecimalLiteral's (0 mutations)
  3416. 92.87 s [really-safe-money-gen] coverage (40/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.produces values with more than the given number of digits (12 mutations)
  3417. 93.05 s [really-safe-money-gen] coverage (45/1610): Numeric\.DecimalLiteralSpec.Int.toInt.renders to valid words (14 mutations)
  3418. 93.06 s [really-safe-money-gen] coverage (47/1610): Numeric\.DecimalLiteralSpec.Int.fromInt.renders to valid decimal literals (10 mutations)
  3419. 93.17 s [really-safe-money-gen] coverage (48/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromStringM.does the same as DecimalLiteral\.fromString (12 mutations)
  3420. 93.21 s [really-safe-money-gen] coverage (44/1610): Numeric\.DecimalLiteralSpec.setSignOptional.produces valid values (0 mutations)
  3421. 93.25 s [really-safe-money-gen] coverage (43/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromString.can parse any rendered decimal literal (44 mutations)
  3422. 93.29 s [really-safe-money-gen] coverage (50/1610): Numeric\.DecimalLiteralSpec.Word.fromWord.can parse any rendered literal (9 mutations)
  3423. 93.30 s [really-safe-money-gen] coverage (51/1610): Numeric\.DecimalLiteralSpec.Word.toWord.renders to valid words (0 mutations)
  3424. 93.31 s [really-safe-money-gen] coverage (36/1610): Numeric\.DecimalLiteralSpec.Ratio.fromRatio.renders to valid decimal literals (31 mutations)
  3425. 93.32 s [really-safe-money-gen] coverage (46/1610): Numeric\.DecimalLiteralSpec.Int.fromInt.can parse any rendered literal (24 mutations)
  3426. 93.49 s [really-safe-money-gen] coverage (49/1610): Numeric\.DecimalLiteralSpec.Word.fromWord.renders to valid decimal literals (1 mutations)
  3427. 93.51 s [really-safe-money-gen] coverage (53/1610): Numeric\.DecimalLiteralSpec.examples.can parse "+2" (25 mutations)
  3428. 93.59 s [really-safe-money-gen] coverage (54/1610): Numeric\.DecimalLiteralSpec.examples.can parse "1" (22 mutations)
  3429. 93.67 s [really-safe-money-gen] coverage (55/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 300 5 (3 mutations)
  3430. 93.74 s [really-safe-money-gen] coverage (52/1610): Numeric\.DecimalLiteralSpec.toString.can render any decimal literal (2 mutations)
  3431. 94.04 s [really-safe-money-gen] coverage (56/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 50 1 (1 mutations)
  3432. 100.22 s [really-safe-money-gen] coverage (57/1610): Numeric\.DecimalLiteralSpec.examples.can parse "400" (31 mutations)
  3433. 102.21 s [really-safe-money-gen] coverage (58/1610): Numeric\.DecimalLiteralSpec.examples.can parse "5\.0" (31 mutations)
  3434. 102.67 s [really-safe-money-gen] coverage (59/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 8 1 (3 mutations)
  3435. 102.89 s [really-safe-money-gen] coverage (61/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.00300" (36 mutations)
  3436. 103.09 s [really-safe-money-gen] coverage (60/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1 3 (3 mutations)
  3437. 103.13 s [really-safe-money-gen] coverage (62/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 7000 3 (1 mutations)
  3438. 103.17 s [really-safe-money-gen] coverage (65/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1 0 (1 mutations)
  3439. 103.28 s [really-safe-money-gen] coverage (64/1610): Numeric\.DecimalLiteralSpec.examples.can parse "12\.00045" (38 mutations)
  3440. 103.28 s [really-safe-money-gen] coverage (63/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 20 4 (3 mutations)
  3441. 103.29 s [really-safe-money-gen] coverage (67/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1200045 5 (1 mutations)
  3442. 103.37 s [really-safe-money-gen] coverage (66/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral (Just True) 2 0 (1 mutations)
  3443. 103.41 s [really-safe-money-gen] coverage (68/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.001" (34 mutations)
  3444. 103.65 s [really-safe-money-gen] coverage (69/1610): Numeric\.DecimalLiteralSpec.examples.can parse "6\.00" (36 mutations)
  3445. 103.67 s [really-safe-money-gen] coverage (72/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.8" (29 mutations)
  3446. 103.73 s [really-safe-money-gen] coverage (75/1610): Numeric\.DecimalLiteralSpec.examples.can parse "7\.000" (36 mutations)
  3447. 103.76 s [really-safe-money-gen] coverage (70/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 600 2 (1 mutations)
  3448. 103.82 s [really-safe-money-gen] coverage (71/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 9 2 (3 mutations)
  3449. 103.86 s [really-safe-money-gen] coverage (78/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.0020" (36 mutations)
  3450. 103.87 s [really-safe-money-gen] coverage (73/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 400 0 (1 mutations)
  3451. 103.96 s [really-safe-money-gen] coverage (77/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral (Just False) 3 0 (1 mutations)
  3452. 103.98 s [really-safe-money-gen] coverage (76/1610): Numeric\.DecimalLiteralSpec.examples.can parse "-3" (22 mutations)
  3453. 104.05 s [really-safe-money-gen] coverage (74/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.09" (34 mutations)
  3454. 104.14 s [really-safe-money-gen] coverage (80/1610): Numeric\.DecimalLiteralSpec.Integer.fromInteger.renders to valid decimal literals (10 mutations)
  3455. 104.23 s [really-safe-money-gen] coverage (79/1610): Numeric\.DecimalLiteralSpec.Integer.toInteger.renders to valid words (0 mutations)
  3456. 104.38 s [really-safe-money-gen] coverage (82/1610): Numeric\.DecimalLiteralSpec.digits.produces valid numbers of digits (0 mutations)
  3457. 104.38 s [really-safe-money-gen] coverage (83/1610): Numeric\.DecimalLiteralSpec.setSignRequired.produces valid values (2 mutations)
  3458. 104.45 s [really-safe-money-gen] coverage (81/1610): Numeric\.DecimalLiteralSpec.Integer.fromInteger.can parse any rendered literal (10 mutations)
  3459. 105.00 s [really-safe-money-gen] coverage (84/1610): Money\.ConversionRateSpec.Rational.toRational.produces valid rationals (0 mutations)
  3460. 111.31 s [really-safe-money-gen] coverage (85/1610): Money\.ConversionRateSpec.Rational.fromRational.roundtrips with toRational (13 mutations)
  3461. 113.27 s [really-safe-money-gen] coverage (86/1610): Money\.ConversionRateSpec.Rational.fromRational.produces valid conversion rates (13 mutations)
  3462. 113.40 s [really-safe-money-gen] coverage (87/1610): Money\.ConversionRateSpec.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  3463. 113.49 s [really-safe-money-gen] coverage (88/1610): Money\.ConversionRateSpec.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  3464. 113.58 s [really-safe-money-gen] coverage (89/1610): Money\.ConversionRateSpec.Ratio.toRatio.produces valid ratios (0 mutations)
  3465. 113.70 s [really-safe-money-gen] coverage (90/1610): Money\.ConversionRateSpec.invert.produces valid rates (8 mutations)
  3466. 114.01 s [really-safe-money-gen] coverage (94/1610): Money\.ConversionRateSpec.compose.produces valid rates (8 mutations)
  3467. 114.02 s [really-safe-money-gen] coverage (92/1610): Money\.ConversionRateSpec.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  3468. 114.09 s [really-safe-money-gen] coverage (95/1610): Money\.ConversionRateSpec.GenValid ConversionRate.genValid \:\: Gen ConversionRate.only generates valid 'ConversionRate's (6 mutations)
  3469. 114.16 s [really-safe-money-gen] coverage (103/1610): Money\.AccountSpec.Eq.says negative 0 equals positive 0 (3 mutations)
  3470. 114.18 s [really-safe-money-gen] coverage (100/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is transitive for "valid Account"s (3 mutations)
  3471. 114.19 s [really-safe-money-gen] coverage (98/1610): Money\.AccountSpec.Eq.Eq Account.(/=) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"s (3 mutations)
  3472. 114.29 s [really-safe-money-gen] coverage (101/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is symmetric for "valid Account"s (3 mutations)
  3473. 114.34 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)
  3474. 114.42 s [really-safe-money-gen] coverage (102/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is reflexive for "valid Account"s (3 mutations)
  3475. 114.49 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)
  3476. 114.57 s [really-safe-money-gen] coverage (108/1610): Money\.AccountSpec.convert.converts this USD to CHF correctly (26 mutations)
  3477. 114.58 s [really-safe-money-gen] coverage (104/1610): Money\.AccountSpec.negate.produces valid amounts (1 mutations)
  3478. 114.64 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)
  3479. 114.66 s [really-safe-money-gen] coverage (109/1610): Money\.AccountSpec.distribute.correctly distributes 5 into 3 (20 mutations)
  3480. 115.20 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. 115.24 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)
  3482. 115.35 s [really-safe-money-gen] coverage (118/1610): Money\.AccountSpec.distribute.correctly distributes 10 into 4 (20 mutations)
  3483. 115.40 s [really-safe-money-gen] coverage (105/1610): Money\.AccountSpec.format.produces valid strings (6 mutations)
  3484. 115.45 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)
  3485. 116.14 s [really-safe-money-gen] coverage (107/1610): Money\.AccountSpec.convert.produces valid amounts (27 mutations)
  3486. 122.33 s [really-safe-money-gen] coverage (117/1610): Money\.AccountSpec.distribute.produces results that sum up to the greater whole (66 mutations)
  3487. 123.30 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. 123.46 s [really-safe-money-gen] coverage (121/1610): Money\.AccountSpec.abs.produces valid amounts (1 mutations)
  3489. 123.77 s [really-safe-money-gen] coverage (124/1610): Money\.AccountSpec.fromRational.produces valid rational (27 mutations)
  3490. 123.87 s [really-safe-money-gen] coverage (128/1610): Money\.AccountSpec.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3491. 123.98 s [really-safe-money-gen] coverage (134/1610): Money\.AccountSpec.Ord.says -6 is greater than -7 (2 mutations)
  3492. 124.17 s [really-safe-money-gen] coverage (132/1610): Money\.AccountSpec.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3493. 124.19 s [really-safe-money-gen] coverage (133/1610): Money\.AccountSpec.toDouble.produces an infinite or NaN Double with quantisation factor 0 (3 mutations)
  3494. 124.21 s [really-safe-money-gen] coverage (131/1610): Money\.AccountSpec.rate.computes this USD to CHF rate correctly (14 mutations)
  3495. 124.26 s [really-safe-money-gen] coverage (136/1610): Money\.AccountSpec.Ord.says -3 is smaller than 2 (2 mutations)
  3496. 124.30 s [really-safe-money-gen] coverage (135/1610): Money\.AccountSpec.Ord.says 4 is smaller than 5 (2 mutations)
  3497. 124.63 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)
  3498. 124.63 s [really-safe-money-gen] coverage (139/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3499. 124.71 s [really-safe-money-gen] coverage (130/1610): Money\.AccountSpec.rate.produces valid conversion rates (15 mutations)
  3500. 124.78 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)
  3501. 124.80 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)
  3502. 124.82 s [really-safe-money-gen] coverage (141/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is antisymmetric for "valid Account"'s (3 mutations)
  3503. 124.86 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)
  3504. 124.93 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)
  3505. 125.03 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)
  3506. 125.10 s [really-safe-money-gen] coverage (143/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3507. 125.17 s [really-safe-money-gen] coverage (145/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"'s (3 mutations)
  3508. 125.18 s [really-safe-money-gen] coverage (110/1610): Money\.AccountSpec.distribute.correctly distributes 3 into 3 (18 mutations)
  3509. 125.28 s [really-safe-money-gen] coverage (146/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3510. 125.45 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)
  3511. 125.96 s [really-safe-money-gen] coverage (149/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is reflexive for "valid Account"'s (3 mutations)
  3512. 132.13 s [really-safe-money-gen] coverage (148/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"'s (3 mutations)
  3513. 133.22 s [really-safe-money-gen] coverage (152/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
  3514. 133.26 s [really-safe-money-gen] coverage (142/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is reflexive for "valid Account"'s (3 mutations)
  3515. 133.42 s [really-safe-money-gen] coverage (158/1610): Money\.AccountSpec.sum.correctly sums [1,2,3] to 6 (12 mutations)
  3516. 133.57 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)
  3517. 133.74 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)
  3518. 133.98 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)
  3519. 134.01 s [really-safe-money-gen] coverage (160/1610): Money\.AccountSpec.toMinimalQuantisations.produces valid accounts (3 mutations)
  3520. 134.12 s [really-safe-money-gen] coverage (162/1610): Money\.AccountSpec.add.fails for minBound + (-1) (8 mutations)
  3521. 134.24 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)
  3522. 134.33 s [really-safe-money-gen] coverage (166/1610): Money\.AccountSpec.add.fails for maxBound + 1 (8 mutations)
  3523. 134.42 s [really-safe-money-gen] coverage (163/1610): Money\.AccountSpec.add.fails for minBound + minBound (8 mutations)
  3524. 134.43 s [really-safe-money-gen] coverage (167/1610): Money\.AccountSpec.add.fails for maxBound + maxBound (8 mutations)
  3525. 134.57 s [really-safe-money-gen] coverage (154/1610): Money\.AccountSpec.fractionRatio.produces valid amounts (22 mutations)
  3526. 134.76 s [really-safe-money-gen] coverage (161/1610): Money\.AccountSpec.add.is commutative (27 mutations)
  3527. 134.77 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)
  3528. 134.84 s [really-safe-money-gen] coverage (170/1610): Money\.AccountSpec.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3529. 134.87 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)
  3530. 134.91 s [really-safe-money-gen] coverage (169/1610): Money\.AccountSpec.add.has a left-identity\: zero (28 mutations)
  3531. 135.17 s [really-safe-money-gen] coverage (122/1610): Money\.AccountSpec.fromAmount.produces valid accounts (1 mutations)
  3532. 135.22 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)
  3533. 135.32 s [really-safe-money-gen] coverage (120/1610): Money\.AccountSpec.distribute.produces valid amounts (36 mutations)
  3534. 135.45 s [really-safe-money-gen] coverage (159/1610): Money\.AccountSpec.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3535. 135.61 s [really-safe-money-gen] coverage (168/1610): Money\.AccountSpec.add.is associative when both succeed (27 mutations)
  3536. 135.79 s [really-safe-money-gen] coverage (155/1610): Money\.AccountSpec.sum.produces valid amounts (28 mutations)
  3537. 136.12 s [really-safe-money-gen] coverage (123/1610): Money\.AccountSpec.fromRational.roundtrips with toRational (31 mutations)
  3538. 141.71 s [really-safe-money-gen] coverage (126/1610): Money\.AccountSpec.fromRatio.roundtrips with toRatio (22 mutations)
  3539. 142.85 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)
  3540. 143.14 s [really-safe-money-gen] coverage (127/1610): Money\.AccountSpec.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3541. 143.25 s [really-safe-money-gen] coverage (153/1610): Money\.AccountSpec.toRatio.produces valid Ratios when the quantisation factor is nonzero (1 mutations)
  3542. 143.43 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)
  3543. 143.76 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)
  3544. 143.83 s [really-safe-money-gen] coverage (150/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is antisymmetric for "valid Account"'s (3 mutations)
  3545. 143.84 s [really-safe-money-gen] coverage (164/1610): Money\.AccountSpec.add.produces valid amounts (27 mutations)
  3546. 143.96 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)
  3547. 144.02 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)
  3548. 144.11 s [really-safe-money-gen] coverage (165/1610): Money\.AccountSpec.add.has a right-identity\: zero (28 mutations)
  3549. 144.14 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)
  3550. 144.40 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)
  3551. 144.43 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)
  3552. 144.50 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)
  3553. 144.50 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)
  3554. 144.58 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)
  3555. 144.97 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)
  3556. 145.02 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)
  3557. 145.10 s [really-safe-money-gen] coverage (191/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.fails on this amount that is too precise (17 mutations)
  3558. 145.44 s [really-safe-money-gen] coverage (193/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.fails on this amount that is too precise:1 (17 mutations)
  3559. 145.82 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)
  3560. 145.87 s [really-safe-money-gen] coverage (192/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.produces valid factors (30 mutations)
  3561. 145.87 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)
  3562. 151.26 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)
  3563. 152.12 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)
  3564. 152.80 s [really-safe-money-gen] coverage (199/1610): Money\.AccountSpec.fromDouble.roundtrips with toDouble back to double (40 mutations)
  3565. 152.87 s [really-safe-money-gen] coverage (204/1610): Money\.AccountSpec.multiply.fails for 3 * minBound (8 mutations)
  3566. 152.90 s [really-safe-money-gen] coverage (198/1610): Money\.AccountSpec.fromDouble.produces valid rational (38 mutations)
  3567. 152.95 s [really-safe-money-gen] coverage (202/1610): Money\.AccountSpec.subtract.fails for minBound - maxBound (8 mutations)
  3568. 153.04 s [really-safe-money-gen] coverage (201/1610): Money\.AccountSpec.subtract.fails for minBound - 1 (8 mutations)
  3569. 153.05 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)
  3570. 153.08 s [really-safe-money-gen] coverage (203/1610): Money\.AccountSpec.subtract.fails for maxBound - minBound (8 mutations)
  3571. 153.19 s [really-safe-money-gen] coverage (205/1610): Money\.AccountSpec.multiply.is absorbed by 0 (20 mutations)
  3572. 153.21 s [really-safe-money-gen] coverage (200/1610): Money\.AccountSpec.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3573. 153.46 s [really-safe-money-gen] coverage (206/1610): Money\.AccountSpec.multiply.produces valid amounts (20 mutations)
  3574. 153.52 s [really-safe-money-gen] coverage (207/1610): Money\.AccountSpec.multiply.succeeds for 3 * 6 (19 mutations)
  3575. 153.60 s [really-safe-money-gen] coverage (211/1610): Money\.AccountSpec.multiply.fails for 2 * maxbound (8 mutations)
  3576. 153.66 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)
  3577. 153.86 s [really-safe-money-gen] coverage (208/1610): Money\.AccountSpec.multiply.has an identity\: 1 (20 mutations)
  3578. 154.07 s [really-safe-money-gen] coverage (157/1610): Money\.AccountSpec.sum.fails to sum above maxBound (10 mutations)
  3579. 154.11 s [really-safe-money-gen] coverage (125/1610): Money\.AccountSpec.fromRatio.produces valid rational (20 mutations)
  3580. 154.46 s [really-safe-money-gen] coverage (210/1610): Money\.AccountSpec.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3581. 154.54 s [really-safe-money-gen] coverage (209/1610): Money\.AccountSpec.multiply.is distributive with add when both succeed (44 mutations)
  3582. 154.65 s [really-safe-money-gen] coverage (212/1610): Money\.AccountSpec.GenValid Account.genValid \:\: Gen Account.only generates valid 'Account's (1 mutations)
  3583. 155.45 s [really-safe-money-gen] coverage (214/1610): Money\.AccountSpec.fraction.produces valid amounts (39 mutations)
  3584. 155.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)
  3585. 155.85 s [really-safe-money-gen] coverage (215/1610): Money\.AccountSpec.fraction.Produces a result that can be multiplied back (39 mutations)
  3586. 160.54 s [really-safe-money-gen] coverage (219/1610): Money\.AccountSpec.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3587. 161.80 s [really-safe-money-gen] coverage (221/1610): Money\.MultiAmountSpec.fromAmount.produces valid amounts (15 mutations)
  3588. 161.87 s [really-safe-money-gen] coverage (223/1610): Money\.MultiAmountSpec.zero.is valid (2 mutations)
  3589. 161.99 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)
  3590. 162.11 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. 162.25 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)
  3592. 162.35 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)
  3593. 162.37 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)
  3594. 162.37 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. 162.37 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)
  3596. 162.64 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)
  3597. 162.69 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)
  3598. 162.96 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. 163.01 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)
  3600. 163.13 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. 163.24 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)
  3602. 163.37 s [really-safe-money-gen] coverage (230/1610): Money\.MultiAmountSpec.sum.produces valid amounts (27 mutations)
  3603. 163.55 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)
  3604. 163.89 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)
  3605. 164.05 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)
  3606. 164.09 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. 165.03 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)
  3608. 165.18 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)
  3609. 165.50 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)
  3610. 170.34 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)
  3611. 170.98 s [really-safe-money-gen] coverage (91/1610): Money\.ConversionRateSpec.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  3612. 171.33 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)
  3613. 171.53 s [really-safe-money-gen] coverage (247/1610): Money\.MultiAmountSpec.convertAll.produces the right result in this example (15 mutations)
  3614. 171.75 s [really-safe-money-gen] coverage (93/1610): Money\.ConversionRateSpec.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  3615. 171.92 s [really-safe-money-gen] coverage (249/1610): Money\.MultiAmountSpec.convertAll.does the same as 'convert' when there is only one amount (32 mutations)
  3616. 171.93 s [really-safe-money-gen] coverage (213/1610): Money\.AccountSpec.fraction.Correctly fractions 101 with 1 % 100 (32 mutations)
  3617. 171.95 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)
  3618. 172.02 s [really-safe-money-gen] coverage (220/1610): Money\.AccountSpec.toRational.produces an invalid Rational with quantisation factor 0 (4 mutations)
  3619. 172.03 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)
  3620. 172.10 s [really-safe-money-gen] coverage (216/1610): Money\.AccountSpec.fraction.Correctly fractions 100 with 1 % 100 (32 mutations)
  3621. 172.12 s [really-safe-money-gen] coverage (248/1610): Money\.MultiAmountSpec.convertAll.produces valid results when converting two currencies to one (20 mutations)
  3622. 172.56 s [really-safe-money-gen] coverage (258/1610): Money\.MultiAmountSpec.subtract.produces valid amounts (28 mutations)
  3623. 172.62 s [really-safe-money-gen] coverage (256/1610): Money\.MultiAmountSpec.subtractAmount.produces valid amounts (29 mutations)
  3624. 172.90 s [really-safe-money-gen] coverage (251/1610): Money\.MultiAmountSpec.add.has a right-identity\: zero (2 mutations)
  3625. 172.96 s [really-safe-money-gen] coverage (259/1610): Money\.MultiAmountSpec.subtract.has a right-identity\: zero (2 mutations)
  3626. 173.02 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)
  3627. 173.07 s [really-safe-money-gen] coverage (254/1610): Money\.MultiAmountSpec.add.is commutative (16 mutations)
  3628. 173.38 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)
  3629. 173.49 s [really-safe-money-gen] coverage (260/1610): Money\.MultiAmountSpec.lookupAmount.produces valid amounts (2 mutations)
  3630. 173.71 s [really-safe-money-gen] coverage (263/1610): Money\.AccountOfSpec.USD.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3631. 173.78 s [really-safe-money-gen] coverage (261/1610): Money\.MultiAmountSpec.lookupAmount.can find an added amount (5 mutations)
  3632. 174.28 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)
  3633. 174.57 s [really-safe-money-gen] coverage (253/1610): Money\.MultiAmountSpec.add.is associative when both succeed (16 mutations)
  3634. 174.61 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)
  3635. 175.22 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)
  3636. 179.30 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)
  3637. 179.94 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)
  3638. 180.27 s [really-safe-money-gen] coverage (270/1610): Money\.AccountOfSpec.USD.add.has a right-identity\: zero (28 mutations)
  3639. 180.48 s [really-safe-money-gen] coverage (271/1610): Money\.AccountOfSpec.USD.add.is associative when both succeed (27 mutations)
  3640. 180.66 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)
  3641. 180.73 s [really-safe-money-gen] coverage (277/1610): Money\.AccountOfSpec.USD.toMinimalQuantisations.produces valid accounts (3 mutations)
  3642. 180.86 s [really-safe-money-gen] coverage (262/1610): Money\.AccountOfSpec.USD.sum.produces valid amounts (28 mutations)
  3643. 180.87 s [really-safe-money-gen] coverage (280/1610): Money\.AccountOfSpec.USD.negate.produces valid amounts (1 mutations)
  3644. 180.96 s [really-safe-money-gen] coverage (279/1610): Money\.AccountOfSpec.USD.fromAmount.produces valid AccountOfs (1 mutations)
  3645. 180.99 s [really-safe-money-gen] coverage (278/1610): Money\.AccountOfSpec.USD.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3646. 181.10 s [really-safe-money-gen] coverage (252/1610): Money\.MultiAmountSpec.add.has a left-identity\: zero (4 mutations)
  3647. 181.24 s [really-safe-money-gen] coverage (281/1610): Money\.AccountOfSpec.USD.USD.convert.produces valid amounts (27 mutations)
  3648. 181.52 s [really-safe-money-gen] coverage (282/1610): Money\.AccountOfSpec.USD.USD.rate.produces valid amounts (15 mutations)
  3649. 181.57 s [really-safe-money-gen] coverage (250/1610): Money\.MultiAmountSpec.add.produces valid amounts (27 mutations)
  3650. 181.75 s [really-safe-money-gen] coverage (284/1610): Money\.AccountOfSpec.USD.BTC.rate.produces valid amounts (15 mutations)
  3651. 181.76 s [really-safe-money-gen] coverage (285/1610): Money\.AccountOfSpec.USD.BTC.convert.produces valid amounts (27 mutations)
  3652. 181.83 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)
  3653. 182.08 s [really-safe-money-gen] coverage (286/1610): Money\.AccountOfSpec.USD.INR.rate.produces valid amounts (15 mutations)
  3654. 182.24 s [really-safe-money-gen] coverage (287/1610): Money\.AccountOfSpec.USD.INR.convert.produces valid amounts (27 mutations)
  3655. 182.40 s [really-safe-money-gen] coverage (288/1610): Money\.AccountOfSpec.USD.ADA.rate.produces valid amounts (15 mutations)
  3656. 182.83 s [really-safe-money-gen] coverage (290/1610): Money\.AccountOfSpec.USD.CHF.convert.produces valid amounts (27 mutations)
  3657. 182.89 s [really-safe-money-gen] coverage (255/1610): Money\.MultiAmountSpec.addAmount.produces valid amounts (24 mutations)
  3658. 183.10 s [really-safe-money-gen] coverage (291/1610): Money\.AccountOfSpec.USD.CHF.rate.produces valid amounts (15 mutations)
  3659. 183.33 s [really-safe-money-gen] coverage (292/1610): Money\.AccountOfSpec.USD.abs.produces valid amounts (1 mutations)
  3660. 183.48 s [really-safe-money-gen] coverage (289/1610): Money\.AccountOfSpec.USD.ADA.convert.produces valid amounts (27 mutations)
  3661. 184.20 s [really-safe-money-gen] coverage (293/1610): Money\.AccountOfSpec.USD.fraction.produces valid amounts (39 mutations)
  3662. 188.75 s [really-safe-money-gen] coverage (294/1610): Money\.AccountOfSpec.USD.fraction.Produces a result that can be multiplied back (38 mutations)
  3663. 189.43 s [really-safe-money-gen] coverage (272/1610): Money\.AccountOfSpec.USD.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3664. 189.87 s [really-safe-money-gen] coverage (295/1610): Money\.AccountOfSpec.USD.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3665. 189.92 s [really-safe-money-gen] coverage (274/1610): Money\.AccountOfSpec.USD.add.is commutative (27 mutations)
  3666. 190.12 s [really-safe-money-gen] coverage (276/1610): Money\.AccountOfSpec.USD.fromAmountOf.produces valid AccountOfs (1 mutations)
  3667. 190.35 s [really-safe-money-gen] coverage (275/1610): Money\.AccountOfSpec.USD.add.has a left-identity\: zero (28 mutations)
  3668. 190.47 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)
  3669. 190.57 s [really-safe-money-gen] coverage (299/1610): Money\.AccountOfSpec.USD.fromDouble.roundtrips with toDouble (40 mutations)
  3670. 190.70 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)
  3671. 190.71 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)
  3672. 190.84 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)
  3673. 191.16 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)
  3674. 191.24 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)
  3675. 191.39 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)
  3676. 191.55 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)
  3677. 191.66 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)
  3678. 191.66 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)
  3679. 192.04 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)
  3680. 192.16 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)
  3681. 192.32 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)
  3682. 192.72 s [really-safe-money-gen] coverage (316/1610): Money\.AccountOfSpec.USD.distribute.produces results that sum up to the greater whole (64 mutations)
  3683. 192.80 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)
  3684. 193.10 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)
  3685. 193.12 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)
  3686. 193.50 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)
  3687. 194.10 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)
  3688. 198.51 s [really-safe-money-gen] coverage (325/1610): Money\.AccountOfSpec.USD.format.produces valid strings (6 mutations)
  3689. 199.08 s [really-safe-money-gen] coverage (327/1610): Money\.AccountOfSpec.USD.fromRational.produces valid rational (27 mutations)
  3690. 199.48 s [really-safe-money-gen] coverage (326/1610): Money\.AccountOfSpec.USD.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3691. 199.57 s [really-safe-money-gen] coverage (330/1610): Money\.AccountOfSpec.USD.multiply.has an identity\: 1 (20 mutations)
  3692. 199.58 s [really-safe-money-gen] coverage (329/1610): Money\.AccountOfSpec.USD.multiply.is absorbed by 0 (20 mutations)
  3693. 199.94 s [really-safe-money-gen] coverage (331/1610): Money\.AccountOfSpec.USD.multiply.produces valid amounts (20 mutations)
  3694. 199.96 s [really-safe-money-gen] coverage (332/1610): Money\.AccountOfSpec.USD.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3695. 200.03 s [really-safe-money-gen] coverage (333/1610): Money\.AccountOfSpec.USD.multiply.is distributive with add when both succeed (44 mutations)
  3696. 200.07 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)
  3697. 200.22 s [really-safe-money-gen] coverage (324/1610): Money\.AccountOfSpec.USD.distribute.produces valid amounts (34 mutations)
  3698. 200.33 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)
  3699. 200.63 s [really-safe-money-gen] coverage (298/1610): Money\.AccountOfSpec.USD.fromDouble.produces valid rational (38 mutations)
  3700. 200.75 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)
  3701. 200.77 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)
  3702. 200.89 s [really-safe-money-gen] coverage (273/1610): Money\.AccountOfSpec.USD.add.produces valid amounts (27 mutations)
  3703. 201.05 s [really-safe-money-gen] coverage (296/1610): Money\.AccountOfSpec.USD.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3704. 201.32 s [really-safe-money-gen] coverage (328/1610): Money\.AccountOfSpec.USD.fromRational.roundtrips with toRational (31 mutations)
  3705. 201.55 s [really-safe-money-gen] coverage (334/1610): Money\.AccountOfSpec.USD.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3706. 201.71 s [really-safe-money-gen] coverage (339/1610): Money\.AccountOfSpec.INR.abs.produces valid amounts (1 mutations)
  3707. 201.89 s [really-safe-money-gen] coverage (342/1610): Money\.AccountOfSpec.INR.add.has a left-identity\: zero (28 mutations)
  3708. 202.24 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)
  3709. 202.38 s [really-safe-money-gen] coverage (337/1610): Money\.AccountOfSpec.INR.USD.rate.produces valid amounts (15 mutations)
  3710. 202.73 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)
  3711. 202.78 s [really-safe-money-gen] coverage (341/1610): Money\.AccountOfSpec.INR.add.is associative when both succeed (27 mutations)
  3712. 203.07 s [really-safe-money-gen] coverage (343/1610): Money\.AccountOfSpec.INR.add.is commutative (27 mutations)
  3713. 203.87 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)
  3714. 204.28 s [really-safe-money-gen] coverage (183/1610): Money\.AccountSpec.DecimalLiteral.Account\.toDecimalLiteral.roundtrips with Account\.fromDecimalLiteral (87 mutations)
  3715. 204.72 s [really-safe-money-gen] coverage (184/1610): Money\.AccountSpec.DecimalLiteral.Account\.toDecimalLiteral.produces valid decimal literals (56 mutations)
  3716. 208.42 s [really-safe-money-gen] coverage (344/1610): Money\.AccountOfSpec.INR.add.has a right-identity\: zero (28 mutations)
  3717. 209.27 s [really-safe-money-gen] coverage (346/1610): Money\.AccountOfSpec.INR.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3718. 209.56 s [really-safe-money-gen] coverage (347/1610): Money\.AccountOfSpec.INR.fraction.produces valid amounts (39 mutations)
  3719. 209.74 s [really-safe-money-gen] coverage (348/1610): Money\.AccountOfSpec.INR.fraction.Produces a result that can be multiplied back (38 mutations)
  3720. 209.77 s [really-safe-money-gen] coverage (349/1610): Money\.AccountOfSpec.INR.distribute.produces results that sum up to the greater whole (64 mutations)
  3721. 210.05 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)
  3722. 210.24 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)
  3723. 210.33 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)
  3724. 210.52 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)
  3725. 210.62 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)
  3726. 210.80 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. 210.80 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. 210.90 s [really-safe-money-gen] coverage (358/1610): Money\.AccountOfSpec.INR.fromAmountOf.produces valid AccountOfs (1 mutations)
  3729. 210.90 s [really-safe-money-gen] coverage (357/1610): Money\.AccountOfSpec.INR.distribute.produces valid amounts (34 mutations)
  3730. 211.40 s [really-safe-money-gen] coverage (359/1610): Money\.AccountOfSpec.INR.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3731. 211.77 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)
  3732. 212.16 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)
  3733. 212.17 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)
  3734. 212.44 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)
  3735. 212.44 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)
  3736. 212.99 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)
  3737. 213.22 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)
  3738. 213.36 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)
  3739. 213.49 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)
  3740. 213.83 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)
  3741. 214.62 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)
  3742. 215.05 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)
  3743. 215.45 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)
  3744. 219.18 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)
  3745. 220.06 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)
  3746. 220.24 s [really-safe-money-gen] coverage (377/1610): Money\.AccountOfSpec.INR.CHF.rate.produces valid amounts (15 mutations)
  3747. 220.38 s [really-safe-money-gen] coverage (379/1610): Money\.AccountOfSpec.INR.multiply.is distributive with add when both succeed (44 mutations)
  3748. 220.55 s [really-safe-money-gen] coverage (378/1610): Money\.AccountOfSpec.INR.CHF.convert.produces valid amounts (27 mutations)
  3749. 220.70 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)
  3750. 220.73 s [really-safe-money-gen] coverage (336/1610): Money\.AccountOfSpec.INR.USD.convert.produces valid amounts (27 mutations)
  3751. 220.87 s [really-safe-money-gen] coverage (340/1610): Money\.AccountOfSpec.INR.add.produces valid amounts (27 mutations)
  3752. 220.98 s [really-safe-money-gen] coverage (345/1610): Money\.AccountOfSpec.INR.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3753. 221.34 s [really-safe-money-gen] coverage (382/1610): Money\.AccountOfSpec.INR.multiply.produces valid amounts (20 mutations)
  3754. 221.37 s [really-safe-money-gen] coverage (360/1610): Money\.AccountOfSpec.INR.sum.produces valid amounts (28 mutations)
  3755. 221.43 s [really-safe-money-gen] coverage (383/1610): Money\.AccountOfSpec.INR.multiply.has an identity\: 1 (20 mutations)
  3756. 221.67 s [really-safe-money-gen] coverage (335/1610): Money\.AccountOfSpec.INR.fromAmount.produces valid AccountOfs (1 mutations)
  3757. 221.69 s [really-safe-money-gen] coverage (387/1610): Money\.AccountOfSpec.INR.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3758. 221.74 s [really-safe-money-gen] coverage (388/1610): Money\.AccountOfSpec.INR.fromRational.produces valid rational (27 mutations)
  3759. 222.16 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)
  3760. 222.54 s [really-safe-money-gen] coverage (389/1610): Money\.AccountOfSpec.INR.fromRational.roundtrips with toRational (31 mutations)
  3761. 222.73 s [really-safe-money-gen] coverage (390/1610): Money\.AccountOfSpec.INR.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3762. 222.84 s [really-safe-money-gen] coverage (381/1610): Money\.AccountOfSpec.INR.multiply.is absorbed by 0 (20 mutations)
  3763. 223.11 s [really-safe-money-gen] coverage (392/1610): Money\.AccountOfSpec.INR.BTC.convert.produces valid amounts (27 mutations)
  3764. 223.69 s [really-safe-money-gen] coverage (394/1610): Money\.AccountOfSpec.INR.fromDouble.roundtrips with toDouble (40 mutations)
  3765. 223.74 s [really-safe-money-gen] coverage (396/1610): Money\.AccountOfSpec.INR.ADA.convert.produces valid amounts (27 mutations)
  3766. 224.05 s [really-safe-money-gen] coverage (398/1610): Money\.AccountOfSpec.INR.format.produces valid strings (6 mutations)
  3767. 224.09 s [really-safe-money-gen] coverage (397/1610): Money\.AccountOfSpec.INR.ADA.rate.produces valid amounts (15 mutations)
  3768. 224.31 s [really-safe-money-gen] coverage (406/1610): Money\.AccountOfSpec.INR.INR.convert.produces valid amounts (27 mutations)
  3769. 225.12 s [really-safe-money-gen] coverage (380/1610): Money\.AccountOfSpec.INR.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3770. 225.66 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)
  3771. 225.84 s [really-safe-money-gen] coverage (410/1610): Money\.AccountOfSpec.CHF.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3772. 229.84 s [really-safe-money-gen] coverage (386/1610): Money\.AccountOfSpec.INR.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3773. 230.57 s [really-safe-money-gen] coverage (384/1610): Money\.AccountOfSpec.INR.negate.produces valid amounts (1 mutations)
  3774. 230.61 s [really-safe-money-gen] coverage (395/1610): Money\.AccountOfSpec.INR.fromDouble.produces valid rational (38 mutations)
  3775. 230.70 s [really-safe-money-gen] coverage (411/1610): Money\.AccountOfSpec.CHF.multiply.produces valid amounts (20 mutations)
  3776. 231.13 s [really-safe-money-gen] coverage (412/1610): Money\.AccountOfSpec.CHF.multiply.is absorbed by 0 (20 mutations)
  3777. 231.31 s [really-safe-money-gen] coverage (413/1610): Money\.AccountOfSpec.CHF.multiply.is distributive with add when both succeed (44 mutations)
  3778. 231.33 s [really-safe-money-gen] coverage (415/1610): Money\.AccountOfSpec.CHF.multiply.has an identity\: 1 (20 mutations)
  3779. 231.41 s [really-safe-money-gen] coverage (416/1610): Money\.AccountOfSpec.CHF.distribute.produces valid amounts (34 mutations)
  3780. 231.67 s [really-safe-money-gen] coverage (414/1610): Money\.AccountOfSpec.CHF.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3781. 231.96 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)
  3782. 232.05 s [really-safe-money-gen] coverage (417/1610): Money\.AccountOfSpec.CHF.distribute.produces results that sum up to the greater whole (64 mutations)
  3783. 232.13 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)
  3784. 232.23 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)
  3785. 232.34 s [really-safe-money-gen] coverage (391/1610): Money\.AccountOfSpec.INR.BTC.rate.produces valid amounts (15 mutations)
  3786. 232.41 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)
  3787. 232.71 s [really-safe-money-gen] coverage (399/1610): Money\.AccountOfSpec.INR.toMinimalQuantisations.produces valid accounts (3 mutations)
  3788. 233.09 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)
  3789. 233.18 s [really-safe-money-gen] coverage (393/1610): Money\.AccountOfSpec.INR.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3790. 233.54 s [really-safe-money-gen] coverage (408/1610): Money\.AccountOfSpec.CHF.fromAmount.produces valid AccountOfs (1 mutations)
  3791. 233.58 s [really-safe-money-gen] coverage (409/1610): Money\.AccountOfSpec.CHF.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3792. 234.24 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)
  3793. 234.30 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)
  3794. 234.54 s [really-safe-money-gen] coverage (407/1610): Money\.AccountOfSpec.INR.INR.rate.produces valid amounts (15 mutations)
  3795. 234.57 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)
  3796. 234.76 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)
  3797. 235.49 s [really-safe-money-gen] coverage (425/1610): Money\.AccountOfSpec.CHF.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3798. 236.13 s [really-safe-money-gen] coverage (426/1610): Money\.AccountOfSpec.CHF.sum.produces valid amounts (28 mutations)
  3799. 236.24 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)
  3800. 239.88 s [really-safe-money-gen] coverage (428/1610): Money\.AccountOfSpec.CHF.abs.produces valid amounts (1 mutations)
  3801. 240.68 s [really-safe-money-gen] coverage (430/1610): Money\.AccountOfSpec.CHF.USD.convert.produces valid amounts (27 mutations)
  3802. 240.68 s [really-safe-money-gen] coverage (429/1610): Money\.AccountOfSpec.CHF.USD.rate.produces valid amounts (15 mutations)
  3803. 240.86 s [really-safe-money-gen] coverage (431/1610): Money\.AccountOfSpec.CHF.BTC.convert.produces valid amounts (27 mutations)
  3804. 241.26 s [really-safe-money-gen] coverage (432/1610): Money\.AccountOfSpec.CHF.BTC.rate.produces valid amounts (15 mutations)
  3805. 241.47 s [really-safe-money-gen] coverage (434/1610): Money\.AccountOfSpec.CHF.fraction.Produces a result that can be multiplied back (38 mutations)
  3806. 241.67 s [really-safe-money-gen] coverage (433/1610): Money\.AccountOfSpec.CHF.toMinimalQuantisations.produces valid accounts (3 mutations)
  3807. 241.76 s [really-safe-money-gen] coverage (435/1610): Money\.AccountOfSpec.CHF.fraction.produces valid amounts (39 mutations)
  3808. 241.98 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)
  3809. 242.02 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)
  3810. 242.33 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)
  3811. 242.34 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)
  3812. 242.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)
  3813. 242.50 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)
  3814. 242.69 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)
  3815. 242.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)
  3816. 243.02 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)
  3817. 243.37 s [really-safe-money-gen] coverage (443/1610): Money\.AccountOfSpec.CHF.fromAmountOf.produces valid AccountOfs (1 mutations)
  3818. 243.65 s [really-safe-money-gen] coverage (447/1610): Money\.AccountOfSpec.CHF.fromRational.produces valid rational (27 mutations)
  3819. 243.70 s [really-safe-money-gen] coverage (448/1610): Money\.AccountOfSpec.CHF.fromRational.roundtrips with toRational (31 mutations)
  3820. 244.40 s [really-safe-money-gen] coverage (451/1610): Money\.AccountOfSpec.CHF.ADA.convert.produces valid amounts (27 mutations)
  3821. 244.48 s [really-safe-money-gen] coverage (449/1610): Money\.AccountOfSpec.CHF.fromDouble.produces valid rational (38 mutations)
  3822. 244.61 s [really-safe-money-gen] coverage (452/1610): Money\.AccountOfSpec.CHF.ADA.rate.produces valid amounts (15 mutations)
  3823. 244.70 s [really-safe-money-gen] coverage (446/1610): Money\.AccountOfSpec.CHF.format.produces valid strings (6 mutations)
  3824. 244.76 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)
  3825. 245.53 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)
  3826. 246.06 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)
  3827. 246.07 s [really-safe-money-gen] coverage (445/1610): Money\.AccountOfSpec.CHF.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3828. 249.37 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)
  3829. 250.19 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)
  3830. 250.29 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)
  3831. 250.53 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)
  3832. 250.72 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)
  3833. 251.02 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)
  3834. 251.30 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)
  3835. 251.32 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)
  3836. 251.46 s [really-safe-money-gen] coverage (444/1610): Money\.AccountOfSpec.CHF.negate.produces valid amounts (1 mutations)
  3837. 251.47 s [really-safe-money-gen] coverage (442/1610): Money\.AccountOfSpec.CHF.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3838. 251.84 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)
  3839. 251.94 s [really-safe-money-gen] coverage (450/1610): Money\.AccountOfSpec.CHF.fromDouble.roundtrips with toDouble (40 mutations)
  3840. 252.04 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)
  3841. 252.08 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)
  3842. 252.18 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)
  3843. 252.26 s [really-safe-money-gen] coverage (470/1610): Money\.AccountOfSpec.CHF.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3844. 252.62 s [really-safe-money-gen] coverage (471/1610): Money\.AccountOfSpec.CHF.CHF.rate.produces valid amounts (15 mutations)
  3845. 252.83 s [really-safe-money-gen] coverage (472/1610): Money\.AccountOfSpec.CHF.CHF.convert.produces valid amounts (27 mutations)
  3846. 253.31 s [really-safe-money-gen] coverage (474/1610): Money\.AccountOfSpec.CHF.add.has a left-identity\: zero (28 mutations)
  3847. 253.32 s [really-safe-money-gen] coverage (473/1610): Money\.AccountOfSpec.CHF.add.is associative when both succeed (27 mutations)
  3848. 253.93 s [really-safe-money-gen] coverage (475/1610): Money\.AccountOfSpec.CHF.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3849. 254.02 s [really-safe-money-gen] coverage (476/1610): Money\.AccountOfSpec.CHF.add.has a right-identity\: zero (28 mutations)
  3850. 254.22 s [really-safe-money-gen] coverage (478/1610): Money\.AccountOfSpec.CHF.add.produces valid amounts (27 mutations)
  3851. 254.32 s [really-safe-money-gen] coverage (477/1610): Money\.AccountOfSpec.CHF.add.is commutative (27 mutations)
  3852. 254.34 s [really-safe-money-gen] coverage (479/1610): Money\.AccountOfSpec.CHF.INR.convert.produces valid amounts (27 mutations)
  3853. 255.07 s [really-safe-money-gen] coverage (480/1610): Money\.AccountOfSpec.CHF.INR.rate.produces valid amounts (15 mutations)
  3854. 255.68 s [really-safe-money-gen] coverage (481/1610): Money\.AccountOfSpec.ADA.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3855. 255.78 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)
  3856. 258.94 s [really-safe-money-gen] coverage (483/1610): Money\.AccountOfSpec.ADA.fromDouble.produces valid rational (38 mutations)
  3857. 259.86 s [really-safe-money-gen] coverage (484/1610): Money\.AccountOfSpec.ADA.fromDouble.roundtrips with toDouble (40 mutations)
  3858. 260.12 s [really-safe-money-gen] coverage (485/1610): Money\.AccountOfSpec.ADA.fromRational.produces valid rational (27 mutations)
  3859. 260.19 s [really-safe-money-gen] coverage (486/1610): Money\.AccountOfSpec.ADA.fromRational.roundtrips with toRational (31 mutations)
  3860. 260.37 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)
  3861. 260.72 s [really-safe-money-gen] coverage (488/1610): Money\.AccountOfSpec.ADA.fraction.Produces a result that can be multiplied back (38 mutations)
  3862. 261.02 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)
  3863. 261.14 s [really-safe-money-gen] coverage (482/1610): Money\.AccountOfSpec.ADA.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3864. 261.20 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)
  3865. 261.38 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)
  3866. 261.66 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)
  3867. 261.68 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)
  3868. 261.76 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)
  3869. 261.85 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)
  3870. 261.96 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)
  3871. 262.02 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)
  3872. 262.50 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)
  3873. 262.72 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)
  3874. 263.04 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)
  3875. 263.16 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)
  3876. 263.70 s [really-safe-money-gen] coverage (507/1610): Money\.AccountOfSpec.ADA.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3877. 263.85 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)
  3878. 264.13 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)
  3879. 264.17 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)
  3880. 264.32 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)
  3881. 264.85 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)
  3882. 265.38 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)
  3883. 265.68 s [really-safe-money-gen] coverage (516/1610): Money\.AccountOfSpec.ADA.distribute.produces results that sum up to the greater whole (64 mutations)
  3884. 268.79 s [really-safe-money-gen] coverage (515/1610): Money\.AccountOfSpec.ADA.distribute.produces valid amounts (34 mutations)
  3885. 269.62 s [really-safe-money-gen] coverage (517/1610): Money\.AccountOfSpec.ADA.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  3886. 270.01 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)
  3887. 270.01 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)
  3888. 270.12 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)
  3889. 270.50 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)
  3890. 270.69 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)
  3891. 270.82 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)
  3892. 271.12 s [really-safe-money-gen] coverage (524/1610): Money\.AccountOfSpec.ADA.abs.produces valid amounts (1 mutations)
  3893. 271.14 s [really-safe-money-gen] coverage (526/1610): Money\.AccountOfSpec.ADA.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3894. 271.37 s [really-safe-money-gen] coverage (527/1610): Money\.AccountOfSpec.ADA.negate.produces valid amounts (1 mutations)
  3895. 271.47 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)
  3896. 271.50 s [really-safe-money-gen] coverage (525/1610): Money\.AccountOfSpec.ADA.format.produces valid strings (6 mutations)
  3897. 271.70 s [really-safe-money-gen] coverage (506/1610): Money\.AccountOfSpec.ADA.fromAmountOf.produces valid AccountOfs (1 mutations)
  3898. 271.71 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)
  3899. 271.79 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)
  3900. 272.23 s [really-safe-money-gen] coverage (528/1610): Money\.AccountOfSpec.ADA.CHF.rate.produces valid amounts (15 mutations)
  3901. 272.45 s [really-safe-money-gen] coverage (530/1610): Money\.AccountOfSpec.ADA.INR.rate.produces valid amounts (15 mutations)
  3902. 272.88 s [really-safe-money-gen] coverage (529/1610): Money\.AccountOfSpec.ADA.CHF.convert.produces valid amounts (27 mutations)
  3903. 273.05 s [really-safe-money-gen] coverage (532/1610): Money\.AccountOfSpec.ADA.fromAmount.produces valid AccountOfs (1 mutations)
  3904. 273.19 s [really-safe-money-gen] coverage (531/1610): Money\.AccountOfSpec.ADA.INR.convert.produces valid amounts (27 mutations)
  3905. 273.43 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)
  3906. 274.01 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)
  3907. 274.01 s [really-safe-money-gen] coverage (489/1610): Money\.AccountOfSpec.ADA.fraction.produces valid amounts (39 mutations)
  3908. 274.32 s [really-safe-money-gen] coverage (534/1610): Money\.AccountOfSpec.ADA.sum.produces valid amounts (28 mutations)
  3909. 274.57 s [really-safe-money-gen] coverage (535/1610): Money\.AccountOfSpec.ADA.toMinimalQuantisations.produces valid accounts (3 mutations)
  3910. 275.12 s [really-safe-money-gen] coverage (536/1610): Money\.AccountOfSpec.ADA.ADA.convert.produces valid amounts (27 mutations)
  3911. 275.69 s [really-safe-money-gen] coverage (537/1610): Money\.AccountOfSpec.ADA.ADA.rate.produces valid amounts (15 mutations)
  3912. 279.85 s [really-safe-money-gen] coverage (538/1610): Money\.AccountOfSpec.ADA.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3913. 280.37 s [really-safe-money-gen] coverage (533/1610): Money\.AccountOfSpec.ADA.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3914. 281.22 s [really-safe-money-gen] coverage (543/1610): Money\.AccountOfSpec.ADA.add.has a right-identity\: zero (28 mutations)
  3915. 281.25 s [really-safe-money-gen] coverage (541/1610): Money\.AccountOfSpec.ADA.add.is associative when both succeed (27 mutations)
  3916. 281.31 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)
  3917. 281.59 s [really-safe-money-gen] coverage (545/1610): Money\.AccountOfSpec.ADA.BTC.convert.produces valid amounts (27 mutations)
  3918. 281.90 s [really-safe-money-gen] coverage (547/1610): Money\.AccountOfSpec.ADA.multiply.produces valid amounts (20 mutations)
  3919. 281.95 s [really-safe-money-gen] coverage (551/1610): Money\.AccountOfSpec.ADA.multiply.is absorbed by 0 (20 mutations)
  3920. 282.33 s [really-safe-money-gen] coverage (554/1610): Money\.AccountOfSpec.BTC.add.is commutative (27 mutations)
  3921. 282.59 s [really-safe-money-gen] coverage (552/1610): Money\.AccountOfSpec.ADA.USD.convert.produces valid amounts (27 mutations)
  3922. 282.70 s [really-safe-money-gen] coverage (555/1610): Money\.AccountOfSpec.BTC.add.produces valid amounts (27 mutations)
  3923. 282.91 s [really-safe-money-gen] coverage (557/1610): Money\.AccountOfSpec.BTC.add.has a right-identity\: zero (28 mutations)
  3924. 282.93 s [really-safe-money-gen] coverage (549/1610): Money\.AccountOfSpec.ADA.multiply.has an identity\: 1 (20 mutations)
  3925. 283.06 s [really-safe-money-gen] coverage (556/1610): Money\.AccountOfSpec.BTC.add.has a left-identity\: zero (28 mutations)
  3926. 283.17 s [really-safe-money-gen] coverage (558/1610): Money\.AccountOfSpec.BTC.add.is associative when both succeed (27 mutations)
  3927. 283.36 s [really-safe-money-gen] coverage (548/1610): Money\.AccountOfSpec.ADA.multiply.is distributive with add when both succeed (44 mutations)
  3928. 283.49 s [really-safe-money-gen] coverage (559/1610): Money\.AccountOfSpec.BTC.add.matches what you would get with Integer, if nothing fails (27 mutations)
  3929. 283.88 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)
  3930. 284.36 s [really-safe-money-gen] coverage (542/1610): Money\.AccountOfSpec.ADA.add.has a left-identity\: zero (28 mutations)
  3931. 284.43 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)
  3932. 284.52 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)
  3933. 285.00 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)
  3934. 285.64 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)
  3935. 285.70 s [really-safe-money-gen] coverage (540/1610): Money\.AccountOfSpec.ADA.add.is commutative (27 mutations)
  3936. 285.84 s [really-safe-money-gen] coverage (539/1610): Money\.AccountOfSpec.ADA.add.produces valid amounts (27 mutations)
  3937. 285.87 s [really-safe-money-gen] coverage (550/1610): Money\.AccountOfSpec.ADA.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3938. 286.67 s [really-safe-money-gen] coverage (553/1610): Money\.AccountOfSpec.ADA.USD.rate.produces valid amounts (15 mutations)
  3939. 287.30 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)
  3940. 290.96 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)
  3941. 291.17 s [really-safe-money-gen] coverage (576/1610): Money\.AccountOfSpec.BTC.BTC.convert.produces valid amounts (27 mutations)
  3942. 291.96 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)
  3943. 291.98 s [really-safe-money-gen] coverage (578/1610): Money\.AccountOfSpec.BTC.distribute.produces valid amounts (34 mutations)
  3944. 292.11 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)
  3945. 292.64 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)
  3946. 292.68 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)
  3947. 292.78 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)
  3948. 293.19 s [really-safe-money-gen] coverage (589/1610): Money\.AccountOfSpec.BTC.fromAmountOf.produces valid AccountOfs (1 mutations)
  3949. 293.38 s [really-safe-money-gen] coverage (590/1610): Money\.AccountOfSpec.BTC.multiply.produces valid amounts (20 mutations)
  3950. 293.42 s [really-safe-money-gen] coverage (591/1610): Money\.AccountOfSpec.BTC.multiply.is distributive with add when both succeed (44 mutations)
  3951. 293.55 s [really-safe-money-gen] coverage (592/1610): Money\.AccountOfSpec.BTC.multiply.is absorbed by 0 (20 mutations)
  3952. 293.62 s [really-safe-money-gen] coverage (593/1610): Money\.AccountOfSpec.BTC.multiply.has an identity\: 1 (20 mutations)
  3953. 293.88 s [really-safe-money-gen] coverage (594/1610): Money\.AccountOfSpec.BTC.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
  3954. 293.89 s [really-safe-money-gen] coverage (595/1610): Money\.AccountOfSpec.BTC.sum.produces valid amounts (28 mutations)
  3955. 294.29 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)
  3956. 294.31 s [really-safe-money-gen] coverage (596/1610): Money\.AccountOfSpec.BTC.sum.matches what you would get with Integer, if nothing fails (28 mutations)
  3957. 294.85 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)
  3958. 295.20 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)
  3959. 295.32 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)
  3960. 295.40 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)
  3961. 295.83 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)
  3962. 296.60 s [really-safe-money-gen] coverage (604/1610): Money\.AccountOfSpec.BTC.USD.convert.produces valid amounts (27 mutations)
  3963. 296.61 s [really-safe-money-gen] coverage (603/1610): Money\.AccountOfSpec.BTC.format.produces valid strings (6 mutations)
  3964. 296.63 s [really-safe-money-gen] coverage (605/1610): Money\.AccountOfSpec.BTC.USD.rate.produces valid amounts (15 mutations)
  3965. 297.02 s [really-safe-money-gen] coverage (606/1610): Money\.AccountOfSpec.BTC.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
  3966. 297.42 s [really-safe-money-gen] coverage (607/1610): Money\.AccountOfSpec.BTC.ADA.convert.produces valid amounts (27 mutations)
  3967. 298.00 s [really-safe-money-gen] coverage (608/1610): Money\.AccountOfSpec.BTC.ADA.rate.produces valid amounts (15 mutations)
  3968. 301.39 s [really-safe-money-gen] coverage (609/1610): Money\.AccountOfSpec.BTC.fromRational.produces valid rational (27 mutations)
  3969. 301.60 s [really-safe-money-gen] coverage (610/1610): Money\.AccountOfSpec.BTC.fromRational.roundtrips with toRational (31 mutations)
  3970. 302.41 s [really-safe-money-gen] coverage (612/1610): Money\.AccountOfSpec.BTC.toMinimalQuantisations.produces valid accounts (3 mutations)
  3971. 302.43 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)
  3972. 302.55 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)
  3973. 302.79 s [really-safe-money-gen] coverage (614/1610): Money\.AccountOfSpec.BTC.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
  3974. 302.85 s [really-safe-money-gen] coverage (616/1610): Money\.AccountOfSpec.BTC.INR.convert.produces valid amounts (27 mutations)
  3975. 302.93 s [really-safe-money-gen] coverage (615/1610): Money\.AccountOfSpec.BTC.INR.rate.produces valid amounts (15 mutations)
  3976. 303.33 s [really-safe-money-gen] coverage (619/1610): Money\.AccountOfSpec.BTC.fraction.produces valid amounts (39 mutations)
  3977. 303.40 s [really-safe-money-gen] coverage (617/1610): Money\.AccountOfSpec.BTC.fromDouble.roundtrips with toDouble (40 mutations)
  3978. 303.61 s [really-safe-money-gen] coverage (618/1610): Money\.AccountOfSpec.BTC.fromDouble.produces valid rational (38 mutations)
  3979. 303.72 s [really-safe-money-gen] coverage (620/1610): Money\.AccountOfSpec.BTC.fraction.Produces a result that can be multiplied back (38 mutations)
  3980. 303.79 s [really-safe-money-gen] coverage (621/1610): Money\.AccountOfSpec.BTC.CHF.rate.produces valid amounts (15 mutations)
  3981. 304.00 s [really-safe-money-gen] coverage (622/1610): Money\.AccountOfSpec.BTC.CHF.convert.produces valid amounts (27 mutations)
  3982. 304.07 s [really-safe-money-gen] coverage (623/1610): Money\.AccountOfSpec.BTC.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
  3983. 304.48 s [really-safe-money-gen] coverage (624/1610): Money\.AccountOfSpec.BTC.fromMinimalQuantisations.produces valid accounts (14 mutations)
  3984. 304.48 s [really-safe-money-gen] coverage (625/1610): Money\.AccountOfSpec.BTC.fromAmount.produces valid AccountOfs (1 mutations)
  3985. 304.77 s [really-safe-money-gen] coverage (626/1610): Money\.AccountOfSpec.BTC.abs.produces valid amounts (1 mutations)
  3986. 304.97 s [really-safe-money-gen] coverage (627/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  3987. 305.12 s [really-safe-money-gen] coverage (628/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  3988. 305.21 s [really-safe-money-gen] coverage (629/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  3989. 305.72 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)
  3990. 306.40 s [really-safe-money-gen] coverage (632/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  3991. 306.48 s [really-safe-money-gen] coverage (631/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.toRational.produces valid rationals (0 mutations)
  3992. 306.49 s [really-safe-money-gen] coverage (633/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  3993. 306.69 s [really-safe-money-gen] coverage (634/1610): Money\.ConversionRateOfSpec.INR.ADA.compose.produces valid rates (8 mutations)
  3994. 307.08 s [really-safe-money-gen] coverage (635/1610): Money\.ConversionRateOfSpec.INR.ADA.invert.produces valid rates (8 mutations)
  3995. 308.32 s [really-safe-money-gen] coverage (636/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  3996. 311.09 s [really-safe-money-gen] coverage (637/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  3997. 311.67 s [really-safe-money-gen] coverage (638/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  3998. 311.89 s [really-safe-money-gen] coverage (640/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  3999. 311.95 s [really-safe-money-gen] coverage (639/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4000. 311.98 s [really-safe-money-gen] coverage (641/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4001. 312.24 s [really-safe-money-gen] coverage (587/1610): Money\.AccountOfSpec.BTC.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
  4002. 312.38 s [really-safe-money-gen] coverage (643/1610): Money\.ConversionRateOfSpec.INR.BTC.compose.produces valid rates (8 mutations)
  4003. 312.52 s [really-safe-money-gen] coverage (644/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4004. 312.89 s [really-safe-money-gen] coverage (642/1610): Money\.ConversionRateOfSpec.INR.BTC.invert.produces valid rates (8 mutations)
  4005. 312.92 s [really-safe-money-gen] coverage (645/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4006. 313.10 s [really-safe-money-gen] coverage (646/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4007. 313.50 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)
  4008. 313.81 s [really-safe-money-gen] coverage (649/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4009. 313.86 s [really-safe-money-gen] coverage (654/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4010. 313.89 s [really-safe-money-gen] coverage (648/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4011. 314.19 s [really-safe-money-gen] coverage (652/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4012. 314.19 s [really-safe-money-gen] coverage (655/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4013. 314.29 s [really-safe-money-gen] coverage (656/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4014. 314.44 s [really-safe-money-gen] coverage (653/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4015. 314.48 s [really-safe-money-gen] coverage (658/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4016. 314.58 s [really-safe-money-gen] coverage (657/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4017. 315.16 s [really-safe-money-gen] coverage (659/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4018. 315.54 s [really-safe-money-gen] coverage (660/1610): Money\.ConversionRateOfSpec.INR.CHF.invert.produces valid rates (8 mutations)
  4019. 315.78 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)
  4020. 315.81 s [really-safe-money-gen] coverage (661/1610): Money\.ConversionRateOfSpec.INR.CHF.compose.produces valid rates (8 mutations)
  4021. 315.90 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)
  4022. 316.55 s [really-safe-money-gen] coverage (664/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.toRational.produces valid rationals (0 mutations)
  4023. 317.80 s [really-safe-money-gen] coverage (665/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4024. 320.37 s [really-safe-money-gen] coverage (666/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4025. 321.42 s [really-safe-money-gen] coverage (667/1610): Money\.ConversionRateOfSpec.INR.USD.invert.produces valid rates (8 mutations)
  4026. 321.67 s [really-safe-money-gen] coverage (670/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4027. 321.73 s [really-safe-money-gen] coverage (669/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4028. 321.73 s [really-safe-money-gen] coverage (668/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4029. 322.12 s [really-safe-money-gen] coverage (671/1610): Money\.ConversionRateOfSpec.INR.USD.compose.produces valid rates (8 mutations)
  4030. 322.31 s [really-safe-money-gen] coverage (673/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4031. 322.84 s [really-safe-money-gen] coverage (675/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.toRational.produces valid rationals (0 mutations)
  4032. 322.92 s [really-safe-money-gen] coverage (672/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4033. 323.13 s [really-safe-money-gen] coverage (676/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4034. 323.33 s [really-safe-money-gen] coverage (677/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4035. 323.47 s [really-safe-money-gen] coverage (674/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4036. 323.81 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)
  4037. 324.20 s [really-safe-money-gen] coverage (680/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4038. 324.46 s [really-safe-money-gen] coverage (682/1610): Money\.ConversionRateOfSpec.INR.INR.compose.produces valid rates (8 mutations)
  4039. 324.48 s [really-safe-money-gen] coverage (683/1610): Money\.ConversionRateOfSpec.INR.INR.invert.produces valid rates (8 mutations)
  4040. 324.57 s [really-safe-money-gen] coverage (679/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4041. 324.58 s [really-safe-money-gen] coverage (684/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4042. 324.70 s [really-safe-money-gen] coverage (685/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4043. 324.76 s [really-safe-money-gen] coverage (686/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4044. 324.98 s [really-safe-money-gen] coverage (681/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4045. 325.57 s [really-safe-money-gen] coverage (687/1610): Money\.ConversionRateOfSpec.ADA.USD.compose.produces valid rates (8 mutations)
  4046. 325.60 s [really-safe-money-gen] coverage (651/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4047. 326.06 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)
  4048. 326.13 s [really-safe-money-gen] coverage (688/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4049. 326.14 s [really-safe-money-gen] coverage (689/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4050. 326.66 s [really-safe-money-gen] coverage (690/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4051. 327.83 s [really-safe-money-gen] coverage (691/1610): Money\.ConversionRateOfSpec.ADA.USD.invert.produces valid rates (8 mutations)
  4052. 330.22 s [really-safe-money-gen] coverage (546/1610): Money\.AccountOfSpec.ADA.BTC.rate.produces valid amounts (15 mutations)
  4053. 331.28 s [really-safe-money-gen] coverage (693/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4054. 331.41 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)
  4055. 331.50 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)
  4056. 331.73 s [really-safe-money-gen] coverage (692/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4057. 331.77 s [really-safe-money-gen] coverage (588/1610): Money\.AccountOfSpec.BTC.negate.produces valid amounts (1 mutations)
  4058. 332.31 s [really-safe-money-gen] coverage (577/1610): Money\.AccountOfSpec.BTC.BTC.rate.produces valid amounts (15 mutations)
  4059. 332.62 s [really-safe-money-gen] coverage (702/1610): Money\.ConversionRateOfSpec.ADA.CHF.compose.produces valid rates (8 mutations)
  4060. 332.66 s [really-safe-money-gen] coverage (579/1610): Money\.AccountOfSpec.BTC.distribute.produces results that sum up to the greater whole (64 mutations)
  4061. 333.06 s [really-safe-money-gen] coverage (704/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4062. 333.41 s [really-safe-money-gen] coverage (699/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4063. 333.41 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)
  4064. 333.54 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)
  4065. 333.97 s [really-safe-money-gen] coverage (706/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4066. 334.03 s [really-safe-money-gen] coverage (647/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4067. 334.14 s [really-safe-money-gen] coverage (707/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4068. 334.34 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)
  4069. 334.47 s [really-safe-money-gen] coverage (708/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4070. 334.57 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)
  4071. 334.70 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)
  4072. 334.83 s [really-safe-money-gen] coverage (710/1610): Money\.ConversionRateOfSpec.ADA.CHF.invert.produces valid rates (8 mutations)
  4073. 335.31 s [really-safe-money-gen] coverage (712/1610): Money\.ConversionRateOfSpec.ADA.ADA.invert.produces valid rates (8 mutations)
  4074. 335.60 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)
  4075. 335.96 s [really-safe-money-gen] coverage (713/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4076. 336.00 s [really-safe-money-gen] coverage (716/1610): Money\.ConversionRateOfSpec.ADA.ADA.compose.produces valid rates (8 mutations)
  4077. 336.07 s [really-safe-money-gen] coverage (714/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4078. 336.64 s [really-safe-money-gen] coverage (717/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4079. 337.84 s [really-safe-money-gen] coverage (718/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4080. 340.33 s [really-safe-money-gen] coverage (719/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4081. 342.98 s [really-safe-money-gen] coverage (700/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4082. 343.45 s [really-safe-money-gen] coverage (705/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4083. 343.55 s [really-safe-money-gen] coverage (703/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4084. 343.84 s [really-safe-money-gen] coverage (698/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4085. 345.31 s [really-safe-money-gen] coverage (696/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4086. 345.75 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)
  4087. 346.30 s [really-safe-money-gen] coverage (715/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4088. 347.21 s [really-safe-money-gen] coverage (725/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4089. 347.71 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)
  4090. 347.73 s [really-safe-money-gen] coverage (697/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4091. 347.80 s [really-safe-money-gen] coverage (723/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4092. 348.17 s [really-safe-money-gen] coverage (694/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.toRational.produces valid rationals (0 mutations)
  4093. 348.34 s [really-safe-money-gen] coverage (724/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4094. 348.73 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)
  4095. 349.03 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)
  4096. 349.06 s [really-safe-money-gen] coverage (727/1610): Money\.ConversionRateOfSpec.ADA.BTC.invert.produces valid rates (8 mutations)
  4097. 349.12 s [really-safe-money-gen] coverage (728/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4098. 349.33 s [really-safe-money-gen] coverage (729/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4099. 349.50 s [really-safe-money-gen] coverage (730/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4100. 349.71 s [really-safe-money-gen] coverage (731/1610): Money\.ConversionRateOfSpec.ADA.BTC.compose.produces valid rates (8 mutations)
  4101. 349.97 s [really-safe-money-gen] coverage (721/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4102. 350.67 s [really-safe-money-gen] coverage (722/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4103. 351.07 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)
  4104. 351.59 s [really-safe-money-gen] coverage (720/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4105. 351.75 s [really-safe-money-gen] coverage (732/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4106. 353.03 s [really-safe-money-gen] coverage (701/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4107. 354.55 s [really-safe-money-gen] coverage (733/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4108. 356.69 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)
  4109. 358.87 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)
  4110. 358.90 s [really-safe-money-gen] coverage (736/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4111. 359.13 s [really-safe-money-gen] coverage (738/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.toRational.produces valid rationals (0 mutations)
  4112. 359.44 s [really-safe-money-gen] coverage (739/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4113. 360.21 s [really-safe-money-gen] coverage (740/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4114. 360.96 s [really-safe-money-gen] coverage (742/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4115. 361.16 s [really-safe-money-gen] coverage (744/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4116. 361.25 s [really-safe-money-gen] coverage (741/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4117. 361.32 s [really-safe-money-gen] coverage (747/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4118. 361.35 s [really-safe-money-gen] coverage (737/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4119. 361.41 s [really-safe-money-gen] coverage (746/1610): Money\.ConversionRateOfSpec.ADA.INR.invert.produces valid rates (8 mutations)
  4120. 361.86 s [really-safe-money-gen] coverage (748/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4121. 362.08 s [really-safe-money-gen] coverage (762/1610): Money\.ConversionRateOfSpec.CHF.ADA.invert.produces valid rates (8 mutations)
  4122. 362.11 s [really-safe-money-gen] coverage (745/1610): Money\.ConversionRateOfSpec.ADA.INR.compose.produces valid rates (8 mutations)
  4123. 362.23 s [really-safe-money-gen] coverage (751/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4124. 362.29 s [really-safe-money-gen] coverage (750/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4125. 362.45 s [really-safe-money-gen] coverage (743/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4126. 362.58 s [really-safe-money-gen] coverage (763/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4127. 362.70 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)
  4128. 362.74 s [really-safe-money-gen] coverage (764/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4129. 363.53 s [really-safe-money-gen] coverage (766/1610): Money\.ConversionRateOfSpec.CHF.ADA.compose.produces valid rates (8 mutations)
  4130. 364.10 s [really-safe-money-gen] coverage (765/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4131. 364.32 s [really-safe-money-gen] coverage (770/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4132. 364.51 s [really-safe-money-gen] coverage (769/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4133. 365.00 s [really-safe-money-gen] coverage (759/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4134. 366.08 s [really-safe-money-gen] coverage (760/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4135. 366.17 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)
  4136. 367.41 s [really-safe-money-gen] coverage (753/1610): Money\.ConversionRateOfSpec.CHF.BTC.compose.produces valid rates (8 mutations)
  4137. 369.56 s [really-safe-money-gen] coverage (771/1610): Money\.ConversionRateOfSpec.CHF.USD.invert.produces valid rates (8 mutations)
  4138. 369.61 s [really-safe-money-gen] coverage (756/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4139. 370.09 s [really-safe-money-gen] coverage (761/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4140. 370.78 s [really-safe-money-gen] coverage (752/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4141. 370.84 s [really-safe-money-gen] coverage (755/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4142. 371.46 s [really-safe-money-gen] coverage (754/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4143. 371.68 s [really-safe-money-gen] coverage (775/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4144. 371.74 s [really-safe-money-gen] coverage (757/1610): Money\.ConversionRateOfSpec.CHF.BTC.invert.produces valid rates (8 mutations)
  4145. 371.91 s [really-safe-money-gen] coverage (749/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4146. 372.14 s [really-safe-money-gen] coverage (777/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4147. 372.33 s [really-safe-money-gen] coverage (778/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4148. 372.45 s [really-safe-money-gen] coverage (774/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4149. 372.49 s [really-safe-money-gen] coverage (779/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.toRational.produces valid rationals (0 mutations)
  4150. 372.52 s [really-safe-money-gen] coverage (780/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4151. 372.64 s [really-safe-money-gen] coverage (782/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4152. 372.64 s [really-safe-money-gen] coverage (781/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4153. 372.90 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)
  4154. 373.05 s [really-safe-money-gen] coverage (786/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4155. 373.82 s [really-safe-money-gen] coverage (784/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4156. 373.83 s [really-safe-money-gen] coverage (788/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4157. 373.93 s [really-safe-money-gen] coverage (785/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4158. 374.35 s [really-safe-money-gen] coverage (789/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4159. 374.48 s [really-safe-money-gen] coverage (790/1610): Money\.ConversionRateOfSpec.CHF.CHF.invert.produces valid rates (8 mutations)
  4160. 374.89 s [really-safe-money-gen] coverage (791/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4161. 375.02 s [really-safe-money-gen] coverage (792/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4162. 376.10 s [really-safe-money-gen] coverage (794/1610): Money\.ConversionRateOfSpec.CHF.CHF.compose.produces valid rates (8 mutations)
  4163. 376.28 s [really-safe-money-gen] coverage (793/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4164. 377.30 s [really-safe-money-gen] coverage (787/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4165. 379.24 s [really-safe-money-gen] coverage (776/1610): Money\.ConversionRateOfSpec.CHF.USD.compose.produces valid rates (8 mutations)
  4166. 379.36 s [really-safe-money-gen] coverage (768/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4167. 381.92 s [really-safe-money-gen] coverage (773/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4168. 382.83 s [really-safe-money-gen] coverage (734/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4169. 383.11 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)
  4170. 385.09 s [really-safe-money-gen] coverage (816/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4171. 385.40 s [really-safe-money-gen] coverage (805/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4172. 385.59 s [really-safe-money-gen] coverage (808/1610): Money\.ConversionRateOfSpec.USD.CHF.invert.produces valid rates (8 mutations)
  4173. 385.71 s [really-safe-money-gen] coverage (810/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4174. 385.84 s [really-safe-money-gen] coverage (804/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4175. 385.95 s [really-safe-money-gen] coverage (806/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.toRational.produces valid rationals (0 mutations)
  4176. 386.50 s [really-safe-money-gen] coverage (828/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4177. 386.54 s [really-safe-money-gen] coverage (817/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4178. 386.85 s [really-safe-money-gen] coverage (832/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4179. 386.98 s [really-safe-money-gen] coverage (826/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.toRational.produces valid rationals (0 mutations)
  4180. 387.46 s [really-safe-money-gen] coverage (831/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4181. 387.49 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)
  4182. 387.56 s [really-safe-money-gen] coverage (827/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4183. 387.92 s [really-safe-money-gen] coverage (829/1610): Money\.ConversionRateOfSpec.USD.USD.compose.produces valid rates (8 mutations)
  4184. 388.00 s [really-safe-money-gen] coverage (823/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4185. 388.61 s [really-safe-money-gen] coverage (825/1610): Money\.ConversionRateOfSpec.USD.USD.invert.produces valid rates (8 mutations)
  4186. 388.68 s [really-safe-money-gen] coverage (824/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4187. 389.13 s [really-safe-money-gen] coverage (813/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4188. 389.71 s [really-safe-money-gen] coverage (822/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4189. 390.26 s [really-safe-money-gen] coverage (800/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4190. 390.38 s [really-safe-money-gen] coverage (797/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4191. 391.74 s [really-safe-money-gen] coverage (814/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4192. 392.12 s [really-safe-money-gen] coverage (821/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4193. 394.66 s [really-safe-money-gen] coverage (833/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4194. 395.17 s [really-safe-money-gen] coverage (811/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4195. 395.45 s [really-safe-money-gen] coverage (801/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4196. 396.01 s [really-safe-money-gen] coverage (809/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4197. 396.02 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)
  4198. 396.22 s [really-safe-money-gen] coverage (837/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.toRational.produces valid rationals (0 mutations)
  4199. 396.40 s [really-safe-money-gen] coverage (841/1610): Money\.ConversionRateOfSpec.USD.INR.invert.produces valid rates (8 mutations)
  4200. 396.66 s [really-safe-money-gen] coverage (836/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4201. 396.87 s [really-safe-money-gen] coverage (835/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4202. 396.97 s [really-safe-money-gen] coverage (834/1610): Money\.ConversionRateOfSpec.USD.INR.compose.produces valid rates (8 mutations)
  4203. 397.24 s [really-safe-money-gen] coverage (840/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4204. 397.44 s [really-safe-money-gen] coverage (839/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4205. 397.54 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)
  4206. 397.60 s [really-safe-money-gen] coverage (838/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4207. 397.69 s [really-safe-money-gen] coverage (799/1610): Money\.ConversionRateOfSpec.CHF.INR.invert.produces valid rates (8 mutations)
  4208. 398.07 s [really-safe-money-gen] coverage (843/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4209. 398.14 s [really-safe-money-gen] coverage (844/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4210. 398.23 s [really-safe-money-gen] coverage (845/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4211. 398.46 s [really-safe-money-gen] coverage (846/1610): Money\.ConversionRateOfSpec.USD.BTC.compose.produces valid rates (8 mutations)
  4212. 398.50 s [really-safe-money-gen] coverage (848/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4213. 398.97 s [really-safe-money-gen] coverage (854/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4214. 399.11 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. 399.65 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)
  4216. 400.45 s [really-safe-money-gen] coverage (856/1610): Money\.ConversionRateOfSpec.USD.ADA.compose.produces valid rates (8 mutations)
  4217. 400.67 s [really-safe-money-gen] coverage (853/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4218. 400.83 s [really-safe-money-gen] coverage (852/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4219. 401.19 s [really-safe-money-gen] coverage (847/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4220. 401.42 s [really-safe-money-gen] coverage (860/1610): Money\.ConversionRateOfSpec.USD.ADA.invert.produces valid rates (8 mutations)
  4221. 404.55 s [really-safe-money-gen] coverage (861/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4222. 404.86 s [really-safe-money-gen] coverage (859/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4223. 404.95 s [really-safe-money-gen] coverage (858/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4224. 405.62 s [really-safe-money-gen] coverage (862/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4225. 406.01 s [really-safe-money-gen] coverage (865/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4226. 406.24 s [really-safe-money-gen] coverage (864/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4227. 406.45 s [really-safe-money-gen] coverage (857/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4228. 406.55 s [really-safe-money-gen] coverage (863/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4229. 406.58 s [really-safe-money-gen] coverage (820/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4230. 406.87 s [really-safe-money-gen] coverage (866/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4231. 406.94 s [really-safe-money-gen] coverage (818/1610): Money\.ConversionRateOfSpec.USD.CHF.compose.produces valid rates (8 mutations)
  4232. 407.20 s [really-safe-money-gen] coverage (815/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4233. 407.25 s [really-safe-money-gen] coverage (812/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4234. 407.26 s [really-safe-money-gen] coverage (819/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4235. 407.35 s [really-safe-money-gen] coverage (867/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
  4236. 407.65 s [really-safe-money-gen] coverage (795/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4237. 407.75 s [really-safe-money-gen] coverage (798/1610): Money\.ConversionRateOfSpec.CHF.INR.compose.produces valid rates (8 mutations)
  4238. 407.79 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)
  4239. 408.10 s [really-safe-money-gen] coverage (868/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4240. 408.33 s [really-safe-money-gen] coverage (796/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4241. 409.20 s [really-safe-money-gen] coverage (871/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4242. 409.31 s [really-safe-money-gen] coverage (870/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4243. 409.47 s [really-safe-money-gen] coverage (802/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4244. 410.48 s [really-safe-money-gen] coverage (873/1610): Money\.ConversionRateOfSpec.BTC.ADA.compose.produces valid rates (8 mutations)
  4245. 410.70 s [really-safe-money-gen] coverage (872/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4246. 410.71 s [really-safe-money-gen] coverage (874/1610): Money\.ConversionRateOfSpec.BTC.ADA.invert.produces valid rates (8 mutations)
  4247. 410.86 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)
  4248. 411.09 s [really-safe-money-gen] coverage (876/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
  4249. 415.73 s [really-safe-money-gen] coverage (877/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
  4250. 416.81 s [really-safe-money-gen] coverage (878/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.toRational.produces valid rationals (0 mutations)
  4251. 417.23 s [really-safe-money-gen] coverage (879/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.toRational.produces valid rationals (0 mutations)
  4252. 417.24 s [really-safe-money-gen] coverage (880/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
  4253. 418.88 s [really-safe-money-gen] coverage (881/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
  4254. 419.30 s [really-safe-money-gen] coverage (869/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4255. 419.81 s [really-safe-money-gen] coverage (888/1610): Money\.ConversionRateOfSpec.BTC.USD.compose.produces valid rates (8 mutations)
  4256. 419.85 s [really-safe-money-gen] coverage (882/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4257. 419.86 s [really-safe-money-gen] coverage (887/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.toRatio.produces valid ratios (0 mutations)
  4258. 420.12 s [really-safe-money-gen] coverage (889/1610): Money\.ConversionRateOfSpec.BTC.USD.invert.produces valid rates (8 mutations)
  4259. 420.53 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)
  4260. 420.55 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)
  4261. 420.96 s [really-safe-money-gen] coverage (883/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4262. 421.54 s [really-safe-money-gen] coverage (891/1610): Money\.ConversionRateOfSpec.BTC.INR.compose.produces valid rates (8 mutations)
  4263. 421.97 s [really-safe-money-gen] coverage (884/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4264. 422.28 s [really-safe-money-gen] coverage (896/1610): Money\.ConversionRateOfSpec.BTC.INR.invert.produces valid rates (8 mutations)
  4265. 422.35 s [really-safe-money-gen] coverage (897/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
  4266. 422.76 s [really-safe-money-gen] coverage (898/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
  4267. 423.00 s [really-safe-money-gen] coverage (895/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4268. 423.24 s [really-safe-money-gen] coverage (893/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4269. 424.21 s [really-safe-money-gen] coverage (899/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.toRational.produces valid rationals (0 mutations)
  4270. 424.67 s [really-safe-money-gen] coverage (915/1610): Money\.ConversionRateOfSpec.BTC.BTC.invert.produces valid rates (8 mutations)
  4271. 424.86 s [really-safe-money-gen] coverage (894/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4272. 426.19 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)
  4273. 427.07 s [really-safe-money-gen] coverage (906/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4274. 427.09 s [really-safe-money-gen] coverage (903/1610): Money\.ConversionRateOfSpec.BTC.CHF.compose.produces valid rates (8 mutations)
  4275. 427.19 s [really-safe-money-gen] coverage (912/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
  4276. 427.83 s [really-safe-money-gen] coverage (905/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4277. 432.66 s [really-safe-money-gen] coverage (902/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.toRatio.produces valid ratios (0 mutations)
  4278. 433.67 s [really-safe-money-gen] coverage (901/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4279. 434.36 s [really-safe-money-gen] coverage (900/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4280. 435.02 s [really-safe-money-gen] coverage (907/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4281. 436.31 s [really-safe-money-gen] coverage (908/1610): Money\.ConversionRateOfSpec.BTC.CHF.invert.produces valid rates (8 mutations)
  4282. 436.41 s [really-safe-money-gen] coverage (910/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4283. 437.26 s [really-safe-money-gen] coverage (918/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4284. 437.39 s [really-safe-money-gen] coverage (916/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.toRational.produces valid rationals (0 mutations)
  4285. 437.43 s [really-safe-money-gen] coverage (917/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
  4286. 438.02 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. 438.16 s [really-safe-money-gen] coverage (925/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4288. 438.60 s [really-safe-money-gen] coverage (922/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
  4289. 439.16 s [really-safe-money-gen] coverage (921/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
  4290. 439.58 s [really-safe-money-gen] coverage (928/1610): Money\.QuantisationFactorSpec.digits.works on 10 (0 mutations)
  4291. 439.74 s [really-safe-money-gen] coverage (924/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4292. 440.03 s [really-safe-money-gen] coverage (927/1610): Money\.QuantisationFactorSpec.fromWord32.produces valid quantisation factors (6 mutations)
  4293. 440.32 s [really-safe-money-gen] coverage (931/1610): Money\.QuantisationFactorSpec.digits.produces valid numbers of digits (0 mutations)
  4294. 440.72 s [really-safe-money-gen] coverage (929/1610): Money\.QuantisationFactorSpec.digits.works on 20 (0 mutations)
  4295. 441.27 s [really-safe-money-gen] coverage (923/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
  4296. 441.59 s [really-safe-money-gen] coverage (926/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
  4297. 442.42 s [really-safe-money-gen] coverage (930/1610): Money\.QuantisationFactorSpec.digits.works on 100 (0 mutations)
  4298. 442.55 s [really-safe-money-gen] coverage (885/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4299. 442.65 s [really-safe-money-gen] coverage (919/1610): Money\.ConversionRateOfSpec.BTC.BTC.compose.produces valid rates (8 mutations)
  4300. 444.36 s [really-safe-money-gen] coverage (939/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 1 into quantisation factor 10 (31 mutations)
  4301. 444.45 s [really-safe-money-gen] coverage (886/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
  4302. 445.08 s [really-safe-money-gen] coverage (941/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 50 into DecimalLiteral Nothing 2 2 (38 mutations)
  4303. 445.37 s [really-safe-money-gen] coverage (942/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 3 into quantisation factor 1000 (31 mutations)
  4304. 450.12 s [really-safe-money-gen] coverage (943/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 10 into DecimalLiteral Nothing 1 1 (38 mutations)
  4305. 450.86 s [really-safe-money-gen] coverage (945/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 0 into quantisation factor 1 (31 mutations)
  4306. 451.44 s [really-safe-money-gen] coverage (947/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 5 2 into quantisation factor 20 (31 mutations)
  4307. 451.48 s [really-safe-money-gen] coverage (949/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 2 into quantisation factor 100 (31 mutations)
  4308. 452.68 s [really-safe-money-gen] coverage (851/1610): Money\.ConversionRateOfSpec.USD.BTC.invert.produces valid rates (8 mutations)
  4309. 454.15 s [really-safe-money-gen] coverage (954/1610): Money\.MultiAccountSpec.subtractAmount.adds a non zero amount (5 mutations)
  4310. 454.18 s [really-safe-money-gen] coverage (914/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.toRational.produces valid rationals (0 mutations)
  4311. 454.48 s [really-safe-money-gen] coverage (913/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
  4312. 454.54 s [really-safe-money-gen] coverage (955/1610): Money\.MultiAccountSpec.subtractAmount.removes a zero amount (24 mutations)
  4313. 454.68 s [really-safe-money-gen] coverage (951/1610): Money\.QuantisationFactorSpec.GenValid QuantisationFactor.genValid \:\: Gen QuantisationFactor.only generates valid 'QuantisationFactor's (6 mutations)
  4314. 455.19 s [really-safe-money-gen] coverage (911/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
  4315. 455.33 s [really-safe-money-gen] coverage (950/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 1000 into DecimalLiteral Nothing 1 3 (38 mutations)
  4316. 455.36 s [really-safe-money-gen] coverage (946/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 20 into DecimalLiteral Nothing 5 2 (38 mutations)
  4317. 455.51 s [really-safe-money-gen] coverage (909/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
  4318. 456.07 s [really-safe-money-gen] coverage (948/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 1 into DecimalLiteral Nothing 1 0 (32 mutations)
  4319. 456.51 s [really-safe-money-gen] coverage (849/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
  4320. 457.55 s [really-safe-money-gen] coverage (940/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 100 into DecimalLiteral Nothing 1 2 (38 mutations)
  4321. 457.75 s [really-safe-money-gen] coverage (944/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 2 2 into quantisation factor 50 (31 mutations)
  4322. 458.40 s [really-safe-money-gen] coverage (936/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render a 0 (8 mutations)
  4323. 458.54 s [really-safe-money-gen] coverage (934/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render negative fractionals (17 mutations)
  4324. 459.69 s [really-safe-money-gen] coverage (933/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render a non-1 integer (23 mutations)
  4325. 459.76 s [really-safe-money-gen] coverage (932/1610): Money\.QuantisationFactorSpec.digits.works on 1 (0 mutations)
  4326. 460.21 s [really-safe-money-gen] coverage (935/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.produces valid factors (37 mutations)
  4327. 461.58 s [really-safe-money-gen] coverage (952/1610): Money\.MultiAccountSpec.subtractAmount.produces valid amounts (44 mutations)
  4328. 462.01 s [really-safe-money-gen] coverage (953/1610): Money\.MultiAccountSpec.subtractAmount.computes this example correctly (24 mutations)
  4329. 462.17 s [really-safe-money-gen] coverage (956/1610): Money\.MultiAccountSpec.add.has a right-identity\: zero (4 mutations)
  4330. 468.72 s [really-safe-money-gen] coverage (958/1610): Money\.MultiAccountSpec.add.produces valid amounts (44 mutations)
  4331. 469.02 s [really-safe-money-gen] coverage (957/1610): Money\.MultiAccountSpec.add.is commutative (33 mutations)
  4332. 469.98 s [really-safe-money-gen] coverage (960/1610): Money\.MultiAccountSpec.add.has a left-identity\: zero (6 mutations)
  4333. 470.43 s [really-safe-money-gen] coverage (971/1610): Money\.MultiAccountSpec.fromAccount.produces valid amounts (18 mutations)
  4334. 470.48 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)
  4335. 470.78 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)
  4336. 470.85 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)
  4337. 470.85 s [really-safe-money-gen] coverage (959/1610): Money\.MultiAccountSpec.add.is associative when both succeed (33 mutations)
  4338. 471.39 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)
  4339. 471.42 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)
  4340. 471.47 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)
  4341. 472.03 s [really-safe-money-gen] coverage (970/1610): Money\.MultiAccountSpec.zero.is valid (2 mutations)
  4342. 472.45 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)
  4343. 473.03 s [really-safe-money-gen] coverage (968/1610): Money\.MultiAccountSpec.sum.produces valid amounts (44 mutations)
  4344. 473.22 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)
  4345. 473.24 s [really-safe-money-gen] coverage (972/1610): Money\.MultiAccountSpec.addAccount.produces valid amounts (46 mutations)
  4346. 474.26 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)
  4347. 474.68 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)
  4348. 475.75 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)
  4349. 475.78 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)
  4350. 476.31 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)
  4351. 476.99 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)
  4352. 477.07 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. 478.23 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)
  4354. 478.40 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)
  4355. 478.48 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)
  4356. 485.69 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)
  4357. 486.51 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)
  4358. 486.52 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)
  4359. 486.61 s [really-safe-money-gen] coverage (991/1610): Money\.MultiAccountSpec.addAmount.produces valid amounts (45 mutations)
  4360. 486.65 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)
  4361. 486.91 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)
  4362. 487.17 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)
  4363. 487.19 s [really-safe-money-gen] coverage (992/1610): Money\.MultiAccountSpec.addAmount.computes this example correctly (18 mutations)
  4364. 487.36 s [really-safe-money-gen] coverage (989/1610): Money\.MultiAccountSpec.subtract.produces valid amounts (44 mutations)
  4365. 487.74 s [really-safe-money-gen] coverage (993/1610): Money\.MultiAccountSpec.addAmount.adds a non zero amount (5 mutations)
  4366. 488.17 s [really-safe-money-gen] coverage (994/1610): Money\.MultiAccountSpec.addAmount.removes a zero amount (24 mutations)
  4367. 488.36 s [really-safe-money-gen] coverage (990/1610): Money\.MultiAccountSpec.subtract.has a right-identity\: zero (4 mutations)
  4368. 489.19 s [really-safe-money-gen] coverage (995/1610): Money\.MultiAccountSpec.subtractAccount.produces valid amounts (46 mutations)
  4369. 489.20 s [really-safe-money-gen] coverage (996/1610): Money\.MultiAccountSpec.lookupAccount.can find an added amount (7 mutations)
  4370. 489.47 s [really-safe-money-gen] coverage (997/1610): Money\.MultiAccountSpec.lookupAccount.produces valid amounts (4 mutations)
  4371. 489.90 s [really-safe-money-gen] coverage (1004/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 1 (19 mutations)
  4372. 489.95 s [really-safe-money-gen] coverage (998/1610): Money\.MultiAccountSpec.convertAll.produces valid results when converting two currencies to one (28 mutations)
  4373. 490.80 s [really-safe-money-gen] coverage (1002/1610): Money\.AmountOfSpec.USD.CHF.rate.produces valid amounts (10 mutations)
  4374. 491.39 s [really-safe-money-gen] coverage (1000/1610): Money\.AmountOfSpec.USD.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4375. 491.64 s [really-safe-money-gen] coverage (1001/1610): Money\.AmountOfSpec.USD.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4376. 492.93 s [really-safe-money-gen] coverage (999/1610): Money\.MultiAccountSpec.convertAll.produces the right result in this example (23 mutations)
  4377. 493.07 s [really-safe-money-gen] coverage (1011/1610): Money\.AmountOfSpec.USD.fromRatio.fails on +Infinity (2 mutations)
  4378. 493.94 s [really-safe-money-gen] coverage (1012/1610): Money\.AmountOfSpec.USD.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4379. 494.19 s [really-safe-money-gen] coverage (1013/1610): Money\.AmountOfSpec.USD.add.has a right-identity\: zero (10 mutations)
  4380. 494.20 s [really-safe-money-gen] coverage (1014/1610): Money\.AmountOfSpec.USD.add.produces valid amounts (9 mutations)
  4381. 494.84 s [really-safe-money-gen] coverage (1015/1610): Money\.AmountOfSpec.USD.add.has a left-identity\: zero (10 mutations)
  4382. 501.77 s [really-safe-money-gen] coverage (1016/1610): Money\.AmountOfSpec.USD.add.is commutative (9 mutations)
  4383. 501.88 s [really-safe-money-gen] coverage (1017/1610): Money\.AmountOfSpec.USD.add.is associative when both succeed (9 mutations)
  4384. 502.33 s [really-safe-money-gen] coverage (1018/1610): Money\.AmountOfSpec.USD.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4385. 502.39 s [really-safe-money-gen] coverage (1024/1610): Money\.AmountOfSpec.USD.fromRational.fails on -Infinity (2 mutations)
  4386. 502.60 s [really-safe-money-gen] coverage (1025/1610): Money\.AmountOfSpec.USD.fromRational.succeeds on 1 (19 mutations)
  4387. 502.76 s [really-safe-money-gen] coverage (1005/1610): Money\.AmountOfSpec.USD.fromRatio.roundtrips with toRatio (19 mutations)
  4388. 503.02 s [really-safe-money-gen] coverage (1026/1610): Money\.AmountOfSpec.USD.fromRational.succeeds on 0 (19 mutations)
  4389. 503.12 s [really-safe-money-gen] coverage (1023/1610): Money\.AmountOfSpec.USD.fromRational.fails on NaN (2 mutations)
  4390. 503.31 s [really-safe-money-gen] coverage (1008/1610): Money\.AmountOfSpec.USD.fromRatio.fails on NaN (2 mutations)
  4391. 503.73 s [really-safe-money-gen] coverage (1020/1610): Money\.AmountOfSpec.USD.fromRational.fails on -1 (8 mutations)
  4392. 503.94 s [really-safe-money-gen] coverage (1022/1610): Money\.AmountOfSpec.USD.fromRational.produces valid Amounts (19 mutations)
  4393. 504.39 s [really-safe-money-gen] coverage (1003/1610): Money\.AmountOfSpec.USD.CHF.convert.produces valid amounts (25 mutations)
  4394. 504.90 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)
  4395. 504.95 s [really-safe-money-gen] coverage (1027/1610): Money\.AmountOfSpec.USD.toRational.produces valid Rationals (0 mutations)
  4396. 505.20 s [really-safe-money-gen] coverage (938/1610): Money\.QuantisationFactorSpec.DecimalLiteral.toDecimalLiteral.produces valid literals (40 mutations)
  4397. 505.92 s [really-safe-money-gen] coverage (1029/1610): Money\.AmountOfSpec.USD.zero.is valid (1 mutations)
  4398. 505.95 s [really-safe-money-gen] coverage (1007/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 77 (19 mutations)
  4399. 506.57 s [really-safe-money-gen] coverage (1021/1610): Money\.AmountOfSpec.USD.fromRational.fails on +Infinity (2 mutations)
  4400. 506.81 s [really-safe-money-gen] coverage (1019/1610): Money\.AmountOfSpec.USD.fromRational.roundtrips with toRational (19 mutations)
  4401. 507.01 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)
  4402. 507.53 s [really-safe-money-gen] coverage (1006/1610): Money\.AmountOfSpec.USD.fromRatio.produces valid AmountOfs (19 mutations)
  4403. 508.88 s [really-safe-money-gen] coverage (1031/1610): Money\.AmountOfSpec.USD.BTC.convert.produces valid amounts (25 mutations)
  4404. 509.09 s [really-safe-money-gen] coverage (1038/1610): Money\.AmountOfSpec.USD.fromDouble.fails on NaN (8 mutations)
  4405. 509.13 s [really-safe-money-gen] coverage (1034/1610): Money\.AmountOfSpec.USD.fromDouble.succeeds on 0 (30 mutations)
  4406. 509.57 s [really-safe-money-gen] coverage (1039/1610): Money\.AmountOfSpec.USD.fromDouble.fails on -1 (6 mutations)
  4407. 509.65 s [really-safe-money-gen] coverage (1037/1610): Money\.AmountOfSpec.USD.fromDouble.fails on -Infinity (6 mutations)
  4408. 510.88 s [really-safe-money-gen] coverage (1040/1610): Money\.AmountOfSpec.USD.fraction.produces valid amounts (17 mutations)
  4409. 517.32 s [really-safe-money-gen] coverage (1042/1610): Money\.AmountOfSpec.USD.INR.rate.produces valid amounts (10 mutations)
  4410. 517.80 s [really-safe-money-gen] coverage (1045/1610): Money\.AmountOfSpec.USD.sum.produces valid amounts (10 mutations)
  4411. 518.52 s [really-safe-money-gen] coverage (1046/1610): Money\.AmountOfSpec.USD.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4412. 518.67 s [really-safe-money-gen] coverage (937/1610): Money\.QuantisationFactorSpec.DecimalLiteral.toDecimalLiteral.roundtrips with fromDecimalLiteral (70 mutations)
  4413. 518.81 s [really-safe-money-gen] coverage (1044/1610): Money\.AmountOfSpec.USD.USD.convert.produces valid amounts (25 mutations)
  4414. 518.89 s [really-safe-money-gen] coverage (1043/1610): Money\.AmountOfSpec.USD.USD.rate.produces valid amounts (10 mutations)
  4415. 518.97 s [really-safe-money-gen] coverage (1047/1610): Money\.AmountOfSpec.USD.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4416. 519.56 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)
  4417. 520.02 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)
  4418. 520.24 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)
  4419. 520.34 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)
  4420. 520.75 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)
  4421. 520.75 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)
  4422. 521.14 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)
  4423. 521.27 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)
  4424. 521.67 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)
  4425. 522.27 s [really-safe-money-gen] coverage (1032/1610): Money\.AmountOfSpec.USD.BTC.rate.produces valid amounts (10 mutations)
  4426. 522.78 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)
  4427. 523.29 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)
  4428. 523.83 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)
  4429. 523.92 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)
  4430. 523.99 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)
  4431. 524.90 s [really-safe-money-gen] coverage (1067/1610): Money\.AmountOfSpec.USD.multiply.is absorbed by 0 (10 mutations)
  4432. 525.09 s [really-safe-money-gen] coverage (1068/1610): Money\.AmountOfSpec.USD.multiply.is distributive with add when both succeed (17 mutations)
  4433. 525.36 s [really-safe-money-gen] coverage (1065/1610): Money\.AmountOfSpec.USD.format.produces valid strings (3 mutations)
  4434. 525.54 s [really-safe-money-gen] coverage (1064/1610): Money\.AmountOfSpec.USD.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4435. 526.50 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. 527.45 s [really-safe-money-gen] coverage (1070/1610): Money\.AmountOfSpec.USD.multiply.produces valid amounts (9 mutations)
  4437. 533.34 s [really-safe-money-gen] coverage (1069/1610): Money\.AmountOfSpec.USD.multiply.has an identity\: 1 (9 mutations)
  4438. 534.45 s [really-safe-money-gen] coverage (1073/1610): Money\.AmountOfSpec.USD.distribute.produces valid amounts (21 mutations)
  4439. 534.87 s [really-safe-money-gen] coverage (1071/1610): Money\.AmountOfSpec.USD.toDouble.produces valid Doubles (0 mutations)
  4440. 535.33 s [really-safe-money-gen] coverage (1074/1610): Money\.AmountOfSpec.USD.distribute.produces results that sum up to the greater whole (29 mutations)
  4441. 535.42 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)
  4442. 535.86 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)
  4443. 535.87 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)
  4444. 536.08 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)
  4445. 536.94 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)
  4446. 537.12 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)
  4447. 537.60 s [really-safe-money-gen] coverage (1081/1610): Money\.AmountOfSpec.USD.ADA.convert.produces valid amounts (25 mutations)
  4448. 537.68 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. 537.72 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)
  4450. 538.14 s [really-safe-money-gen] coverage (1082/1610): Money\.AmountOfSpec.USD.ADA.rate.produces valid amounts (10 mutations)
  4451. 538.85 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)
  4452. 538.92 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)
  4453. 539.21 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)
  4454. 540.72 s [really-safe-money-gen] coverage (1035/1610): Money\.AmountOfSpec.USD.fromDouble.succeeds on 1 (30 mutations)
  4455. 540.95 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)
  4456. 540.97 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)
  4457. 541.23 s [really-safe-money-gen] coverage (1089/1610): Money\.AmountOfSpec.ADA.BTC.convert.produces valid amounts (25 mutations)
  4458. 541.65 s [really-safe-money-gen] coverage (1090/1610): Money\.AmountOfSpec.ADA.BTC.rate.produces valid amounts (10 mutations)
  4459. 542.20 s [really-safe-money-gen] coverage (1009/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 0 (20 mutations)
  4460. 542.31 s [really-safe-money-gen] coverage (1010/1610): Money\.AmountOfSpec.USD.fromRatio.fails on 7\.123 (13 mutations)
  4461. 542.37 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)
  4462. 542.51 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)
  4463. 543.56 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)
  4464. 543.80 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)
  4465. 551.02 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)
  4466. 552.27 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)
  4467. 552.75 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)
  4468. 553.16 s [really-safe-money-gen] coverage (1097/1610): Money\.AmountOfSpec.ADA.zero.is valid (1 mutations)
  4469. 553.60 s [really-safe-money-gen] coverage (1101/1610): Money\.AmountOfSpec.ADA.fromRatio.produces valid AmountOfs (19 mutations)
  4470. 553.64 s [really-safe-money-gen] coverage (1099/1610): Money\.AmountOfSpec.ADA.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4471. 554.33 s [really-safe-money-gen] coverage (1102/1610): Money\.AmountOfSpec.ADA.fromRatio.roundtrips with toRatio (19 mutations)
  4472. 554.45 s [really-safe-money-gen] coverage (1100/1610): Money\.AmountOfSpec.ADA.toRational.produces valid Rationals (0 mutations)
  4473. 555.29 s [really-safe-money-gen] coverage (1107/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 77 (19 mutations)
  4474. 555.33 s [really-safe-money-gen] coverage (1111/1610): Money\.AmountOfSpec.ADA.fromRational.roundtrips with toRational (19 mutations)
  4475. 555.36 s [really-safe-money-gen] coverage (1113/1610): Money\.AmountOfSpec.ADA.fromRational.fails on -Infinity (2 mutations)
  4476. 555.64 s [really-safe-money-gen] coverage (1109/1610): Money\.AmountOfSpec.ADA.fromRational.fails on NaN (2 mutations)
  4477. 555.87 s [really-safe-money-gen] coverage (1114/1610): Money\.AmountOfSpec.ADA.fromRational.fails on +Infinity (2 mutations)
  4478. 555.89 s [really-safe-money-gen] coverage (1112/1610): Money\.AmountOfSpec.ADA.fromRational.fails on -1 (8 mutations)
  4479. 557.26 s [really-safe-money-gen] coverage (1116/1610): Money\.AmountOfSpec.ADA.fromRational.succeeds on 0 (19 mutations)
  4480. 557.67 s [really-safe-money-gen] coverage (1117/1610): Money\.AmountOfSpec.ADA.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4481. 558.24 s [really-safe-money-gen] coverage (1115/1610): Money\.AmountOfSpec.ADA.fromRational.produces valid Amounts (19 mutations)
  4482. 558.48 s [really-safe-money-gen] coverage (1118/1610): Money\.AmountOfSpec.ADA.sum.produces valid amounts (10 mutations)
  4483. 558.95 s [really-safe-money-gen] coverage (1120/1610): Money\.AmountOfSpec.ADA.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4484. 559.09 s [really-safe-money-gen] coverage (1119/1610): Money\.AmountOfSpec.ADA.toDouble.produces valid Doubles (0 mutations)
  4485. 559.55 s [really-safe-money-gen] coverage (1122/1610): Money\.AmountOfSpec.ADA.add.has a right-identity\: zero (10 mutations)
  4486. 559.55 s [really-safe-money-gen] coverage (1121/1610): Money\.AmountOfSpec.ADA.add.has a left-identity\: zero (10 mutations)
  4487. 559.59 s [really-safe-money-gen] coverage (1124/1610): Money\.AmountOfSpec.ADA.add.produces valid amounts (9 mutations)
  4488. 559.61 s [really-safe-money-gen] coverage (1123/1610): Money\.AmountOfSpec.ADA.add.is associative when both succeed (9 mutations)
  4489. 560.65 s [really-safe-money-gen] coverage (1125/1610): Money\.AmountOfSpec.ADA.add.is commutative (9 mutations)
  4490. 560.92 s [really-safe-money-gen] coverage (1041/1610): Money\.AmountOfSpec.USD.INR.convert.produces valid amounts (25 mutations)
  4491. 561.02 s [really-safe-money-gen] coverage (1106/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on NaN (2 mutations)
  4492. 562.21 s [really-safe-money-gen] coverage (1104/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on +Infinity (2 mutations)
  4493. 567.74 s [really-safe-money-gen] coverage (1126/1610): Money\.AmountOfSpec.ADA.USD.rate.produces valid amounts (10 mutations)
  4494. 569.44 s [really-safe-money-gen] coverage (1127/1610): Money\.AmountOfSpec.ADA.USD.convert.produces valid amounts (25 mutations)
  4495. 569.74 s [really-safe-money-gen] coverage (1128/1610): Money\.AmountOfSpec.ADA.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4496. 569.81 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)
  4497. 570.50 s [really-safe-money-gen] coverage (1130/1610): Money\.AmountOfSpec.ADA.distribute.produces results that sum up to the greater whole (29 mutations)
  4498. 571.37 s [really-safe-money-gen] coverage (1147/1610): Money\.AmountOfSpec.ADA.INR.rate.produces valid amounts (10 mutations)
  4499. 571.58 s [really-safe-money-gen] coverage (1146/1610): Money\.AmountOfSpec.ADA.fraction.produces valid amounts (17 mutations)
  4500. 571.76 s [really-safe-money-gen] coverage (1145/1610): Money\.AmountOfSpec.ADA.ADA.convert.produces valid amounts (25 mutations)
  4501. 572.06 s [really-safe-money-gen] coverage (1149/1610): Money\.AmountOfSpec.ADA.multiply.produces valid amounts (9 mutations)
  4502. 572.49 s [really-safe-money-gen] coverage (1148/1610): Money\.AmountOfSpec.ADA.INR.convert.produces valid amounts (25 mutations)
  4503. 572.50 s [really-safe-money-gen] coverage (1150/1610): Money\.AmountOfSpec.ADA.multiply.is absorbed by 0 (10 mutations)
  4504. 572.77 s [really-safe-money-gen] coverage (1156/1610): Money\.AmountOfSpec.ADA.fromDouble.succeeds on 1 (30 mutations)
  4505. 573.43 s [really-safe-money-gen] coverage (1152/1610): Money\.AmountOfSpec.ADA.multiply.is distributive with add when both succeed (17 mutations)
  4506. 573.46 s [really-safe-money-gen] coverage (1151/1610): Money\.AmountOfSpec.ADA.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4507. 574.19 s [really-safe-money-gen] coverage (1157/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on NaN (8 mutations)
  4508. 574.35 s [really-safe-money-gen] coverage (1158/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on -Infinity (6 mutations)
  4509. 575.79 s [really-safe-money-gen] coverage (1160/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on -1 (6 mutations)
  4510. 576.25 s [really-safe-money-gen] coverage (1159/1610): Money\.AmountOfSpec.ADA.fromDouble.produces valid amounts (30 mutations)
  4511. 576.26 s [really-safe-money-gen] coverage (1154/1610): Money\.AmountOfSpec.ADA.fromDouble.succeeds on 0 (30 mutations)
  4512. 576.46 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)
  4513. 576.90 s [really-safe-money-gen] coverage (1161/1610): Money\.AmountOfSpec.ADA.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4514. 577.70 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)
  4515. 577.74 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)
  4516. 578.26 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)
  4517. 578.42 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)
  4518. 578.61 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)
  4519. 579.21 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)
  4520. 579.29 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)
  4521. 585.85 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)
  4522. 587.29 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. 587.60 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)
  4524. 587.68 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)
  4525. 588.27 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)
  4526. 588.73 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)
  4527. 588.92 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)
  4528. 588.93 s [really-safe-money-gen] coverage (1153/1610): Money\.AmountOfSpec.ADA.multiply.has an identity\: 1 (9 mutations)
  4529. 589.44 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)
  4530. 589.75 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)
  4531. 589.78 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)
  4532. 590.05 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)
  4533. 590.15 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)
  4534. 590.24 s [really-safe-money-gen] coverage (1141/1610): Money\.AmountOfSpec.ADA.CHF.rate.produces valid amounts (10 mutations)
  4535. 591.36 s [really-safe-money-gen] coverage (1036/1610): Money\.AmountOfSpec.USD.fromDouble.fails on +Infinity (10 mutations)
  4536. 591.64 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)
  4537. 592.29 s [really-safe-money-gen] coverage (1137/1610): Money\.AmountOfSpec.ADA.distribute.produces valid amounts (21 mutations)
  4538. 592.34 s [really-safe-money-gen] coverage (1142/1610): Money\.AmountOfSpec.ADA.format.produces valid strings (3 mutations)
  4539. 592.79 s [really-safe-money-gen] coverage (1138/1610): Money\.AmountOfSpec.ADA.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4540. 592.85 s [really-safe-money-gen] coverage (1033/1610): Money\.AmountOfSpec.USD.fromDouble.produces valid amounts (30 mutations)
  4541. 593.82 s [really-safe-money-gen] coverage (1140/1610): Money\.AmountOfSpec.ADA.CHF.convert.produces valid amounts (25 mutations)
  4542. 593.87 s [really-safe-money-gen] coverage (1139/1610): Money\.AmountOfSpec.ADA.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4543. 594.31 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)
  4544. 594.84 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)
  4545. 595.49 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)
  4546. 595.69 s [really-safe-money-gen] coverage (1178/1610): Money\.AmountOfSpec.INR.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4547. 596.14 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)
  4548. 596.45 s [really-safe-money-gen] coverage (1179/1610): Money\.AmountOfSpec.INR.toDouble.produces valid Doubles (0 mutations)
  4549. 603.43 s [really-safe-money-gen] coverage (1180/1610): Money\.AmountOfSpec.INR.distribute.produces results that sum up to the greater whole (29 mutations)
  4550. 604.32 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)
  4551. 604.51 s [really-safe-money-gen] coverage (1181/1610): Money\.AmountOfSpec.INR.distribute.produces valid amounts (21 mutations)
  4552. 604.65 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)
  4553. 605.70 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)
  4554. 605.78 s [really-safe-money-gen] coverage (1103/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 0 (20 mutations)
  4555. 606.36 s [really-safe-money-gen] coverage (1108/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on 7\.123 (13 mutations)
  4556. 606.60 s [really-safe-money-gen] coverage (1195/1610): Money\.AmountOfSpec.INR.fromDouble.succeeds on 1 (30 mutations)
  4557. 606.60 s [really-safe-money-gen] coverage (1110/1610): Money\.AmountOfSpec.ADA.fromRational.succeeds on 1 (19 mutations)
  4558. 606.65 s [really-safe-money-gen] coverage (1105/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 1 (19 mutations)
  4559. 607.05 s [really-safe-money-gen] coverage (1144/1610): Money\.AmountOfSpec.ADA.ADA.rate.produces valid amounts (10 mutations)
  4560. 607.25 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)
  4561. 607.98 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)
  4562. 608.08 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)
  4563. 608.68 s [really-safe-money-gen] coverage (1193/1610): Money\.AmountOfSpec.INR.ADA.convert.produces valid amounts (25 mutations)
  4564. 608.84 s [really-safe-money-gen] coverage (1155/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on +Infinity (10 mutations)
  4565. 609.31 s [really-safe-money-gen] coverage (1198/1610): Money\.AmountOfSpec.INR.fromDouble.fails on -1 (6 mutations)
  4566. 609.52 s [really-safe-money-gen] coverage (1192/1610): Money\.AmountOfSpec.INR.ADA.rate.produces valid amounts (10 mutations)
  4567. 610.22 s [really-safe-money-gen] coverage (1200/1610): Money\.AmountOfSpec.INR.fromDouble.produces valid amounts (30 mutations)
  4568. 610.28 s [really-safe-money-gen] coverage (1199/1610): Money\.AmountOfSpec.INR.fromDouble.succeeds on 0 (30 mutations)
  4569. 610.98 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)
  4570. 611.26 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)
  4571. 611.34 s [really-safe-money-gen] coverage (1191/1610): Money\.AmountOfSpec.INR.fraction.produces valid amounts (17 mutations)
  4572. 612.34 s [really-safe-money-gen] coverage (1190/1610): Money\.AmountOfSpec.INR.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4573. 612.85 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)
  4574. 613.57 s [really-safe-money-gen] coverage (1189/1610): Money\.AmountOfSpec.INR.zero.is valid (1 mutations)
  4575. 613.65 s [really-safe-money-gen] coverage (1194/1610): Money\.AmountOfSpec.INR.fromDouble.fails on -Infinity (6 mutations)
  4576. 613.66 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)
  4577. 620.11 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)
  4578. 621.34 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)
  4579. 621.38 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)
  4580. 621.88 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)
  4581. 622.04 s [really-safe-money-gen] coverage (1197/1610): Money\.AmountOfSpec.INR.fromDouble.fails on +Infinity (10 mutations)
  4582. 622.66 s [really-safe-money-gen] coverage (1196/1610): Money\.AmountOfSpec.INR.fromDouble.fails on NaN (8 mutations)
  4583. 622.75 s [really-safe-money-gen] coverage (1217/1610): Money\.AmountOfSpec.INR.CHF.convert.produces valid amounts (25 mutations)
  4584. 623.06 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)
  4585. 623.19 s [really-safe-money-gen] coverage (1218/1610): Money\.AmountOfSpec.INR.CHF.rate.produces valid amounts (10 mutations)
  4586. 623.51 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)
  4587. 623.56 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)
  4588. 624.07 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)
  4589. 625.19 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)
  4590. 625.22 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)
  4591. 625.22 s [really-safe-money-gen] coverage (1219/1610): Money\.AmountOfSpec.INR.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4592. 625.64 s [really-safe-money-gen] coverage (1220/1610): Money\.AmountOfSpec.INR.multiply.produces valid amounts (9 mutations)
  4593. 625.89 s [really-safe-money-gen] coverage (1221/1610): Money\.AmountOfSpec.INR.multiply.is absorbed by 0 (10 mutations)
  4594. 626.51 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)
  4595. 626.54 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)
  4596. 627.61 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)
  4597. 627.81 s [really-safe-money-gen] coverage (1222/1610): Money\.AmountOfSpec.INR.multiply.has an identity\: 1 (9 mutations)
  4598. 628.26 s [really-safe-money-gen] coverage (1223/1610): Money\.AmountOfSpec.INR.multiply.is distributive with add when both succeed (17 mutations)
  4599. 628.78 s [really-safe-money-gen] coverage (1224/1610): Money\.AmountOfSpec.INR.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4600. 629.31 s [really-safe-money-gen] coverage (1225/1610): Money\.AmountOfSpec.INR.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4601. 629.34 s [really-safe-money-gen] coverage (1226/1610): Money\.AmountOfSpec.INR.fromRational.succeeds on 0 (19 mutations)
  4602. 630.21 s [really-safe-money-gen] coverage (1228/1610): Money\.AmountOfSpec.INR.fromRational.roundtrips with toRational (19 mutations)
  4603. 630.21 s [really-safe-money-gen] coverage (1227/1610): Money\.AmountOfSpec.INR.fromRational.fails on -Infinity (2 mutations)
  4604. 630.47 s [really-safe-money-gen] coverage (1229/1610): Money\.AmountOfSpec.INR.fromRational.fails on +Infinity (2 mutations)
  4605. 636.97 s [really-safe-money-gen] coverage (1231/1610): Money\.AmountOfSpec.INR.fromRational.produces valid Amounts (19 mutations)
  4606. 638.82 s [really-safe-money-gen] coverage (1232/1610): Money\.AmountOfSpec.INR.fromRational.succeeds on 1 (19 mutations)
  4607. 638.84 s [really-safe-money-gen] coverage (1234/1610): Money\.AmountOfSpec.INR.add.is commutative (9 mutations)
  4608. 639.15 s [really-safe-money-gen] coverage (1233/1610): Money\.AmountOfSpec.INR.fromRational.fails on -1 (8 mutations)
  4609. 639.34 s [really-safe-money-gen] coverage (1235/1610): Money\.AmountOfSpec.INR.add.is associative when both succeed (9 mutations)
  4610. 639.49 s [really-safe-money-gen] coverage (1236/1610): Money\.AmountOfSpec.INR.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4611. 640.51 s [really-safe-money-gen] coverage (1230/1610): Money\.AmountOfSpec.INR.fromRational.fails on NaN (2 mutations)
  4612. 640.56 s [really-safe-money-gen] coverage (1237/1610): Money\.AmountOfSpec.INR.add.has a left-identity\: zero (10 mutations)
  4613. 641.19 s [really-safe-money-gen] coverage (1238/1610): Money\.AmountOfSpec.INR.add.has a right-identity\: zero (10 mutations)
  4614. 641.25 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)
  4615. 641.45 s [really-safe-money-gen] coverage (1240/1610): Money\.AmountOfSpec.INR.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4616. 641.66 s [really-safe-money-gen] coverage (1242/1610): Money\.AmountOfSpec.INR.toRational.produces valid Rationals (0 mutations)
  4617. 642.53 s [really-safe-money-gen] coverage (1247/1610): Money\.AmountOfSpec.INR.INR.convert.produces valid amounts (25 mutations)
  4618. 642.60 s [really-safe-money-gen] coverage (1245/1610): Money\.AmountOfSpec.INR.format.produces valid strings (3 mutations)
  4619. 642.65 s [really-safe-money-gen] coverage (1248/1610): Money\.AmountOfSpec.INR.BTC.rate.produces valid amounts (10 mutations)
  4620. 643.12 s [really-safe-money-gen] coverage (1249/1610): Money\.AmountOfSpec.INR.BTC.convert.produces valid amounts (25 mutations)
  4621. 643.61 s [really-safe-money-gen] coverage (1244/1610): Money\.AmountOfSpec.INR.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4622. 643.69 s [really-safe-money-gen] coverage (1251/1610): Money\.AmountOfSpec.INR.fromRatio.fails on +Infinity (2 mutations)
  4623. 644.62 s [really-safe-money-gen] coverage (1253/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 0 (20 mutations)
  4624. 644.82 s [really-safe-money-gen] coverage (1250/1610): Money\.AmountOfSpec.INR.fromRatio.fails on NaN (2 mutations)
  4625. 645.08 s [really-safe-money-gen] coverage (1246/1610): Money\.AmountOfSpec.INR.INR.rate.produces valid amounts (10 mutations)
  4626. 645.38 s [really-safe-money-gen] coverage (1257/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 77 (19 mutations)
  4627. 645.44 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)
  4628. 646.35 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)
  4629. 646.35 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)
  4630. 646.93 s [really-safe-money-gen] coverage (1266/1610): Money\.AmountOfSpec.INR.USD.rate.produces valid amounts (10 mutations)
  4631. 647.48 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)
  4632. 647.54 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)
  4633. 652.98 s [really-safe-money-gen] coverage (1256/1610): Money\.AmountOfSpec.INR.fromRatio.fails on 7\.123 (13 mutations)
  4634. 654.33 s [really-safe-money-gen] coverage (1254/1610): Money\.AmountOfSpec.INR.fromRatio.roundtrips with toRatio (19 mutations)
  4635. 654.49 s [really-safe-money-gen] coverage (1265/1610): Money\.AmountOfSpec.INR.USD.convert.produces valid amounts (25 mutations)
  4636. 655.49 s [really-safe-money-gen] coverage (1255/1610): Money\.AmountOfSpec.INR.fromRatio.produces valid AmountOfs (19 mutations)
  4637. 655.57 s [really-safe-money-gen] coverage (1243/1610): Money\.AmountOfSpec.INR.sum.produces valid amounts (10 mutations)
  4638. 655.76 s [really-safe-money-gen] coverage (1252/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 1 (19 mutations)
  4639. 656.36 s [really-safe-money-gen] coverage (1268/1610): Money\.AmountOfSpec.BTC.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4640. 657.03 s [really-safe-money-gen] coverage (1269/1610): Money\.AmountOfSpec.BTC.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4641. 657.04 s [really-safe-money-gen] coverage (1239/1610): Money\.AmountOfSpec.INR.add.produces valid amounts (9 mutations)
  4642. 657.65 s [really-safe-money-gen] coverage (1271/1610): Money\.AmountOfSpec.BTC.INR.convert.produces valid amounts (25 mutations)
  4643. 657.90 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)
  4644. 658.57 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)
  4645. 658.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)
  4646. 658.82 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)
  4647. 658.87 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)
  4648. 659.04 s [really-safe-money-gen] coverage (1270/1610): Money\.AmountOfSpec.BTC.INR.rate.produces valid amounts (10 mutations)
  4649. 659.26 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)
  4650. 659.44 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)
  4651. 660.47 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)
  4652. 661.31 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)
  4653. 661.69 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. 661.85 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)
  4655. 662.33 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)
  4656. 662.78 s [really-safe-money-gen] coverage (1288/1610): Money\.AmountOfSpec.BTC.fromRatio.roundtrips with toRatio (19 mutations)
  4657. 662.89 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)
  4658. 663.82 s [really-safe-money-gen] coverage (1289/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on NaN (2 mutations)
  4659. 664.31 s [really-safe-money-gen] coverage (1290/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 77 (19 mutations)
  4660. 664.81 s [really-safe-money-gen] coverage (1291/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 0 (20 mutations)
  4661. 670.14 s [really-safe-money-gen] coverage (1292/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 1 (19 mutations)
  4662. 671.40 s [really-safe-money-gen] coverage (1294/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on +Infinity (2 mutations)
  4663. 671.86 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)
  4664. 672.14 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)
  4665. 672.33 s [really-safe-money-gen] coverage (1296/1610): Money\.AmountOfSpec.BTC.CHF.convert.produces valid amounts (25 mutations)
  4666. 672.44 s [really-safe-money-gen] coverage (1293/1610): Money\.AmountOfSpec.BTC.fromRatio.produces valid AmountOfs (19 mutations)
  4667. 672.98 s [really-safe-money-gen] coverage (1267/1610): Money\.AmountOfSpec.BTC.format.produces valid strings (3 mutations)
  4668. 673.61 s [really-safe-money-gen] coverage (1303/1610): Money\.AmountOfSpec.BTC.fromRational.fails on -Infinity (2 mutations)
  4669. 674.02 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)
  4670. 674.03 s [really-safe-money-gen] coverage (1306/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on +Infinity (10 mutations)
  4671. 674.46 s [really-safe-money-gen] coverage (1308/1610): Money\.AmountOfSpec.BTC.fromDouble.produces valid amounts (30 mutations)
  4672. 674.67 s [really-safe-money-gen] coverage (1305/1610): Money\.AmountOfSpec.BTC.fromRational.roundtrips with toRational (19 mutations)
  4673. 674.95 s [really-safe-money-gen] coverage (1299/1610): Money\.AmountOfSpec.BTC.fromRational.produces valid Amounts (19 mutations)
  4674. 675.17 s [really-safe-money-gen] coverage (1298/1610): Money\.AmountOfSpec.BTC.fromRational.fails on NaN (2 mutations)
  4675. 675.23 s [really-safe-money-gen] coverage (1309/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on -1 (6 mutations)
  4676. 675.49 s [really-safe-money-gen] coverage (1311/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on -Infinity (6 mutations)
  4677. 675.78 s [really-safe-money-gen] coverage (1295/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on 7\.123 (13 mutations)
  4678. 676.05 s [really-safe-money-gen] coverage (1312/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on NaN (8 mutations)
  4679. 677.10 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)
  4680. 677.21 s [really-safe-money-gen] coverage (1297/1610): Money\.AmountOfSpec.BTC.CHF.rate.produces valid amounts (10 mutations)
  4681. 677.72 s [really-safe-money-gen] coverage (1300/1610): Money\.AmountOfSpec.BTC.fromRational.fails on -1 (8 mutations)
  4682. 677.82 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)
  4683. 679.50 s [really-safe-money-gen] coverage (1331/1610): Money\.AmountOfSpec.BTC.BTC.convert.produces valid amounts (25 mutations)
  4684. 679.98 s [really-safe-money-gen] coverage (1332/1610): Money\.AmountOfSpec.BTC.BTC.rate.produces valid amounts (10 mutations)
  4685. 680.61 s [really-safe-money-gen] coverage (1333/1610): Money\.AmountOfSpec.BTC.toDouble.produces valid Doubles (0 mutations)
  4686. 680.68 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)
  4687. 680.99 s [really-safe-money-gen] coverage (1335/1610): Money\.AmountOfSpec.BTC.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4688. 681.46 s [really-safe-money-gen] coverage (1336/1610): Money\.AmountOfSpec.BTC.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4689. 686.63 s [really-safe-money-gen] coverage (1337/1610): Money\.AmountOfSpec.BTC.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4690. 688.67 s [really-safe-money-gen] coverage (1339/1610): Money\.AmountOfSpec.BTC.sum.produces valid amounts (10 mutations)
  4691. 689.16 s [really-safe-money-gen] coverage (1338/1610): Money\.AmountOfSpec.BTC.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4692. 690.69 s [really-safe-money-gen] coverage (1346/1610): Money\.AmountOfSpec.BTC.distribute.produces valid amounts (21 mutations)
  4693. 690.70 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)
  4694. 690.91 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)
  4695. 691.33 s [really-safe-money-gen] coverage (1347/1610): Money\.AmountOfSpec.BTC.distribute.produces results that sum up to the greater whole (29 mutations)
  4696. 691.44 s [really-safe-money-gen] coverage (1349/1610): Money\.AmountOfSpec.BTC.toRational.produces valid Rationals (0 mutations)
  4697. 691.74 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)
  4698. 692.00 s [really-safe-money-gen] coverage (1350/1610): Money\.AmountOfSpec.BTC.fraction.produces valid amounts (17 mutations)
  4699. 692.30 s [really-safe-money-gen] coverage (1353/1610): Money\.AmountOfSpec.BTC.multiply.produces valid amounts (9 mutations)
  4700. 692.89 s [really-safe-money-gen] coverage (1352/1610): Money\.AmountOfSpec.BTC.multiply.has an identity\: 1 (9 mutations)
  4701. 693.05 s [really-safe-money-gen] coverage (1355/1610): Money\.AmountOfSpec.BTC.multiply.is distributive with add when both succeed (17 mutations)
  4702. 693.07 s [really-safe-money-gen] coverage (1354/1610): Money\.AmountOfSpec.BTC.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4703. 693.53 s [really-safe-money-gen] coverage (1310/1610): Money\.AmountOfSpec.BTC.fromDouble.succeeds on 0 (30 mutations)
  4704. 693.55 s [really-safe-money-gen] coverage (1351/1610): Money\.AmountOfSpec.BTC.multiply.is absorbed by 0 (10 mutations)
  4705. 693.55 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)
  4706. 694.08 s [really-safe-money-gen] coverage (1307/1610): Money\.AmountOfSpec.BTC.fromDouble.succeeds on 1 (30 mutations)
  4707. 694.65 s [really-safe-money-gen] coverage (1356/1610): Money\.AmountOfSpec.CHF.INR.convert.produces valid amounts (25 mutations)
  4708. 695.23 s [really-safe-money-gen] coverage (1357/1610): Money\.AmountOfSpec.CHF.INR.rate.produces valid amounts (10 mutations)
  4709. 695.45 s [really-safe-money-gen] coverage (1358/1610): Money\.AmountOfSpec.CHF.USD.convert.produces valid amounts (25 mutations)
  4710. 696.38 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)
  4711. 696.41 s [really-safe-money-gen] coverage (1329/1610): Money\.AmountOfSpec.BTC.ADA.rate.produces valid amounts (10 mutations)
  4712. 697.53 s [really-safe-money-gen] coverage (1323/1610): Money\.AmountOfSpec.BTC.add.has a left-identity\: zero (10 mutations)
  4713. 697.98 s [really-safe-money-gen] coverage (1326/1610): Money\.AmountOfSpec.BTC.add.produces valid amounts (9 mutations)
  4714. 698.62 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)
  4715. 699.23 s [really-safe-money-gen] coverage (1328/1610): Money\.AmountOfSpec.BTC.ADA.convert.produces valid amounts (25 mutations)
  4716. 699.54 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)
  4717. 703.13 s [really-safe-money-gen] coverage (1315/1610): Money\.AmountOfSpec.BTC.USD.convert.produces valid amounts (25 mutations)
  4718. 705.39 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)
  4719. 706.77 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)
  4720. 707.66 s [really-safe-money-gen] coverage (1301/1610): Money\.AmountOfSpec.BTC.fromRational.succeeds on 1 (19 mutations)
  4721. 707.78 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)
  4722. 707.82 s [really-safe-money-gen] coverage (1302/1610): Money\.AmountOfSpec.BTC.fromRational.fails on +Infinity (2 mutations)
  4723. 708.24 s [really-safe-money-gen] coverage (1304/1610): Money\.AmountOfSpec.BTC.fromRational.succeeds on 0 (19 mutations)
  4724. 708.40 s [really-safe-money-gen] coverage (1322/1610): Money\.AmountOfSpec.BTC.add.has a right-identity\: zero (10 mutations)
  4725. 709.20 s [really-safe-money-gen] coverage (1314/1610): Money\.AmountOfSpec.BTC.USD.rate.produces valid amounts (10 mutations)
  4726. 709.63 s [really-safe-money-gen] coverage (1360/1610): Money\.AmountOfSpec.CHF.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4727. 709.65 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)
  4728. 709.69 s [really-safe-money-gen] coverage (1381/1610): Money\.AmountOfSpec.CHF.fromRational.fails on NaN (2 mutations)
  4729. 710.15 s [really-safe-money-gen] coverage (1380/1610): Money\.AmountOfSpec.CHF.fromRational.fails on -1 (8 mutations)
  4730. 710.16 s [really-safe-money-gen] coverage (1378/1610): Money\.AmountOfSpec.CHF.fromRational.succeeds on 0 (19 mutations)
  4731. 710.17 s [really-safe-money-gen] coverage (1382/1610): Money\.AmountOfSpec.CHF.fromRational.roundtrips with toRational (19 mutations)
  4732. 710.32 s [really-safe-money-gen] coverage (1376/1610): Money\.AmountOfSpec.CHF.fromRational.fails on +Infinity (2 mutations)
  4733. 710.43 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)
  4734. 711.30 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)
  4735. 711.45 s [really-safe-money-gen] coverage (1375/1610): Money\.AmountOfSpec.CHF.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4736. 711.76 s [really-safe-money-gen] coverage (1383/1610): Money\.AmountOfSpec.CHF.fromRational.succeeds on 1 (19 mutations)
  4737. 712.21 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)
  4738. 712.21 s [really-safe-money-gen] coverage (1390/1610): Money\.AmountOfSpec.CHF.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4739. 713.21 s [really-safe-money-gen] coverage (1391/1610): Money\.AmountOfSpec.CHF.sum.produces valid amounts (10 mutations)
  4740. 713.88 s [really-safe-money-gen] coverage (1393/1610): Money\.AmountOfSpec.CHF.BTC.rate.produces valid amounts (10 mutations)
  4741. 714.61 s [really-safe-money-gen] coverage (1392/1610): Money\.AmountOfSpec.CHF.BTC.convert.produces valid amounts (25 mutations)
  4742. 715.78 s [really-safe-money-gen] coverage (1394/1610): Money\.AmountOfSpec.CHF.zero.is valid (1 mutations)
  4743. 717.00 s [really-safe-money-gen] coverage (1395/1610): Money\.AmountOfSpec.CHF.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4744. 717.03 s [really-safe-money-gen] coverage (1396/1610): Money\.AmountOfSpec.CHF.toDouble.produces valid Doubles (0 mutations)
  4745. 720.52 s [really-safe-money-gen] coverage (1397/1610): Money\.AmountOfSpec.CHF.toRational.produces valid Rationals (0 mutations)
  4746. 722.38 s [really-safe-money-gen] coverage (1398/1610): Money\.AmountOfSpec.CHF.CHF.convert.produces valid amounts (25 mutations)
  4747. 724.00 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)
  4748. 724.29 s [really-safe-money-gen] coverage (1399/1610): Money\.AmountOfSpec.CHF.CHF.rate.produces valid amounts (10 mutations)
  4749. 724.79 s [really-safe-money-gen] coverage (1402/1610): Money\.AmountOfSpec.CHF.fromDouble.succeeds on 1 (30 mutations)
  4750. 725.00 s [really-safe-money-gen] coverage (1401/1610): Money\.AmountOfSpec.CHF.format.produces valid strings (3 mutations)
  4751. 725.68 s [really-safe-money-gen] coverage (1404/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on +Infinity (10 mutations)
  4752. 725.77 s [really-safe-money-gen] coverage (1403/1610): Money\.AmountOfSpec.CHF.fromDouble.produces valid amounts (30 mutations)
  4753. 726.21 s [really-safe-money-gen] coverage (1405/1610): Money\.AmountOfSpec.CHF.fromDouble.succeeds on 0 (30 mutations)
  4754. 726.43 s [really-safe-money-gen] coverage (1407/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on NaN (8 mutations)
  4755. 726.88 s [really-safe-money-gen] coverage (1406/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on -1 (6 mutations)
  4756. 727.31 s [really-safe-money-gen] coverage (1409/1610): Money\.AmountOfSpec.CHF.ADA.rate.produces valid amounts (10 mutations)
  4757. 727.51 s [really-safe-money-gen] coverage (1410/1610): Money\.AmountOfSpec.CHF.ADA.convert.produces valid amounts (25 mutations)
  4758. 727.63 s [really-safe-money-gen] coverage (1408/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on -Infinity (6 mutations)
  4759. 727.72 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)
  4760. 727.88 s [really-safe-money-gen] coverage (1411/1610): Money\.AmountOfSpec.CHF.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4761. 727.98 s [really-safe-money-gen] coverage (1412/1610): Money\.AmountOfSpec.CHF.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4762. 728.15 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)
  4763. 728.34 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)
  4764. 729.03 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)
  4765. 729.06 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)
  4766. 729.61 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)
  4767. 729.92 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)
  4768. 731.15 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)
  4769. 731.84 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)
  4770. 733.02 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)
  4771. 733.95 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)
  4772. 734.59 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)
  4773. 738.19 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)
  4774. 739.74 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)
  4775. 741.71 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)
  4776. 742.18 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)
  4777. 742.24 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)
  4778. 742.45 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)
  4779. 742.53 s [really-safe-money-gen] coverage (1432/1610): Money\.AmountOfSpec.CHF.distribute.produces results that sum up to the greater whole (29 mutations)
  4780. 742.60 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)
  4781. 742.90 s [really-safe-money-gen] coverage (1431/1610): Money\.AmountOfSpec.CHF.distribute.produces valid amounts (21 mutations)
  4782. 743.13 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)
  4783. 743.66 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. 743.87 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)
  4785. 744.17 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)
  4786. 744.59 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)
  4787. 744.59 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)
  4788. 745.23 s [really-safe-money-gen] coverage (1330/1610): Money\.AmountOfSpec.BTC.zero.is valid (1 mutations)
  4789. 745.24 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)
  4790. 745.31 s [really-safe-money-gen] coverage (1439/1610): Money\.AmountOfSpec.CHF.add.is commutative (9 mutations)
  4791. 745.48 s [really-safe-money-gen] coverage (1440/1610): Money\.AmountOfSpec.CHF.add.has a left-identity\: zero (10 mutations)
  4792. 745.50 s [really-safe-money-gen] coverage (1441/1610): Money\.AmountOfSpec.CHF.add.is associative when both succeed (9 mutations)
  4793. 746.36 s [really-safe-money-gen] coverage (1324/1610): Money\.AmountOfSpec.BTC.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4794. 747.08 s [really-safe-money-gen] coverage (1366/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on 7\.123 (13 mutations)
  4795. 747.25 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)
  4796. 747.91 s [really-safe-money-gen] coverage (1363/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on NaN (2 mutations)
  4797. 749.25 s [really-safe-money-gen] coverage (1364/1610): Money\.AmountOfSpec.CHF.fromRatio.roundtrips with toRatio (19 mutations)
  4798. 749.70 s [really-safe-money-gen] coverage (1374/1610): Money\.AmountOfSpec.CHF.multiply.produces valid amounts (9 mutations)
  4799. 750.58 s [really-safe-money-gen] coverage (1362/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on +Infinity (2 mutations)
  4800. 751.05 s [really-safe-money-gen] coverage (1361/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 0 (20 mutations)
  4801. 755.21 s [really-safe-money-gen] coverage (1379/1610): Money\.AmountOfSpec.CHF.fromRational.fails on -Infinity (2 mutations)
  4802. 756.14 s [really-safe-money-gen] coverage (1365/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 1 (19 mutations)
  4803. 758.13 s [really-safe-money-gen] coverage (1359/1610): Money\.AmountOfSpec.CHF.USD.rate.produces valid amounts (10 mutations)
  4804. 758.24 s [really-safe-money-gen] coverage (1446/1610): Money\.AmountSpec.fraction.Correctly fractions 101 with 1 % 100 (12 mutations)
  4805. 759.10 s [really-safe-money-gen] coverage (1442/1610): Money\.AmountOfSpec.CHF.add.produces valid amounts (9 mutations)
  4806. 759.53 s [really-safe-money-gen] coverage (1443/1610): Money\.AmountOfSpec.CHF.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4807. 760.01 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)
  4808. 760.07 s [really-safe-money-gen] coverage (1327/1610): Money\.AmountOfSpec.BTC.add.is associative when both succeed (9 mutations)
  4809. 760.30 s [really-safe-money-gen] coverage (1449/1610): Money\.AmountSpec.fraction.Correctly fractions 100 with 1 % 100 (12 mutations)
  4810. 760.32 s [really-safe-money-gen] coverage (1447/1610): Money\.AmountSpec.fraction.Produces a result that can be multiplied back (17 mutations)
  4811. 760.38 s [really-safe-money-gen] coverage (1456/1610): Money\.AmountSpec.fromRatio.succeeds on 1 (19 mutations)
  4812. 760.43 s [really-safe-money-gen] coverage (1459/1610): Money\.AmountSpec.fromRatio.succeeds on 77\.02 with quantisation factor 100 (19 mutations)
  4813. 760.86 s [really-safe-money-gen] coverage (1457/1610): Money\.AmountSpec.fromRatio.fails on NaN (2 mutations)
  4814. 761.25 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)
  4815. 761.76 s [really-safe-money-gen] coverage (1452/1610): Money\.AmountSpec.format.formats 1 correctly with quantisation factor 10 (3 mutations)
  4816. 762.04 s [really-safe-money-gen] coverage (1368/1610): Money\.AmountOfSpec.CHF.fromRatio.produces valid AmountOfs (19 mutations)
  4817. 762.05 s [really-safe-money-gen] coverage (1458/1610): Money\.AmountSpec.fromRatio.fails on +Infinity (2 mutations)
  4818. 762.08 s [really-safe-money-gen] coverage (1369/1610): Money\.AmountOfSpec.CHF.fraction.produces valid amounts (17 mutations)
  4819. 762.18 s [really-safe-money-gen] coverage (1377/1610): Money\.AmountOfSpec.CHF.fromRational.produces valid Amounts (19 mutations)
  4820. 762.60 s [really-safe-money-gen] coverage (1444/1610): Money\.AmountOfSpec.CHF.add.has a right-identity\: zero (10 mutations)
  4821. 763.25 s [really-safe-money-gen] coverage (1370/1610): Money\.AmountOfSpec.CHF.multiply.has an identity\: 1 (9 mutations)
  4822. 763.66 s [really-safe-money-gen] coverage (1372/1610): Money\.AmountOfSpec.CHF.multiply.is distributive with add when both succeed (17 mutations)
  4823. 764.17 s [really-safe-money-gen] coverage (1371/1610): Money\.AmountOfSpec.CHF.multiply.is absorbed by 0 (10 mutations)
  4824. 764.76 s [really-safe-money-gen] coverage (1454/1610): Money\.AmountSpec.fromRatio.produces valid Amounts (19 mutations)
  4825. 765.62 s [really-safe-money-gen] coverage (1325/1610): Money\.AmountOfSpec.BTC.add.is commutative (9 mutations)
  4826. 765.63 s [really-safe-money-gen] coverage (1373/1610): Money\.AmountOfSpec.CHF.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4827. 765.75 s [really-safe-money-gen] coverage (1451/1610): Money\.AmountSpec.format.formats 1 correctly with quantisation factor 1 (3 mutations)
  4828. 768.17 s [really-safe-money-gen] coverage (1448/1610): Money\.AmountSpec.fraction.produces valid amounts (17 mutations)
  4829. 772.91 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)
  4830. 773.62 s [really-safe-money-gen] coverage (1453/1610): Money\.AmountSpec.format.produces valid strings (3 mutations)
  4831. 775.70 s [really-safe-money-gen] coverage (1460/1610): Money\.AmountSpec.fromRatio.succeeds on 0 (19 mutations)
  4832. 776.33 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)
  4833. 776.35 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)
  4834. 776.80 s [really-safe-money-gen] coverage (1455/1610): Money\.AmountSpec.fromRatio.roundtrips with toRatio (19 mutations)
  4835. 777.42 s [really-safe-money-gen] coverage (1477/1610): Money\.AmountSpec.sum.fails to sum above maxBound (9 mutations)
  4836. 777.56 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)
  4837. 778.13 s [really-safe-money-gen] coverage (1474/1610): Money\.AmountSpec.distribute.produces valid amounts (17 mutations)
  4838. 778.33 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)
  4839. 778.37 s [really-safe-money-gen] coverage (1478/1610): Money\.AmountSpec.sum.correctly sums [1,2,3] to 6 (10 mutations)
  4840. 778.56 s [really-safe-money-gen] coverage (1479/1610): Money\.AmountSpec.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
  4841. 778.67 s [really-safe-money-gen] coverage (1481/1610): Money\.AmountSpec.multiply.produces valid amounts (9 mutations)
  4842. 779.12 s [really-safe-money-gen] coverage (1480/1610): Money\.AmountSpec.multiply.fails for 2 * maxbound (8 mutations)
  4843. 779.15 s [really-safe-money-gen] coverage (1482/1610): Money\.AmountSpec.multiply.is absorbed by 0 (10 mutations)
  4844. 779.35 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)
  4845. 779.81 s [really-safe-money-gen] coverage (1483/1610): Money\.AmountSpec.multiply.is distributive with add when both succeed (18 mutations)
  4846. 779.94 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)
  4847. 779.95 s [really-safe-money-gen] coverage (1485/1610): Money\.AmountSpec.multiply.succeeds for 3 * 6 (9 mutations)
  4848. 779.98 s [really-safe-money-gen] coverage (1484/1610): Money\.AmountSpec.multiply.has an identity\: 1 (9 mutations)
  4849. 780.65 s [really-safe-money-gen] coverage (1475/1610): Money\.AmountSpec.sum.produces valid amounts (10 mutations)
  4850. 781.65 s [really-safe-money-gen] coverage (1489/1610): Money\.AmountSpec.fromDouble.succeeds on 77\.02 with quantisation factor 100 (30 mutations)
  4851. 781.79 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)
  4852. 781.95 s [really-safe-money-gen] coverage (1476/1610): Money\.AmountSpec.sum.matches what you would get with Integer, if nothing fails (10 mutations)
  4853. 782.92 s [really-safe-money-gen] coverage (1491/1610): Money\.AmountSpec.fromDouble.fails on really large numbers:1 (10 mutations)
  4854. 783.22 s [really-safe-money-gen] coverage (1488/1610): Money\.AmountSpec.fromDouble.roundtrips with toDouble, back to double (30 mutations)
  4855. 783.38 s [really-safe-money-gen] coverage (1490/1610): Money\.AmountSpec.fromDouble.produces valid amounts (30 mutations)
  4856. 785.34 s [really-safe-money-gen] coverage (1492/1610): Money\.AmountSpec.fromDouble.fails on NaN (8 mutations)
  4857. 789.75 s [really-safe-money-gen] coverage (1367/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 77 (19 mutations)
  4858. 790.47 s [really-safe-money-gen] coverage (1493/1610): Money\.AmountSpec.fromDouble.fails on -1 (6 mutations)
  4859. 791.89 s [really-safe-money-gen] coverage (1494/1610): Money\.AmountSpec.fromDouble.fails on 7\.123 with quantisation factor 10 (24 mutations)
  4860. 792.36 s [really-safe-money-gen] coverage (1495/1610): Money\.AmountSpec.fromDouble.fails on -Infinity (6 mutations)
  4861. 793.70 s [really-safe-money-gen] coverage (1496/1610): Money\.AmountSpec.fromDouble.fails on +Infinity (10 mutations)
  4862. 794.52 s [really-safe-money-gen] coverage (1467/1610): Money\.AmountSpec.distribute.correctly distributes 5 into 3 (7 mutations)
  4863. 795.41 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)
  4864. 795.41 s [really-safe-money-gen] coverage (1465/1610): Money\.AmountSpec.distribute.correctly distributes 10 into 4 (7 mutations)
  4865. 795.42 s [really-safe-money-gen] coverage (1497/1610): Money\.AmountSpec.fromDouble.succeeds on 1 (30 mutations)
  4866. 795.59 s [really-safe-money-gen] coverage (1461/1610): Money\.AmountSpec.fromRatio.fails on 7\.123 with quantisation factor 10 (13 mutations)
  4867. 795.76 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)
  4868. 795.93 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)
  4869. 796.03 s [really-safe-money-gen] coverage (1462/1610): Money\.AmountSpec.distribute.correctly distributes 3 into 3 (5 mutations)
  4870. 796.17 s [really-safe-money-gen] coverage (1505/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is antisymmetric for "valid Amount"'s (0 mutations)
  4871. 796.63 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)
  4872. 796.64 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)
  4873. 796.64 s [really-safe-money-gen] coverage (1501/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is antisymmetric for "valid Amount"'s (0 mutations)
  4874. 796.86 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)
  4875. 797.01 s [really-safe-money-gen] coverage (1463/1610): Money\.AmountSpec.distribute.produces results that sum up to the greater whole (25 mutations)
  4876. 798.20 s [really-safe-money-gen] coverage (1514/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4877. 798.70 s [really-safe-money-gen] coverage (1513/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"'s (0 mutations)
  4878. 798.78 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)
  4879. 799.30 s [really-safe-money-gen] coverage (1502/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4880. 799.91 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)
  4881. 800.18 s [really-safe-money-gen] coverage (1503/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4882. 800.92 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)
  4883. 800.99 s [really-safe-money-gen] coverage (1498/1610): Money\.AmountSpec.fromDouble.succeeds on 0 (30 mutations)
  4884. 802.34 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)
  4885. 806.64 s [really-safe-money-gen] coverage (1516/1610): Money\.AmountSpec.toRational.produces an invalid Rational with quantisation factor 0 (1 mutations)
  4886. 807.75 s [really-safe-money-gen] coverage (1508/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"'s (0 mutations)
  4887. 809.20 s [really-safe-money-gen] coverage (1529/1610): Money\.AmountSpec.add.is commutative (9 mutations)
  4888. 810.18 s [really-safe-money-gen] coverage (1528/1610): Money\.AmountSpec.add.is associative when both succeed (9 mutations)
  4889. 812.06 s [really-safe-money-gen] coverage (1525/1610): Money\.AmountSpec.fromRational.fails on -1 (8 mutations)
  4890. 812.25 s [really-safe-money-gen] coverage (1527/1610): Money\.AmountSpec.fromRational.produces valid Amounts (19 mutations)
  4891. 812.28 s [really-safe-money-gen] coverage (1524/1610): Money\.AmountSpec.fromRational.fails on +Infinity (2 mutations)
  4892. 812.58 s [really-safe-money-gen] coverage (1520/1610): Money\.AmountSpec.fromRational.fails on -Infinity (2 mutations)
  4893. 812.82 s [really-safe-money-gen] coverage (1521/1610): Money\.AmountSpec.fromRational.succeeds on 1 (19 mutations)
  4894. 813.06 s [really-safe-money-gen] coverage (1518/1610): Money\.AmountSpec.fromRational.succeeds on 0 (19 mutations)
  4895. 813.32 s [really-safe-money-gen] coverage (1522/1610): Money\.AmountSpec.fromRational.succeeds on 77\.02 with quantisation factor 100 (19 mutations)
  4896. 813.45 s [really-safe-money-gen] coverage (1515/1610): Money\.AmountSpec.toRational.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4897. 813.76 s [really-safe-money-gen] coverage (1509/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
  4898. 813.76 s [really-safe-money-gen] coverage (1526/1610): Money\.AmountSpec.fromRational.fails on NaN (2 mutations)
  4899. 813.84 s [really-safe-money-gen] coverage (1519/1610): Money\.AmountSpec.fromRational.fails on really large numbers (19 mutations)
  4900. 813.91 s [really-safe-money-gen] coverage (1523/1610): Money\.AmountSpec.fromRational.fails on 7\.123 with quantisation factor 10 (13 mutations)
  4901. 814.10 s [really-safe-money-gen] coverage (1517/1610): Money\.AmountSpec.fromRational.roundtrips with toRational (19 mutations)
  4902. 814.11 s [really-safe-money-gen] coverage (1487/1610): Money\.AmountSpec.fromDouble.fails on really large numbers (21 mutations)
  4903. 814.75 s [really-safe-money-gen] coverage (1499/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"'s (0 mutations)
  4904. 815.25 s [really-safe-money-gen] coverage (1506/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"'s (0 mutations)
  4905. 815.54 s [really-safe-money-gen] coverage (1534/1610): Money\.AmountSpec.add.fails for maxBound + maxBound (8 mutations)
  4906. 815.75 s [really-safe-money-gen] coverage (1536/1610): Money\.AmountSpec.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
  4907. 816.74 s [really-safe-money-gen] coverage (1531/1610): Money\.AmountSpec.add.matches what you would get with Integer, if nothing fails (9 mutations)
  4908. 817.29 s [really-safe-money-gen] coverage (1537/1610): Money\.AmountSpec.toMinimalQuantisations.produces valid Int64s (0 mutations)
  4909. 817.37 s [really-safe-money-gen] coverage (1533/1610): Money\.AmountSpec.add.produces valid amounts (9 mutations)
  4910. 817.86 s [really-safe-money-gen] coverage (1535/1610): Money\.AmountSpec.add.has a left-identity\: zero (10 mutations)
  4911. 818.02 s [really-safe-money-gen] coverage (1551/1610): Money\.AmountSpec.zero.is valid (1 mutations)
  4912. 819.27 s [really-safe-money-gen] coverage (1532/1610): Money\.AmountSpec.add.has a right-identity\: zero (10 mutations)
  4913. 824.14 s [really-safe-money-gen] coverage (1530/1610): Money\.AmountSpec.add.fails for maxBound + 1 (8 mutations)
  4914. 824.16 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)
  4915. 828.42 s [really-safe-money-gen] coverage (1554/1610): Money\.AmountSpec.convert.produces valid amounts (25 mutations)
  4916. 828.89 s [really-safe-money-gen] coverage (1556/1610): Money\.AmountSpec.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
  4917. 829.10 s [really-safe-money-gen] coverage (1557/1610): Money\.AmountSpec.subtract.fails for 0 - maxBound (9 mutations)
  4918. 829.61 s [really-safe-money-gen] coverage (1559/1610): Money\.AmountSpec.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
  4919. 829.67 s [really-safe-money-gen] coverage (1544/1610): Money\.AmountSpec.GenValid Amount.genValid \:\: Gen Amount.only generates valid 'Amount's (0 mutations)
  4920. 829.93 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)
  4921. 830.17 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)
  4922. 830.40 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)
  4923. 830.48 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)
  4924. 830.98 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)
  4925. 831.00 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)
  4926. 831.00 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)
  4927. 831.08 s [really-safe-money-gen] coverage (1570/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.fails on this amount that is too precise (17 mutations)
  4928. 831.56 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)
  4929. 831.87 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)
  4930. 832.04 s [really-safe-money-gen] coverage (1571/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.fails on this amount that is too precise:1 (17 mutations)
  4931. 832.27 s [really-safe-money-gen] coverage (1569/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.produces valid factors (23 mutations)
  4932. 832.28 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)
  4933. 833.16 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)
  4934. 833.32 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)
  4935. 834.66 s [really-safe-money-gen] coverage (1555/1610): Money\.AmountSpec.toRatio.produces an invalid Rational with quantisation factor 0 (1 mutations)
  4936. 835.24 s [really-safe-money-gen] coverage (1553/1610): Money\.AmountSpec.convert.converts this USD to CHF correctly (22 mutations)
  4937. 835.49 s [really-safe-money-gen] coverage (1545/1610): Money\.AmountSpec.toDouble.produces valid Doubles (0 mutations)
  4938. 836.07 s [really-safe-money-gen] coverage (1550/1610): Money\.AmountSpec.rate.computes this USD to CHF rate correctly (10 mutations)
  4939. 836.15 s [really-safe-money-gen] coverage (1548/1610): Money\.AmountSpec.rate.produces valid conversion rates (10 mutations)
  4940. 836.76 s [really-safe-money-gen] coverage (1546/1610): Money\.AmountSpec.toDouble.succeeds on 7702 with quantisation factor 100 (0 mutations)
  4941. 841.66 s [really-safe-money-gen] coverage (1541/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"s (0 mutations)
  4942. 841.90 s [really-safe-money-gen] coverage (1543/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is symmetric for "valid Amount"s (0 mutations)
  4943. 845.67 s [really-safe-money-gen] coverage (1547/1610): Money\.AmountSpec.toDouble.produces an infinite Double with quantisation factor 0 (0 mutations)
  4944. 845.75 s [really-safe-money-gen] coverage (1538/1610): Money\.AmountSpec.Eq Amount.(/=) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"s (0 mutations)
  4945. 846.44 s [really-safe-money-gen] coverage (1542/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"s (0 mutations)
  4946. 846.50 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)
  4947. 846.73 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)
  4948. 846.99 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)
  4949. 847.11 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)
  4950. 847.15 s [really-safe-money-gen] coverage (1558/1610): Money\.AmountSpec.subtract.fails for 0 - 1 (9 mutations)
  4951. 847.27 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)
  4952. 847.37 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. 848.83 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)
  4954. 849.09 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)
  4955. 849.11 s [really-safe-money-gen] coverage (1587/1610): Money\.AmountSpec.fromMinimalQuantisations.produces valid amounts (0 mutations)
  4956. 849.40 s [really-safe-money-gen] coverage (1588/1610): Money\.CurrencySpec.Eq Currency.(/=) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"s (1 mutations)
  4957. 849.55 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)
  4958. 850.06 s [really-safe-money-gen] coverage (1593/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"s (1 mutations)
  4959. 850.75 s [really-safe-money-gen] coverage (1592/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"s (1 mutations)
  4960. 850.84 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)
  4961. 851.06 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)
  4962. 852.27 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)
  4963. 852.45 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)
  4964. 853.49 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)
  4965. 854.41 s [really-safe-money-gen] coverage (1610/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"'s (1 mutations)
  4966. 854.87 s [really-safe-money-gen] coverage (1609/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4967. 857.66 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)
  4968. 857.72 s [really-safe-money-gen] coverage (1606/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"'s (1 mutations)
  4969. 860.16 s [really-safe-money-gen] coverage (1605/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is antisymmetric for "valid Currency"'s (1 mutations)
  4970. 860.29 s [really-safe-money-gen] coverage (1604/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4971. 860.31 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)
  4972. 860.35 s [really-safe-money-gen] coverage (1598/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is antisymmetric for "valid Currency"'s (1 mutations)
  4973. 860.75 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)
  4974. 860.75 s [really-safe-money-gen] coverage (1601/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4975. 860.80 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)
  4976. 860.95 s [really-safe-money-gen] coverage (1597/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
  4977. 861.00 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)
  4978. 861.02 s [really-safe-money-gen] coverage (1600/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"'s (1 mutations)
  4979. 861.12 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. 861.18 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)
  4981. 861.32 s [really-safe-money-gen] coverage (1591/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is symmetric for "valid Currency"s (1 mutations)
  4982. 861.37 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)
  4983. 861.53 s [really-safe-money-gen] coverage (1603/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"'s (1 mutations)
  4984. 907.73 s [really-safe-money-gen] coverage (1583/1610): Money\.AmountSpec.DecimalLiteral.Amount\.toDecimalLiteral.roundtrips with Amount\.fromDecimalLiteral (74 mutations)
  4985. 908.48 s [really-safe-money-gen] coverage (1582/1610): Money\.AmountSpec.DecimalLiteral.Amount\.toDecimalLiteral.produces valid decimal literals (52 mutations)
  4986. 908.92 s [really-safe-money-gen] mutation-nix: running mutations
  4987. 918.60 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  4988. 918.63 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  4989. 918.63 s [really-safe-money-gen] let aa1 = abs a1
  4990. 918.63 s [really-safe-money-gen] aa2 = abs a2
  4991. 918.63 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  4992. 918.63 s [really-safe-money-gen] in case (a1, a2) of
  4993. 918.63 s [really-safe-money-gen] - (Positive _, Positive _) -> mr
  4994. 918.63 s [really-safe-money-gen] (Positive _, Negative _) -> Nothing
  4995. 918.63 s [really-safe-money-gen] (Negative _, Positive _) -> Nothing
  4996. 918.63 s [really-safe-money-gen] (Negative _, Negative _) -> mr
  4997. 918.63 s [really-safe-money-gen]
  4998. 918.63 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  4999. 918.63 s [really-safe-money-gen] -- another currency using a conversion rate.
  5000. 918.63 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
  5001. 918.63 s [really-safe-money-gen] @@ -588,9 +588,8 @@
  5002. 918.63 s [really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
  5003. 918.63 s [really-safe-money-gen] convert r qf1 a cr qf2 =
  5004. 918.63 s [really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
  5005. 918.63 s [really-safe-money-gen] in case a of
  5006. 918.63 s [really-safe-money-gen] - Positive _ -> (Positive <$> ma, mr)
  5007. 918.63 s [really-safe-money-gen] Negative _ -> (Negative <$> ma, mr)
  5008. 918.63 s [really-safe-money-gen]
  5009. 918.63 s [really-safe-money-gen] -- | Format an account of money without a symbol.
  5010. 918.63 s [really-safe-money-gen] --
  5011. 918.63 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
  5012. 918.63 s [really-safe-money-gen] @@ -588,9 +588,8 @@
  5013. 918.63 s [really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
  5014. 918.63 s [really-safe-money-gen] convert r qf1 a cr qf2 =
  5015. 918.63 s [really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
  5016. 918.63 s [really-safe-money-gen] in case a of
  5017. 918.64 s [really-safe-money-gen] Positive _ -> (Positive <$> ma, mr)
  5018. 918.64 s [really-safe-money-gen] - Negative _ -> (Negative <$> ma, mr)
  5019. 918.64 s [really-safe-money-gen]
  5020. 918.64 s [really-safe-money-gen] -- | Format an account of money without a symbol.
  5021. 918.64 s [really-safe-money-gen] --
  5022. 918.64 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  5023. 918.64 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  5024. 918.64 s [really-safe-money-gen] let aa1 = abs a1
  5025. 918.64 s [really-safe-money-gen] aa2 = abs a2
  5026. 918.64 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  5027. 918.64 s [really-safe-money-gen] in case (a1, a2) of
  5028. 918.64 s [really-safe-money-gen] (Positive _, Positive _) -> mr
  5029. 918.64 s [really-safe-money-gen] (Positive _, Negative _) -> Nothing
  5030. 918.64 s [really-safe-money-gen] (Negative _, Positive _) -> Nothing
  5031. 918.64 s [really-safe-money-gen] - (Negative _, Negative _) -> mr
  5032. 918.64 s [really-safe-money-gen]
  5033. 918.64 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  5034. 918.64 s [really-safe-money-gen] -- another currency using a conversion rate.
  5035. 918.64 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:421:32-33
  5036. 918.64 s [really-safe-money-gen] @@ -418,7 +418,7 @@
  5037. 918.64 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5038. 918.64 s [really-safe-money-gen] multiply factor account =
  5039. 918.64 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5040. 918.64 s [really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
  5041. 918.64 s [really-safe-money-gen] + f = case (compare factor 1, compare account zero) of
  5042. 918.64 s [really-safe-money-gen] (EQ, _) -> const zero
  5043. 918.64 s [really-safe-money-gen] (_, EQ) -> const zero
  5044. 918.64 s [really-safe-money-gen] (GT, GT) -> Positive
  5045. 918.64 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  5046. 918.64 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  5047. 918.64 s [really-safe-money-gen] let aa1 = abs a1
  5048. 918.64 s [really-safe-money-gen] aa2 = abs a2
  5049. 918.64 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  5050. 918.64 s [really-safe-money-gen] in case (a1, a2) of
  5051. 918.64 s [really-safe-money-gen] (Positive _, Positive _) -> mr
  5052. 918.64 s [really-safe-money-gen] (Positive _, Negative _) -> Nothing
  5053. 918.64 s [really-safe-money-gen] - (Negative _, Positive _) -> Nothing
  5054. 918.64 s [really-safe-money-gen] (Negative _, Negative _) -> mr
  5055. 918.64 s [really-safe-money-gen]
  5056. 918.64 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  5057. 918.64 s [really-safe-money-gen] -- another currency using a conversion rate.
  5058. 918.64 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5059. 918.64 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5060. 918.64 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5061. 918.64 s [really-safe-money-gen] multiply factor account =
  5062. 918.64 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5063. 918.64 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5064. 918.64 s [really-safe-money-gen] (EQ, _) -> const zero
  5065. 918.64 s [really-safe-money-gen] (_, EQ) -> const zero
  5066. 918.64 s [really-safe-money-gen] (GT, GT) -> Positive
  5067. 918.64 s [really-safe-money-gen] - (GT, LT) -> Negative
  5068. 918.64 s [really-safe-money-gen] (LT, GT) -> Negative
  5069. 918.64 s [really-safe-money-gen] (LT, LT) -> Positive
  5070. 918.64 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5071. 918.64 s [really-safe-money-gen]
  5072. 918.64 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5073. 918.64 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5074. 918.64 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5075. 918.64 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5076. 918.64 s [really-safe-money-gen] multiply factor account =
  5077. 918.64 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5078. 918.65 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5079. 918.65 s [really-safe-money-gen] (EQ, _) -> const zero
  5080. 918.65 s [really-safe-money-gen] (_, EQ) -> const zero
  5081. 918.65 s [really-safe-money-gen] (GT, GT) -> Positive
  5082. 918.65 s [really-safe-money-gen] (GT, LT) -> Negative
  5083. 918.65 s [really-safe-money-gen] (LT, GT) -> Negative
  5084. 918.65 s [really-safe-money-gen] - (LT, LT) -> Positive
  5085. 918.65 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5086. 918.65 s [really-safe-money-gen]
  5087. 918.65 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5088. 918.65 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5089. 918.65 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5090. 918.65 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5091. 918.65 s [really-safe-money-gen] multiply factor account =
  5092. 918.65 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5093. 918.65 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5094. 918.65 s [really-safe-money-gen] - (EQ, _) -> const zero
  5095. 918.65 s [really-safe-money-gen] (_, EQ) -> const zero
  5096. 918.65 s [really-safe-money-gen] (GT, GT) -> Positive
  5097. 918.65 s [really-safe-money-gen] (GT, LT) -> Negative
  5098. 918.65 s [really-safe-money-gen] (LT, GT) -> Negative
  5099. 918.65 s [really-safe-money-gen] (LT, LT) -> Positive
  5100. 918.65 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5101. 918.65 s [really-safe-money-gen]
  5102. 918.65 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5103. 918.65 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
  5104. 918.65 s [really-safe-money-gen] @@ -550,11 +550,10 @@
  5105. 918.65 s [really-safe-money-gen] let aa1 = abs a1
  5106. 918.65 s [really-safe-money-gen] aa2 = abs a2
  5107. 918.65 s [really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
  5108. 918.65 s [really-safe-money-gen] in case (a1, a2) of
  5109. 918.65 s [really-safe-money-gen] (Positive _, Positive _) -> mr
  5110. 918.65 s [really-safe-money-gen] - (Positive _, Negative _) -> Nothing
  5111. 918.65 s [really-safe-money-gen] (Negative _, Positive _) -> Nothing
  5112. 918.65 s [really-safe-money-gen] (Negative _, Negative _) -> mr
  5113. 918.65 s [really-safe-money-gen]
  5114. 918.65 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  5115. 918.65 s [really-safe-money-gen] -- another currency using a conversion rate.
  5116. 918.65 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
  5117. 918.65 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5118. 918.65 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5119. 918.65 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5120. 918.65 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5121. 918.65 s [really-safe-money-gen] - if a >= zero
  5122. 918.65 s [really-safe-money-gen] + if a < zero
  5123. 918.65 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5124. 918.65 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5125. 918.65 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5126. 918.65 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5127. 918.65 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5128. 918.65 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5129. 918.65 s [really-safe-money-gen] multiply factor account =
  5130. 918.65 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5131. 918.65 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5132. 918.65 s [really-safe-money-gen] (EQ, _) -> const zero
  5133. 918.65 s [really-safe-money-gen] - (_, EQ) -> const zero
  5134. 918.65 s [really-safe-money-gen] (GT, GT) -> Positive
  5135. 918.65 s [really-safe-money-gen] (GT, LT) -> Negative
  5136. 918.65 s [really-safe-money-gen] (LT, GT) -> Negative
  5137. 918.65 s [really-safe-money-gen] (LT, LT) -> Positive
  5138. 918.65 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5139. 918.65 s [really-safe-money-gen]
  5140. 918.65 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5141. 918.65 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5142. 918.65 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5143. 918.65 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5144. 918.65 s [really-safe-money-gen] multiply factor account =
  5145. 918.65 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5146. 918.65 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5147. 918.65 s [really-safe-money-gen] (EQ, _) -> const zero
  5148. 918.65 s [really-safe-money-gen] (_, EQ) -> const zero
  5149. 918.65 s [really-safe-money-gen] (GT, GT) -> Positive
  5150. 918.65 s [really-safe-money-gen] (GT, LT) -> Negative
  5151. 918.65 s [really-safe-money-gen] - (LT, GT) -> Negative
  5152. 918.65 s [really-safe-money-gen] (LT, LT) -> Positive
  5153. 918.65 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5154. 918.65 s [really-safe-money-gen]
  5155. 918.65 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5156. 918.65 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
  5157. 918.65 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5158. 918.65 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5159. 918.65 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5160. 918.65 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5161. 918.66 s [really-safe-money-gen] - if a >= zero
  5162. 918.66 s [really-safe-money-gen] + if True
  5163. 918.66 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5164. 918.66 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5165. 918.66 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5166. 918.66 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
  5167. 918.66 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5168. 918.66 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5169. 918.66 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5170. 918.66 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5171. 918.66 s [really-safe-money-gen] - if a >= zero
  5172. 918.66 s [really-safe-money-gen] + if a > zero
  5173. 918.66 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5174. 918.66 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5175. 918.66 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5176. 918.66 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
  5177. 918.66 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5178. 918.66 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5179. 918.66 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5180. 918.66 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5181. 918.66 s [really-safe-money-gen] - if a >= zero
  5182. 918.66 s [really-safe-money-gen] + if a < zero
  5183. 918.66 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5184. 918.66 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5185. 918.66 s [really-safe-money-gen]
  5186. 918.66 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
  5187. 918.66 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5188. 918.66 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5189. 918.66 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5190. 918.66 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5191. 918.66 s [really-safe-money-gen] - if a >= zero
  5192. 918.66 s [really-safe-money-gen] + if a > zero
  5193. 918.66 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5194. 918.66 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5195. 918.66 s [really-safe-money-gen]
  5196. 918.66 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
  5197. 918.66 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5198. 918.66 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5199. 918.66 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5200. 918.66 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5201. 918.66 s [really-safe-money-gen] - if a >= zero
  5202. 918.66 s [really-safe-money-gen] + if False
  5203. 918.66 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5204. 918.66 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5205. 918.66 s [really-safe-money-gen]
  5206. 918.66 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
  5207. 918.66 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5208. 918.66 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5209. 918.66 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5210. 918.66 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5211. 918.66 s [really-safe-money-gen] - if a >= zero
  5212. 918.66 s [really-safe-money-gen] + if True
  5213. 918.66 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5214. 918.66 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5215. 918.66 s [really-safe-money-gen]
  5216. 918.66 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
  5217. 918.66 s [really-safe-money-gen] @@ -418,13 +418,12 @@
  5218. 918.66 s [really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
  5219. 918.66 s [really-safe-money-gen] multiply factor account =
  5220. 918.66 s [really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
  5221. 918.66 s [really-safe-money-gen] f = case (compare factor 0, compare account zero) of
  5222. 918.66 s [really-safe-money-gen] (EQ, _) -> const zero
  5223. 918.66 s [really-safe-money-gen] (_, EQ) -> const zero
  5224. 918.66 s [really-safe-money-gen] - (GT, GT) -> Positive
  5225. 918.66 s [really-safe-money-gen] (GT, LT) -> Negative
  5226. 918.67 s [really-safe-money-gen] (LT, GT) -> Negative
  5227. 918.67 s [really-safe-money-gen] (LT, LT) -> Positive
  5228. 918.67 s [really-safe-money-gen] in f <$> Amount.multiply af (abs account)
  5229. 918.67 s [really-safe-money-gen]
  5230. 918.67 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  5231. 918.67 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:455:14-23
  5232. 918.67 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5233. 918.67 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5234. 918.67 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5235. 918.67 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5236. 918.67 s [really-safe-money-gen] - if a >= zero
  5237. 918.67 s [really-safe-money-gen] + if not (a >= zero)
  5238. 918.67 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5239. 918.67 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5240. 918.67 s [really-safe-money-gen]
  5241. 918.67 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
  5242. 918.67 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5243. 918.67 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5244. 918.67 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5245. 918.67 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5246. 918.67 s [really-safe-money-gen] - if a >= zero
  5247. 918.67 s [really-safe-money-gen] + if False
  5248. 918.67 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5249. 918.67 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5250. 918.67 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5251. 918.67 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5252. 918.67 s [really-safe-money-gen] @@ -444,17 +444,16 @@
  5253. 918.67 s [really-safe-money-gen] distribute a f =
  5254. 918.67 s [really-safe-money-gen] let aa = abs a
  5255. 918.67 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5256. 918.67 s [really-safe-money-gen] in case Amount.distribute aa af of
  5257. 918.67 s [really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5258. 918.67 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5259. 918.67 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5260. 918.67 s [really-safe-money-gen] if a >= zero
  5261. 918.67 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5262. 918.67 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5263. 918.67 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5264. 918.67 s [really-safe-money-gen] if a >= zero
  5265. 918.67 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5266. 918.67 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5267. 918.67 s [really-safe-money-gen]
  5268. 918.67 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5269. 918.67 s [really-safe-money-gen]
  5270. 918.67 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5271. 918.67 s [really-safe-money-gen] @@ -444,17 +444,13 @@
  5272. 918.67 s [really-safe-money-gen] distribute a f =
  5273. 918.67 s [really-safe-money-gen] let aa = abs a
  5274. 918.67 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5275. 918.67 s [really-safe-money-gen] in case Amount.distribute aa af of
  5276. 918.67 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5277. 918.67 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5278. 918.67 s [really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
  5279. 918.67 s [really-safe-money-gen] - if a >= zero
  5280. 918.67 s [really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5281. 918.67 s [really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5282. 918.67 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5283. 918.67 s [really-safe-money-gen] if a >= zero
  5284. 918.67 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5285. 918.67 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5286. 918.67 s [really-safe-money-gen]
  5287. 918.67 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5288. 918.67 s [really-safe-money-gen]
  5289. 918.67 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5290. 918.67 s [really-safe-money-gen] @@ -444,17 +444,16 @@
  5291. 918.67 s [really-safe-money-gen] distribute a f =
  5292. 918.67 s [really-safe-money-gen] let aa = abs a
  5293. 918.67 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5294. 918.67 s [really-safe-money-gen] in case Amount.distribute aa af of
  5295. 918.67 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5296. 918.67 s [really-safe-money-gen] - DistributedZero -> DistributedZero
  5297. 918.67 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5298. 918.67 s [really-safe-money-gen] if a >= zero
  5299. 918.67 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5300. 918.68 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5301. 925.39 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5302. 925.41 s [really-safe-money-gen] if a >= zero
  5303. 925.41 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5304. 925.41 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5305. 925.41 s [really-safe-money-gen]
  5306. 925.41 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5307. 925.41 s [really-safe-money-gen]
  5308. 925.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
  5309. 925.41 s [really-safe-money-gen] @@ -519,10 +519,9 @@
  5310. 925.41 s [really-safe-money-gen] let aa = abs account
  5311. 925.41 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5312. 925.41 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5313. 925.41 s [really-safe-money-gen] func ma r = case compare account zero of
  5314. 925.42 s [really-safe-money-gen] - EQ -> (Just zero, r)
  5315. 925.42 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  5316. 925.42 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  5317. 925.42 s [really-safe-money-gen] in func amount actualFraction
  5318. 925.42 s [really-safe-money-gen]
  5319. 925.42 s [really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
  5320. 925.42 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
  5321. 925.42 s [really-safe-money-gen] @@ -444,17 +444,13 @@
  5322. 925.42 s [really-safe-money-gen] distribute a f =
  5323. 925.42 s [really-safe-money-gen] let aa = abs a
  5324. 925.42 s [really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
  5325. 925.42 s [really-safe-money-gen] in case Amount.distribute aa af of
  5326. 925.42 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5327. 925.42 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5328. 925.42 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5329. 925.42 s [really-safe-money-gen] if a >= zero
  5330. 925.42 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5331. 925.42 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5332. 925.42 s [really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5333. 925.42 s [really-safe-money-gen] - if a >= zero
  5334. 925.42 s [really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5335. 925.42 s [really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5336. 925.42 s [really-safe-money-gen]
  5337. 925.42 s [really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
  5338. 925.42 s [really-safe-money-gen]
  5339. 925.42 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
  5340. 925.42 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  5341. 925.42 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5342. 925.42 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5343. 925.42 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5344. 925.42 s [really-safe-money-gen] - if a >= zero
  5345. 925.42 s [really-safe-money-gen] + if a <= zero
  5346. 925.42 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  5347. 925.42 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  5348. 925.42 s [really-safe-money-gen]
  5349. 925.42 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
  5350. 925.42 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5351. 925.43 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5352. 925.43 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5353. 925.43 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5354. 925.43 s [really-safe-money-gen] - if a >= zero
  5355. 925.43 s [really-safe-money-gen] + if a <= zero
  5356. 925.43 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5357. 925.43 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5358. 925.43 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5359. 925.43 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
  5360. 925.43 s [really-safe-money-gen] @@ -519,10 +519,9 @@
  5361. 925.43 s [really-safe-money-gen] let aa = abs account
  5362. 925.43 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5363. 925.43 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5364. 925.43 s [really-safe-money-gen] func ma r = case compare account zero of
  5365. 925.43 s [really-safe-money-gen] EQ -> (Just zero, r)
  5366. 925.43 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  5367. 925.43 s [really-safe-money-gen] - LT -> (Negative <$> ma, r)
  5368. 925.43 s [really-safe-money-gen] in func amount actualFraction
  5369. 925.43 s [really-safe-money-gen]
  5370. 925.43 s [really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
  5371. 925.43 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Account.hs:523:16-25
  5372. 925.43 s [really-safe-money-gen] @@ -520,7 +520,7 @@
  5373. 925.43 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5374. 925.43 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5375. 925.43 s [really-safe-money-gen] func ma r = case compare account zero of
  5376. 925.43 s [really-safe-money-gen] - EQ -> (Just zero, r)
  5377. 925.43 s [really-safe-money-gen] + EQ -> (Nothing, r)
  5378. 925.43 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  5379. 925.43 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  5380. 925.43 s [really-safe-money-gen] in func amount actualFraction
  5381. 925.43 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18
  5382. 925.43 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5383. 925.43 s [really-safe-money-gen] fraction rounding account f =
  5384. 925.43 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5385. 925.43 s [really-safe-money-gen] ro =
  5386. 925.43 s [really-safe-money-gen] - if f >= 0
  5387. 925.43 s [really-safe-money-gen] + if f >= 1
  5388. 925.43 s [really-safe-money-gen] then rounding
  5389. 925.43 s [really-safe-money-gen] else case rounding of
  5390. 925.43 s [really-safe-money-gen] RoundUp -> RoundDown
  5391. 925.43 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
  5392. 925.43 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5393. 925.43 s [really-safe-money-gen] fraction rounding account f =
  5394. 925.43 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5395. 925.43 s [really-safe-money-gen] ro =
  5396. 925.43 s [really-safe-money-gen] - if f >= 0
  5397. 925.43 s [really-safe-money-gen] + if f < 0
  5398. 925.43 s [really-safe-money-gen] then rounding
  5399. 925.43 s [really-safe-money-gen] else case rounding of
  5400. 925.43 s [really-safe-money-gen] RoundUp -> RoundDown
  5401. 925.43 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
  5402. 925.43 s [really-safe-money-gen] @@ -519,10 +519,9 @@
  5403. 925.43 s [really-safe-money-gen] let aa = abs account
  5404. 925.44 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  5405. 925.44 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  5406. 925.44 s [really-safe-money-gen] func ma r = case compare account zero of
  5407. 925.44 s [really-safe-money-gen] EQ -> (Just zero, r)
  5408. 925.44 s [really-safe-money-gen] - GT -> (Positive <$> ma, r)
  5409. 925.44 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  5410. 925.44 s [really-safe-money-gen] in func amount actualFraction
  5411. 925.44 s [really-safe-money-gen]
  5412. 925.44 s [really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
  5413. 925.44 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
  5414. 925.44 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5415. 925.44 s [really-safe-money-gen] fraction rounding account f =
  5416. 925.44 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5417. 925.44 s [really-safe-money-gen] ro =
  5418. 925.44 s [really-safe-money-gen] - if f >= 0
  5419. 925.44 s [really-safe-money-gen] + if True
  5420. 925.44 s [really-safe-money-gen] then rounding
  5421. 925.44 s [really-safe-money-gen] else case rounding of
  5422. 925.44 s [really-safe-money-gen] RoundUp -> RoundDown
  5423. 925.44 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
  5424. 925.44 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5425. 925.44 s [really-safe-money-gen] fraction rounding account f =
  5426. 925.44 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5427. 925.44 s [really-safe-money-gen] ro =
  5428. 925.44 s [really-safe-money-gen] - if f >= 0
  5429. 925.44 s [really-safe-money-gen] + if f > 0
  5430. 925.44 s [really-safe-money-gen] then rounding
  5431. 925.44 s [really-safe-money-gen] else case rounding of
  5432. 925.44 s [really-safe-money-gen] RoundUp -> RoundDown
  5433. 925.44 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
  5434. 925.44 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5435. 925.44 s [really-safe-money-gen] fraction rounding account f =
  5436. 925.44 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5437. 925.44 s [really-safe-money-gen] ro =
  5438. 925.44 s [really-safe-money-gen] - if f >= 0
  5439. 925.44 s [really-safe-money-gen] + if False
  5440. 925.44 s [really-safe-money-gen] then rounding
  5441. 925.44 s [really-safe-money-gen] else case rounding of
  5442. 925.44 s [really-safe-money-gen] RoundUp -> RoundDown
  5443. 925.44 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:495:12-18
  5444. 925.44 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5445. 925.44 s [really-safe-money-gen] fraction rounding account f =
  5446. 925.44 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5447. 925.44 s [really-safe-money-gen] ro =
  5448. 925.44 s [really-safe-money-gen] - if f >= 0
  5449. 925.44 s [really-safe-money-gen] + if not (f >= 0)
  5450. 925.44 s [really-safe-money-gen] then rounding
  5451. 925.44 s [really-safe-money-gen] else case rounding of
  5452. 925.44 s [really-safe-money-gen] RoundUp -> RoundDown
  5453. 925.44 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
  5454. 925.44 s [really-safe-money-gen] @@ -494,10 +494,9 @@
  5455. 925.44 s [really-safe-money-gen] ro =
  5456. 925.44 s [really-safe-money-gen] if f >= 0
  5457. 925.44 s [really-safe-money-gen] then rounding
  5458. 925.44 s [really-safe-money-gen] else case rounding of
  5459. 925.44 s [really-safe-money-gen] - RoundUp -> RoundDown
  5460. 925.44 s [really-safe-money-gen] RoundDown -> RoundUp
  5461. 925.44 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5462. 925.44 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5463. 925.44 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5464. 925.44 s [really-safe-money-gen] in if f >= 0
  5465. 925.44 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:503:15-16
  5466. 925.45 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5467. 925.45 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5468. 925.45 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5469. 929.58 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5470. 929.58 s [really-safe-money-gen] - in if f >= 0
  5471. 929.58 s [really-safe-money-gen] + in if f >= 1
  5472. 929.58 s [really-safe-money-gen] then (ma, r)
  5473. 929.58 s [really-safe-money-gen] else (negate <$> ma, -r)
  5474. 929.58 s [really-safe-money-gen]
  5475. 929.58 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
  5476. 929.58 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5477. 929.59 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5478. 929.59 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5479. 929.59 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5480. 929.59 s [really-safe-money-gen] - in if f >= 0
  5481. 929.59 s [really-safe-money-gen] + in if f <= 0
  5482. 929.59 s [really-safe-money-gen] then (ma, r)
  5483. 929.59 s [really-safe-money-gen] else (negate <$> ma, -r)
  5484. 929.59 s [really-safe-money-gen]
  5485. 929.59 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
  5486. 929.59 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5487. 929.59 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5488. 929.59 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5489. 929.59 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5490. 929.59 s [really-safe-money-gen] - in if f >= 0
  5491. 929.59 s [really-safe-money-gen] + in if True
  5492. 929.59 s [really-safe-money-gen] then (ma, r)
  5493. 929.59 s [really-safe-money-gen] else (negate <$> ma, -r)
  5494. 929.59 s [really-safe-money-gen]
  5495. 929.59 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
  5496. 929.59 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  5497. 929.59 s [really-safe-money-gen] fraction rounding account f =
  5498. 929.59 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  5499. 929.59 s [really-safe-money-gen] ro =
  5500. 929.59 s [really-safe-money-gen] - if f >= 0
  5501. 929.59 s [really-safe-money-gen] + if f <= 0
  5502. 929.59 s [really-safe-money-gen] then rounding
  5503. 929.59 s [really-safe-money-gen] else case rounding of
  5504. 929.59 s [really-safe-money-gen] RoundUp -> RoundDown
  5505. 929.59 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
  5506. 929.59 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5507. 929.60 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5508. 929.60 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5509. 929.60 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5510. 929.60 s [really-safe-money-gen] - in if f >= 0
  5511. 929.60 s [really-safe-money-gen] + in if f < 0
  5512. 929.60 s [really-safe-money-gen] then (ma, r)
  5513. 929.60 s [really-safe-money-gen] else (negate <$> ma, -r)
  5514. 929.60 s [really-safe-money-gen]
  5515. 929.60 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
  5516. 929.60 s [really-safe-money-gen] @@ -494,10 +494,9 @@
  5517. 929.60 s [really-safe-money-gen] ro =
  5518. 929.60 s [really-safe-money-gen] if f >= 0
  5519. 929.60 s [really-safe-money-gen] then rounding
  5520. 929.60 s [really-safe-money-gen] else case rounding of
  5521. 929.60 s [really-safe-money-gen] RoundUp -> RoundDown
  5522. 929.60 s [really-safe-money-gen] RoundDown -> RoundUp
  5523. 929.60 s [really-safe-money-gen] - RoundNearest -> RoundNearest
  5524. 929.60 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5525. 929.60 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5526. 929.60 s [really-safe-money-gen] in if f >= 0
  5527. 929.60 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
  5528. 929.60 s [really-safe-money-gen] @@ -494,10 +494,9 @@
  5529. 929.60 s [really-safe-money-gen] ro =
  5530. 929.60 s [really-safe-money-gen] if f >= 0
  5531. 929.60 s [really-safe-money-gen] then rounding
  5532. 929.60 s [really-safe-money-gen] else case rounding of
  5533. 929.60 s [really-safe-money-gen] RoundUp -> RoundDown
  5534. 929.60 s [really-safe-money-gen] - RoundDown -> RoundUp
  5535. 929.60 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5536. 929.60 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5537. 929.60 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5538. 929.60 s [really-safe-money-gen] in if f >= 0
  5539. 929.60 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
  5540. 929.60 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5541. 929.60 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5542. 929.60 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5543. 929.61 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5544. 929.61 s [really-safe-money-gen] - in if f >= 0
  5545. 929.61 s [really-safe-money-gen] + in if f > 0
  5546. 929.61 s [really-safe-money-gen] then (ma, r)
  5547. 929.61 s [really-safe-money-gen] else (negate <$> ma, -r)
  5548. 929.61 s [really-safe-money-gen]
  5549. 929.61 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
  5550. 929.61 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5551. 929.61 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5552. 929.61 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5553. 929.61 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5554. 929.61 s [really-safe-money-gen] - in if f >= 0
  5555. 929.61 s [really-safe-money-gen] + in if False
  5556. 929.61 s [really-safe-money-gen] then (ma, r)
  5557. 929.61 s [really-safe-money-gen] else (negate <$> ma, -r)
  5558. 929.61 s [really-safe-money-gen]
  5559. 929.61 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:233:19-20
  5560. 929.61 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5561. 929.61 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5562. 929.61 s [really-safe-money-gen] fromRational quantisationFactor r =
  5563. 929.61 s [really-safe-money-gen] let r' = Prelude.abs r
  5564. 929.61 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5565. 929.61 s [really-safe-money-gen] + f = if r >= 1 then Positive else Negative
  5566. 929.61 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5567. 929.61 s [really-safe-money-gen]
  5568. 929.61 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5569. 929.61 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
  5570. 929.61 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5571. 929.61 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5572. 929.61 s [really-safe-money-gen] fromRational quantisationFactor r =
  5573. 929.61 s [really-safe-money-gen] let r' = Prelude.abs r
  5574. 929.61 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5575. 929.61 s [really-safe-money-gen] + f = if r > 0 then Positive else Negative
  5576. 929.61 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5577. 929.61 s [really-safe-money-gen]
  5578. 929.61 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5579. 929.61 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:233:14-20
  5580. 929.61 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5581. 929.61 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5582. 929.61 s [really-safe-money-gen] fromRational quantisationFactor r =
  5583. 929.61 s [really-safe-money-gen] let r' = Prelude.abs r
  5584. 929.61 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5585. 929.62 s [really-safe-money-gen] + f = if not (r >= 0) then Positive else Negative
  5586. 929.62 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5587. 929.62 s [really-safe-money-gen]
  5588. 929.62 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5589. 929.62 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
  5590. 929.62 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5591. 929.62 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5592. 929.62 s [really-safe-money-gen] fromRational quantisationFactor r =
  5593. 929.62 s [really-safe-money-gen] let r' = Prelude.abs r
  5594. 929.62 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5595. 929.62 s [really-safe-money-gen] + f = if r <= 0 then Positive else Negative
  5596. 929.62 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5597. 929.62 s [really-safe-money-gen]
  5598. 929.62 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5599. 929.62 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
  5600. 929.62 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5601. 929.62 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5602. 929.62 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5603. 929.62 s [really-safe-money-gen] let d' = Prelude.abs d
  5604. 929.62 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5605. 929.62 s [really-safe-money-gen] + f = if d < 0 then Positive else Negative
  5606. 929.62 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5607. 929.62 s [really-safe-money-gen]
  5608. 929.62 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5609. 929.62 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20
  5610. 929.62 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5611. 929.62 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5612. 929.62 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5613. 929.62 s [really-safe-money-gen] let d' = Prelude.abs d
  5614. 929.62 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5615. 929.62 s [really-safe-money-gen] + f = if d >= 1 then Positive else Negative
  5616. 929.62 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5617. 929.62 s [really-safe-money-gen]
  5618. 929.62 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5619. 929.62 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
  5620. 929.62 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5621. 929.62 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5622. 929.62 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5623. 929.62 s [really-safe-money-gen] let d' = Prelude.abs d
  5624. 929.62 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5625. 929.62 s [really-safe-money-gen] + f = if d > 0 then Positive else Negative
  5626. 929.62 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5627. 929.62 s [really-safe-money-gen]
  5628. 929.62 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5629. 929.62 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
  5630. 929.62 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5631. 929.62 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5632. 929.63 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5633. 929.63 s [really-safe-money-gen] let d' = Prelude.abs d
  5634. 929.63 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5635. 929.63 s [really-safe-money-gen] + f = if True then Positive else Negative
  5636. 929.63 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5637. 929.63 s [really-safe-money-gen]
  5638. 929.63 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5639. 929.63 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
  5640. 929.63 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5641. 929.63 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5642. 929.63 s [really-safe-money-gen] fromRational quantisationFactor r =
  5643. 929.63 s [really-safe-money-gen] let r' = Prelude.abs r
  5644. 929.63 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5645. 929.63 s [really-safe-money-gen] + f = if r < 0 then Positive else Negative
  5646. 929.63 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5647. 929.63 s [really-safe-money-gen]
  5648. 929.63 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5649. 929.63 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
  5650. 929.63 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5651. 929.63 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5652. 929.63 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5653. 929.63 s [really-safe-money-gen] let d' = Prelude.abs d
  5654. 929.63 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5655. 929.63 s [really-safe-money-gen] + f = if d <= 0 then Positive else Negative
  5656. 935.35 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5657. 935.38 s [really-safe-money-gen]
  5658. 935.38 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5659. 935.38 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
  5660. 935.38 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  5661. 935.38 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  5662. 935.38 s [really-safe-money-gen] fromRational quantisationFactor r =
  5663. 935.38 s [really-safe-money-gen] let r' = Prelude.abs r
  5664. 935.38 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  5665. 935.38 s [really-safe-money-gen] + f = if True then Positive else Negative
  5666. 935.38 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  5667. 935.38 s [really-safe-money-gen]
  5668. 935.38 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5669. 935.38 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
  5670. 935.38 s [really-safe-money-gen] @@ -168,9 +168,8 @@
  5671. 935.38 s [really-safe-money-gen] -- -0.25
  5672. 935.39 s [really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
  5673. 935.39 s [really-safe-money-gen] toDouble quantisationFactor account =
  5674. 935.39 s [really-safe-money-gen] let f = case account of
  5675. 935.39 s [really-safe-money-gen] Positive _ -> id
  5676. 935.39 s [really-safe-money-gen] - Negative _ -> Prelude.negate
  5677. 935.39 s [really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
  5678. 935.39 s [really-safe-money-gen]
  5679. 935.39 s [really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
  5680. 935.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
  5681. 935.39 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5682. 935.39 s [really-safe-money-gen] amount :: Amount
  5683. 935.39 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5684. 935.39 s [really-safe-money-gen] in Just $
  5685. 935.39 s [really-safe-money-gen] - if i >= 0
  5686. 935.39 s [really-safe-money-gen] + if False
  5687. 935.39 s [really-safe-money-gen] then Positive amount
  5688. 935.39 s [really-safe-money-gen] else Negative amount
  5689. 935.39 s [really-safe-money-gen]
  5690. 935.39 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:131:20-26
  5691. 935.39 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5692. 935.39 s [really-safe-money-gen] amount :: Amount
  5693. 935.39 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5694. 935.39 s [really-safe-money-gen] in Just $
  5695. 935.39 s [really-safe-money-gen] - if i >= 0
  5696. 935.39 s [really-safe-money-gen] + if not (i >= 0)
  5697. 935.39 s [really-safe-money-gen] then Positive amount
  5698. 935.39 s [really-safe-money-gen] else Negative amount
  5699. 935.39 s [really-safe-money-gen]
  5700. 935.39 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
  5701. 935.39 s [really-safe-money-gen] @@ -208,9 +208,8 @@
  5702. 935.39 s [really-safe-money-gen] -- (-3) % 20
  5703. 935.39 s [really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
  5704. 935.39 s [really-safe-money-gen] toRational quantisationFactor account =
  5705. 935.39 s [really-safe-money-gen] let f = case account of
  5706. 935.39 s [really-safe-money-gen] Positive _ -> id
  5707. 935.39 s [really-safe-money-gen] - Negative _ -> Prelude.negate
  5708. 935.39 s [really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
  5709. 935.39 s [really-safe-money-gen]
  5710. 935.39 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  5711. 935.39 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
  5712. 935.39 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5713. 935.39 s [really-safe-money-gen] amount :: Amount
  5714. 935.39 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5715. 935.39 s [really-safe-money-gen] in Just $
  5716. 935.39 s [really-safe-money-gen] - if i >= 0
  5717. 935.39 s [really-safe-money-gen] + if i <= 0
  5718. 935.39 s [really-safe-money-gen] then Positive amount
  5719. 935.39 s [really-safe-money-gen] else Negative amount
  5720. 935.39 s [really-safe-money-gen]
  5721. 935.40 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:341:11-18
  5722. 935.40 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  5723. 935.40 s [really-safe-money-gen] i2 :: Integer
  5724. 935.40 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5725. 935.40 s [really-safe-money-gen] r :: Integer
  5726. 935.40 s [really-safe-money-gen] - r = i1 + i2
  5727. 935.40 s [really-safe-money-gen] + r = i1 - i2
  5728. 935.40 s [really-safe-money-gen] in fromMinimalQuantisations r
  5729. 935.40 s [really-safe-money-gen]
  5730. 935.40 s [really-safe-money-gen] -- | Add a number of accounts of money together.
  5731. 935.40 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:378:11-18
  5732. 935.40 s [really-safe-money-gen] @@ -375,7 +375,7 @@
  5733. 935.40 s [really-safe-money-gen] i2 :: Integer
  5734. 935.40 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5735. 935.40 s [really-safe-money-gen] r :: Integer
  5736. 935.40 s [really-safe-money-gen] - r = i1 - i2
  5737. 935.40 s [really-safe-money-gen] + r = i1 + i2
  5738. 935.40 s [really-safe-money-gen] in fromMinimalQuantisations r
  5739. 935.40 s [really-safe-money-gen]
  5740. 935.40 s [really-safe-money-gen] -- | The absolute value of the account
  5741. 935.40 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:451:14-23
  5742. 935.40 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  5743. 935.40 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  5744. 935.40 s [really-safe-money-gen] DistributedZero -> DistributedZero
  5745. 935.40 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  5746. 935.40 s [really-safe-money-gen] - if a >= zero
  5747. 935.40 s [really-safe-money-gen] + if not (a >= zero)
  5748. 935.40 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  5749. 935.40 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  5750. 935.40 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  5751. 935.40 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
  5752. 935.40 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5753. 935.40 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5754. 935.40 s [really-safe-money-gen] a :: Integer
  5755. 935.40 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5756. 935.40 s [really-safe-money-gen] - in if a > maxBoundI
  5757. 935.40 s [really-safe-money-gen] + in if a < maxBoundI
  5758. 935.40 s [really-safe-money-gen] then Nothing
  5759. 935.40 s [really-safe-money-gen] else
  5760. 935.40 s [really-safe-money-gen] let w :: Word64
  5761. 935.40 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:341:11-18
  5762. 935.40 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  5763. 935.40 s [really-safe-money-gen] i2 :: Integer
  5764. 935.40 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5765. 935.40 s [really-safe-money-gen] r :: Integer
  5766. 935.40 s [really-safe-money-gen] - r = i1 + i2
  5767. 935.41 s [really-safe-money-gen] + r = i1 * i2
  5768. 935.41 s [really-safe-money-gen] in fromMinimalQuantisations r
  5769. 935.41 s [really-safe-money-gen]
  5770. 935.41 s [really-safe-money-gen] -- | Add a number of accounts of money together.
  5771. 935.41 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:503:10-16
  5772. 935.41 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  5773. 935.41 s [really-safe-money-gen] RoundNearest -> RoundNearest
  5774. 935.41 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  5775. 935.41 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  5776. 935.41 s [really-safe-money-gen] - in if f >= 0
  5777. 935.41 s [really-safe-money-gen] + in if not (f >= 0)
  5778. 935.41 s [really-safe-money-gen] then (ma, r)
  5779. 935.41 s [really-safe-money-gen] else (negate <$> ma, -r)
  5780. 935.41 s [really-safe-money-gen]
  5781. 935.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
  5782. 935.41 s [really-safe-money-gen] @@ -152,9 +152,8 @@
  5783. 935.41 s [really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
  5784. 935.41 s [really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
  5785. 935.41 s [really-safe-money-gen] toMinimalQuantisations account =
  5786. 935.41 s [really-safe-money-gen] let f = case account of
  5787. 935.41 s [really-safe-money-gen] - Positive _ -> id
  5788. 935.41 s [really-safe-money-gen] Negative _ -> Prelude.negate
  5789. 935.41 s [really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
  5790. 935.41 s [really-safe-money-gen]
  5791. 935.41 s [really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
  5792. 935.41 s [really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
  5793. 935.41 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  5794. 935.41 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  5795. 935.41 s [really-safe-money-gen] where
  5796. 935.41 s [really-safe-money-gen] go = \case
  5797. 935.41 s [really-safe-money-gen] - Nothing -> Just True
  5798. 935.41 s [really-safe-money-gen] + Nothing -> Just False
  5799. 935.41 s [really-safe-money-gen] s -> s
  5800. 935.41 s [really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:378:11-18
  5801. 935.41 s [really-safe-money-gen] @@ -375,7 +375,7 @@
  5802. 935.41 s [really-safe-money-gen] i2 :: Integer
  5803. 935.41 s [really-safe-money-gen] i2 = toMinimalQuantisations a2
  5804. 935.41 s [really-safe-money-gen] r :: Integer
  5805. 935.41 s [really-safe-money-gen] - r = i1 - i2
  5806. 935.41 s [really-safe-money-gen] + r = i1 * i2
  5807. 935.41 s [really-safe-money-gen] in fromMinimalQuantisations r
  5808. 935.41 s [really-safe-money-gen]
  5809. 935.41 s [really-safe-money-gen] -- | The absolute value of the account
  5810. 935.41 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  5811. 935.41 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  5812. 935.41 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  5813. 935.41 s [really-safe-money-gen] let currentDigits :: Word8
  5814. 935.41 s [really-safe-money-gen] currentDigits = digits dl
  5815. 935.42 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  5816. 935.42 s [really-safe-money-gen] + in if wantedDigits < currentDigits
  5817. 935.42 s [really-safe-money-gen] then dl
  5818. 935.42 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  5819. 935.42 s [really-safe-money-gen] where
  5820. 935.42 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
  5821. 935.42 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  5822. 935.42 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  5823. 935.42 s [really-safe-money-gen] where
  5824. 935.42 s [really-safe-money-gen] go = \case
  5825. 935.42 s [really-safe-money-gen] - Nothing -> Just True
  5826. 935.42 s [really-safe-money-gen] + Nothing -> Nothing
  5827. 935.42 s [really-safe-money-gen] s -> s
  5828. 935.42 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
  5829. 935.42 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5830. 935.42 s [really-safe-money-gen] amount :: Amount
  5831. 935.42 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5832. 935.42 s [really-safe-money-gen] in Just $
  5833. 935.42 s [really-safe-money-gen] - if i >= 0
  5834. 935.42 s [really-safe-money-gen] + if i < 0
  5835. 935.42 s [really-safe-money-gen] then Positive amount
  5836. 935.42 s [really-safe-money-gen] else Negative amount
  5837. 935.42 s [really-safe-money-gen]
  5838. 935.42 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
  5839. 935.42 s [really-safe-money-gen] @@ -152,9 +152,8 @@
  5840. 935.42 s [really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
  5841. 935.42 s [really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
  5842. 935.42 s [really-safe-money-gen] toMinimalQuantisations account =
  5843. 935.42 s [really-safe-money-gen] let f = case account of
  5844. 935.42 s [really-safe-money-gen] Positive _ -> id
  5845. 935.42 s [really-safe-money-gen] - Negative _ -> Prelude.negate
  5846. 935.42 s [really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
  5847. 935.42 s [really-safe-money-gen]
  5848. 935.42 s [really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
  5849. 935.42 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
  5850. 935.42 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  5851. 941.63 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  5852. 941.66 s [really-safe-money-gen] fromDouble quantisationFactor d =
  5853. 941.66 s [really-safe-money-gen] let d' = Prelude.abs d
  5854. 941.66 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  5855. 941.66 s [really-safe-money-gen] + f = if False then Positive else Negative
  5856. 941.66 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  5857. 941.66 s [really-safe-money-gen]
  5858. 941.66 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  5859. 941.66 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  5860. 941.66 s [really-safe-money-gen] @@ -367,7 +367,7 @@
  5861. 941.66 s [really-safe-money-gen] currentDigits = digits dl
  5862. 941.66 s [really-safe-money-gen] in if wantedDigits <= currentDigits
  5863. 941.66 s [really-safe-money-gen] then dl
  5864. 941.66 s [really-safe-money-gen] - else increaseDigits (wantedDigits - currentDigits) dl
  5865. 941.66 s [really-safe-money-gen] + else increaseDigits (wantedDigits + currentDigits) dl
  5866. 941.66 s [really-safe-money-gen] where
  5867. 941.66 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5868. 941.66 s [really-safe-money-gen] increaseDigits 0 = id
  5869. 941.66 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  5870. 941.66 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5871. 941.66 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5872. 941.66 s [really-safe-money-gen] increaseDigits 0 = id
  5873. 941.66 s [really-safe-money-gen] increaseDigits w = \case
  5874. 941.66 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5875. 941.66 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 0) (succ e))
  5876. 941.67 s [really-safe-money-gen]
  5877. 941.67 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5878. 941.67 s [really-safe-money-gen] --
  5879. 941.67 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  5880. 941.67 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5881. 941.67 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5882. 941.67 s [really-safe-money-gen] increaseDigits 0 = id
  5883. 941.67 s [really-safe-money-gen] increaseDigits w = \case
  5884. 941.67 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5885. 941.67 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m + 10) (succ e))
  5886. 941.67 s [really-safe-money-gen]
  5887. 941.67 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5888. 941.67 s [really-safe-money-gen] --
  5889. 941.67 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  5890. 941.67 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  5891. 941.67 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  5892. 941.67 s [really-safe-money-gen] let currentDigits :: Word8
  5893. 941.67 s [really-safe-money-gen] currentDigits = digits dl
  5894. 941.67 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  5895. 941.67 s [really-safe-money-gen] + in if True
  5896. 941.67 s [really-safe-money-gen] then dl
  5897. 941.67 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  5898. 941.67 s [really-safe-money-gen] where
  5899. 941.67 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
  5900. 941.67 s [really-safe-money-gen] @@ -367,7 +367,7 @@
  5901. 941.67 s [really-safe-money-gen] currentDigits = digits dl
  5902. 941.67 s [really-safe-money-gen] in if wantedDigits <= currentDigits
  5903. 941.67 s [really-safe-money-gen] then dl
  5904. 941.67 s [really-safe-money-gen] - else increaseDigits (wantedDigits - currentDigits) dl
  5905. 941.67 s [really-safe-money-gen] + else increaseDigits (wantedDigits * currentDigits) dl
  5906. 941.67 s [really-safe-money-gen] where
  5907. 941.67 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5908. 941.67 s [really-safe-money-gen] increaseDigits 0 = id
  5909. 941.67 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
  5910. 941.67 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5911. 941.67 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5912. 941.67 s [really-safe-money-gen] increaseDigits 0 = id
  5913. 941.67 s [really-safe-money-gen] increaseDigits w = \case
  5914. 941.68 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5915. 941.68 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 1) (succ e))
  5916. 941.68 s [really-safe-money-gen]
  5917. 941.68 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5918. 941.68 s [really-safe-money-gen] --
  5919. 941.68 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
  5920. 941.68 s [really-safe-money-gen] @@ -372,7 +372,7 @@
  5921. 941.68 s [really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
  5922. 941.68 s [really-safe-money-gen] increaseDigits 0 = id
  5923. 941.68 s [really-safe-money-gen] increaseDigits w = \case
  5924. 941.68 s [really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
  5925. 941.68 s [really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m - 10) (succ e))
  5926. 941.68 s [really-safe-money-gen]
  5927. 941.68 s [really-safe-money-gen] -- | Ensures that a positive literal has no sign
  5928. 941.68 s [really-safe-money-gen] --
  5929. 941.68 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26
  5930. 941.68 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5931. 941.68 s [really-safe-money-gen] amount :: Amount
  5932. 941.68 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5933. 941.68 s [really-safe-money-gen] in Just $
  5934. 941.68 s [really-safe-money-gen] - if i >= 0
  5935. 941.68 s [really-safe-money-gen] + if i >= 1
  5936. 941.68 s [really-safe-money-gen] then Positive amount
  5937. 941.68 s [really-safe-money-gen] else Negative amount
  5938. 941.68 s [really-safe-money-gen]
  5939. 941.68 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  5940. 941.68 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5941. 941.68 s [really-safe-money-gen] pure $ fromIntegral n
  5942. 941.68 s [really-safe-money-gen]
  5943. 941.68 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  5944. 941.68 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  5945. 941.68 s [really-safe-money-gen] +numSign a = if a <= 0 then Nothing else Just False
  5946. 941.68 s [really-safe-money-gen]
  5947. 941.68 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  5948. 941.68 s [really-safe-money-gen] signSignum = \case
  5949. 941.68 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  5950. 941.68 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5951. 941.68 s [really-safe-money-gen] pure $ fromIntegral n
  5952. 941.68 s [really-safe-money-gen]
  5953. 941.68 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  5954. 941.68 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  5955. 941.68 s [really-safe-money-gen] +numSign a = if a < 0 then Nothing else Just False
  5956. 941.68 s [really-safe-money-gen]
  5957. 941.68 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  5958. 941.68 s [really-safe-money-gen] signSignum = \case
  5959. 941.69 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
  5960. 941.69 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  5961. 941.69 s [really-safe-money-gen] amount :: Amount
  5962. 941.69 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  5963. 941.69 s [really-safe-money-gen] in Just $
  5964. 941.69 s [really-safe-money-gen] - if i >= 0
  5965. 941.69 s [really-safe-money-gen] + if True
  5966. 941.69 s [really-safe-money-gen] then Positive amount
  5967. 941.69 s [really-safe-money-gen] else Negative amount
  5968. 941.69 s [really-safe-money-gen]
  5969. 941.69 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  5970. 941.69 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  5971. 941.69 s [really-safe-money-gen] pure $ fromIntegral n
  5972. 941.69 s [really-safe-money-gen]
  5973. 941.69 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  5974. 941.69 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  5975. 941.69 s [really-safe-money-gen] +numSign a = if a > 0 then Nothing else Just False
  5976. 941.69 s [really-safe-money-gen]
  5977. 941.69 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  5978. 941.69 s [really-safe-money-gen] signSignum = \case
  5979. 941.69 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:123:10-23
  5980. 941.69 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  5981. 941.69 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  5982. 941.69 s [really-safe-money-gen] a :: Integer
  5983. 941.69 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  5984. 941.69 s [really-safe-money-gen] - in if a > maxBoundI
  5985. 941.69 s [really-safe-money-gen] + in if not (a > maxBoundI)
  5986. 941.69 s [really-safe-money-gen] then Nothing
  5987. 941.69 s [really-safe-money-gen] else
  5988. 941.69 s [really-safe-money-gen] let w :: Word64
  5989. 941.69 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  5990. 941.69 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  5991. 941.69 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  5992. 941.69 s [really-safe-money-gen] let currentDigits :: Word8
  5993. 941.69 s [really-safe-money-gen] currentDigits = digits dl
  5994. 941.69 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  5995. 941.69 s [really-safe-money-gen] + in if wantedDigits > currentDigits
  5996. 941.69 s [really-safe-money-gen] then dl
  5997. 941.69 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  5998. 941.69 s [really-safe-money-gen] where
  5999. 941.69 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
  6000. 941.69 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  6001. 941.69 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  6002. 941.69 s [really-safe-money-gen] let currentDigits :: Word8
  6003. 941.69 s [really-safe-money-gen] currentDigits = digits dl
  6004. 941.69 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  6005. 941.69 s [really-safe-money-gen] + in if wantedDigits >= currentDigits
  6006. 941.70 s [really-safe-money-gen] then dl
  6007. 941.70 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  6008. 941.70 s [really-safe-money-gen] where
  6009. 941.70 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  6010. 941.70 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6011. 941.70 s [really-safe-money-gen] pure $ fromIntegral n
  6012. 941.70 s [really-safe-money-gen]
  6013. 941.70 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6014. 941.70 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6015. 941.70 s [really-safe-money-gen] +numSign a = if True then Nothing else Just False
  6016. 941.70 s [really-safe-money-gen]
  6017. 941.70 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6018. 941.70 s [really-safe-money-gen] signSignum = \case
  6019. 941.70 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
  6020. 941.70 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  6021. 941.70 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  6022. 941.70 s [really-safe-money-gen] a :: Integer
  6023. 941.70 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  6024. 941.70 s [really-safe-money-gen] - in if a > maxBoundI
  6025. 941.70 s [really-safe-money-gen] + in if a <= maxBoundI
  6026. 941.70 s [really-safe-money-gen] then Nothing
  6027. 941.70 s [really-safe-money-gen] else
  6028. 941.70 s [really-safe-money-gen] let w :: Word64
  6029. 946.04 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
  6030. 946.04 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  6031. 946.04 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  6032. 946.04 s [really-safe-money-gen] a :: Integer
  6033. 946.05 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  6034. 946.05 s [really-safe-money-gen] - in if a > maxBoundI
  6035. 946.05 s [really-safe-money-gen] + in if False
  6036. 946.05 s [really-safe-money-gen] then Nothing
  6037. 946.05 s [really-safe-money-gen] else
  6038. 946.05 s [really-safe-money-gen] let w :: Word64
  6039. 946.05 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
  6040. 946.05 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6041. 946.05 s [really-safe-money-gen] pure $ fromIntegral n
  6042. 946.05 s [really-safe-money-gen]
  6043. 946.05 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6044. 946.05 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6045. 946.05 s [really-safe-money-gen] +numSign a = if not (a >= 0) then Nothing else Just False
  6046. 946.05 s [really-safe-money-gen]
  6047. 946.05 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6048. 946.05 s [really-safe-money-gen] signSignum = \case
  6049. 946.05 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  6050. 946.05 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6051. 946.05 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6052. 946.05 s [really-safe-money-gen] toInt dl = do
  6053. 946.05 s [really-safe-money-gen] n <- toInteger dl
  6054. 946.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6055. 946.05 s [really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
  6056. 946.05 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6057. 946.05 s [really-safe-money-gen] pure $ fromIntegral n
  6058. 946.05 s [really-safe-money-gen]
  6059. 946.05 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
  6060. 946.06 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6061. 946.06 s [really-safe-money-gen] pure $ fromIntegral n
  6062. 946.06 s [really-safe-money-gen]
  6063. 946.06 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6064. 946.06 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6065. 946.06 s [really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Nothing
  6066. 946.06 s [really-safe-money-gen]
  6067. 946.06 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6068. 946.06 s [really-safe-money-gen] signSignum = \case
  6069. 946.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
  6070. 946.06 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  6071. 946.06 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  6072. 946.06 s [really-safe-money-gen] let currentDigits :: Word8
  6073. 946.06 s [really-safe-money-gen] currentDigits = digits dl
  6074. 946.06 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  6075. 946.06 s [really-safe-money-gen] + in if False
  6076. 946.06 s [really-safe-money-gen] then dl
  6077. 946.06 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  6078. 946.06 s [really-safe-money-gen] where
  6079. 946.06 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  6080. 946.06 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6081. 946.06 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6082. 946.06 s [really-safe-money-gen] toInt dl = do
  6083. 946.06 s [really-safe-money-gen] n <- toInteger dl
  6084. 946.06 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6085. 946.06 s [really-safe-money-gen] + guard $ n >= fromIntegral (maxBound :: Int)
  6086. 946.06 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6087. 946.06 s [really-safe-money-gen] pure $ fromIntegral n
  6088. 946.06 s [really-safe-money-gen]
  6089. 946.06 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
  6090. 946.06 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  6091. 946.06 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  6092. 946.06 s [really-safe-money-gen] let currentDigits :: Word8
  6093. 946.06 s [really-safe-money-gen] currentDigits = digits dl
  6094. 946.06 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  6095. 946.06 s [really-safe-money-gen] + in if not (wantedDigits <= currentDigits)
  6096. 946.06 s [really-safe-money-gen] then dl
  6097. 946.06 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  6098. 946.06 s [really-safe-money-gen] where
  6099. 946.06 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  6100. 946.06 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6101. 946.06 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6102. 946.06 s [really-safe-money-gen] toInt dl = do
  6103. 946.06 s [really-safe-money-gen] n <- toInteger dl
  6104. 946.06 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6105. 946.06 s [really-safe-money-gen] + guard $ n > fromIntegral (maxBound :: Int)
  6106. 946.06 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6107. 946.06 s [really-safe-money-gen] pure $ fromIntegral n
  6108. 946.06 s [really-safe-money-gen]
  6109. 946.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  6110. 946.06 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6111. 946.06 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6112. 946.06 s [really-safe-money-gen] toInt dl = do
  6113. 946.06 s [really-safe-money-gen] n <- toInteger dl
  6114. 946.06 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6115. 946.06 s [really-safe-money-gen] + guard $ True
  6116. 946.06 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6117. 946.06 s [really-safe-money-gen] pure $ fromIntegral n
  6118. 946.06 s [really-safe-money-gen]
  6119. 946.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  6120. 946.07 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6121. 946.07 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6122. 946.07 s [really-safe-money-gen] toInt dl = do
  6123. 946.07 s [really-safe-money-gen] n <- toInteger dl
  6124. 946.07 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6125. 946.07 s [really-safe-money-gen] + guard $ False
  6126. 946.07 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6127. 946.07 s [really-safe-money-gen] pure $ fromIntegral n
  6128. 946.07 s [really-safe-money-gen]
  6129. 946.07 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
  6130. 946.07 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  6131. 946.07 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6132. 946.07 s [really-safe-money-gen] toInt dl = do
  6133. 946.07 s [really-safe-money-gen] n <- toInteger dl
  6134. 946.07 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6135. 946.07 s [really-safe-money-gen] + guard $ not (n <= fromIntegral (maxBound :: Int))
  6136. 946.07 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6137. 946.07 s [really-safe-money-gen] pure $ fromIntegral n
  6138. 946.07 s [really-safe-money-gen]
  6139. 946.07 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  6140. 946.07 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6141. 946.07 s [really-safe-money-gen] toInt dl = do
  6142. 946.07 s [really-safe-money-gen] n <- toInteger dl
  6143. 946.07 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6144. 946.07 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6145. 946.07 s [really-safe-money-gen] + guard $ n < fromIntegral (minBound :: Int)
  6146. 946.07 s [really-safe-money-gen] pure $ fromIntegral n
  6147. 946.07 s [really-safe-money-gen]
  6148. 946.07 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6149. 946.07 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  6150. 946.07 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6151. 946.07 s [really-safe-money-gen] toInt dl = do
  6152. 946.07 s [really-safe-money-gen] n <- toInteger dl
  6153. 946.07 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6154. 946.07 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6155. 946.07 s [really-safe-money-gen] + guard $ n <= fromIntegral (minBound :: Int)
  6156. 946.07 s [really-safe-money-gen] pure $ fromIntegral n
  6157. 946.07 s [really-safe-money-gen]
  6158. 946.07 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6159. 946.07 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
  6160. 946.07 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6161. 946.07 s [really-safe-money-gen] toInt dl = do
  6162. 946.07 s [really-safe-money-gen] n <- toInteger dl
  6163. 946.07 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6164. 946.07 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6165. 946.07 s [really-safe-money-gen] + guard $ n > fromIntegral (minBound :: Int)
  6166. 946.07 s [really-safe-money-gen] pure $ fromIntegral n
  6167. 946.07 s [really-safe-money-gen]
  6168. 946.07 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6169. 946.07 s [really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  6170. 946.07 s [really-safe-money-gen] @@ -330,7 +330,6 @@
  6171. 946.07 s [really-safe-money-gen] toInt dl = do
  6172. 946.07 s [really-safe-money-gen] n <- toInteger dl
  6173. 946.07 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6174. 946.07 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6175. 946.07 s [really-safe-money-gen] pure $ fromIntegral n
  6176. 946.07 s [really-safe-money-gen]
  6177. 946.07 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6178. 946.08 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
  6179. 946.08 s [really-safe-money-gen] @@ -312,7 +312,7 @@
  6180. 946.08 s [really-safe-money-gen]
  6181. 946.08 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
  6182. 946.08 s [really-safe-money-gen] fromInteger :: Integer -> DecimalLiteral
  6183. 946.08 s [really-safe-money-gen] -fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 0
  6184. 946.08 s [really-safe-money-gen] +fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 1
  6185. 946.08 s [really-safe-money-gen]
  6186. 946.08 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into an 'Integer'
  6187. 946.08 s [really-safe-money-gen] toInteger :: DecimalLiteral -> Maybe Integer
  6188. 946.08 s [really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
  6189. 946.08 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6190. 946.08 s [really-safe-money-gen] pure $ fromIntegral n
  6191. 946.08 s [really-safe-money-gen]
  6192. 946.08 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6193. 946.08 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6194. 946.08 s [really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Just True
  6195. 946.08 s [really-safe-money-gen]
  6196. 946.08 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6197. 946.08 s [really-safe-money-gen] signSignum = \case
  6198. 946.08 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
  6199. 946.08 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6200. 946.08 s [really-safe-money-gen] pure $ fromIntegral n
  6201. 946.08 s [really-safe-money-gen]
  6202. 946.08 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6203. 946.08 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6204. 946.08 s [really-safe-money-gen] +numSign a = if False then Nothing else Just False
  6205. 946.08 s [really-safe-money-gen]
  6206. 946.08 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6207. 946.08 s [really-safe-money-gen] signSignum = \case
  6208. 946.08 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
  6209. 946.08 s [really-safe-money-gen] @@ -307,7 +307,7 @@
  6210. 946.08 s [really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
  6211. 946.08 s [really-safe-money-gen] toNatural = \case
  6212. 946.08 s [really-safe-money-gen] DecimalLiteral (Just False) _ _ -> Nothing
  6213. 950.96 s [really-safe-money-gen] - DecimalLiteral _ n 0 -> Just n
  6214. 950.96 s [really-safe-money-gen] + DecimalLiteral _ n 0 -> Nothing
  6215. 951.04 s [really-safe-money-gen] _ -> Nothing
  6216. 951.04 s [really-safe-money-gen]
  6217. 951.04 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
  6218. 951.04 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  6219. 951.04 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6220. 951.04 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6221. 951.04 s [really-safe-money-gen] toWord dl = do
  6222. 951.04 s [really-safe-money-gen] n <- toNatural dl
  6223. 951.04 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6224. 951.04 s [really-safe-money-gen] + guard $ n > fromIntegral (maxBound :: Word)
  6225. 951.04 s [really-safe-money-gen] pure $ fromIntegral n
  6226. 951.04 s [really-safe-money-gen]
  6227. 951.04 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6228. 951.04 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  6229. 951.04 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6230. 951.04 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6231. 951.04 s [really-safe-money-gen] toWord dl = do
  6232. 951.04 s [really-safe-money-gen] n <- toNatural dl
  6233. 951.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6234. 951.05 s [really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Word)
  6235. 951.05 s [really-safe-money-gen] pure $ fromIntegral n
  6236. 951.05 s [really-safe-money-gen]
  6237. 951.05 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6238. 951.05 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  6239. 951.05 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6240. 951.05 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6241. 951.05 s [really-safe-money-gen] toWord dl = do
  6242. 951.05 s [really-safe-money-gen] n <- toNatural dl
  6243. 951.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6244. 951.05 s [really-safe-money-gen] + guard $ False
  6245. 951.05 s [really-safe-money-gen] pure $ fromIntegral n
  6246. 951.05 s [really-safe-money-gen]
  6247. 951.05 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6248. 951.05 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
  6249. 951.05 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6250. 951.05 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6251. 951.05 s [really-safe-money-gen] toWord dl = do
  6252. 951.05 s [really-safe-money-gen] n <- toNatural dl
  6253. 951.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6254. 951.05 s [really-safe-money-gen] + guard $ not (n <= fromIntegral (maxBound :: Word))
  6255. 951.05 s [really-safe-money-gen] pure $ fromIntegral n
  6256. 951.05 s [really-safe-money-gen]
  6257. 951.05 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6258. 951.05 s [really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  6259. 951.05 s [really-safe-money-gen] @@ -296,7 +296,6 @@
  6260. 951.05 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6261. 951.05 s [really-safe-money-gen] toWord dl = do
  6262. 951.05 s [really-safe-money-gen] n <- toNatural dl
  6263. 951.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6264. 951.05 s [really-safe-money-gen] pure $ fromIntegral n
  6265. 951.05 s [really-safe-money-gen]
  6266. 951.06 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6267. 951.06 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  6268. 951.06 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  6269. 951.06 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6270. 951.06 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6271. 951.06 s [really-safe-money-gen] Just False -> Nothing
  6272. 951.06 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  6273. 951.06 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (0 ^ e)
  6274. 951.06 s [really-safe-money-gen]
  6275. 951.06 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6276. 951.06 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6277. 951.06 s [really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:197:14-20
  6278. 951.06 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  6279. 951.06 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  6280. 951.06 s [really-safe-money-gen] fromDouble quantisationFactor d =
  6281. 951.06 s [really-safe-money-gen] let d' = Prelude.abs d
  6282. 951.06 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  6283. 951.06 s [really-safe-money-gen] + f = if not (d >= 0) then Positive else Negative
  6284. 951.06 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  6285. 951.06 s [really-safe-money-gen]
  6286. 951.06 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  6287. 951.06 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  6288. 951.06 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  6289. 951.06 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6290. 951.06 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6291. 951.06 s [really-safe-money-gen] Just False -> Nothing
  6292. 951.06 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  6293. 951.06 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (-10 ^ e)
  6294. 951.06 s [really-safe-money-gen]
  6295. 951.06 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6296. 951.06 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6297. 951.06 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
  6298. 951.06 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  6299. 951.06 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  6300. 951.06 s [really-safe-money-gen] a :: Integer
  6301. 951.06 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  6302. 951.06 s [really-safe-money-gen] - in if a > maxBoundI
  6303. 951.07 s [really-safe-money-gen] + in if a >= maxBoundI
  6304. 951.07 s [really-safe-money-gen] then Nothing
  6305. 951.07 s [really-safe-money-gen] else
  6306. 951.07 s [really-safe-money-gen] let w :: Word64
  6307. 951.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  6308. 951.07 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6309. 951.07 s [really-safe-money-gen] toInt dl = do
  6310. 951.07 s [really-safe-money-gen] n <- toInteger dl
  6311. 951.07 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6312. 951.07 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6313. 951.07 s [really-safe-money-gen] + guard $ False
  6314. 951.07 s [really-safe-money-gen] pure $ fromIntegral n
  6315. 951.07 s [really-safe-money-gen]
  6316. 951.07 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6317. 951.07 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  6318. 951.07 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  6319. 951.07 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6320. 951.07 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6321. 951.07 s [really-safe-money-gen] Just False -> Nothing
  6322. 951.07 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  6323. 951.07 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
  6324. 951.07 s [really-safe-money-gen]
  6325. 951.07 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6326. 951.07 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6327. 951.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  6328. 951.07 s [really-safe-money-gen] @@ -284,9 +284,8 @@
  6329. 951.07 s [really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
  6330. 951.07 s [really-safe-money-gen] -- Nothing
  6331. 951.07 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6332. 951.07 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6333. 951.07 s [really-safe-money-gen] - Just False -> Nothing
  6334. 951.07 s [really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
  6335. 951.07 s [really-safe-money-gen]
  6336. 951.07 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6337. 951.07 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6338. 951.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  6339. 951.07 s [really-safe-money-gen] @@ -284,9 +284,8 @@
  6340. 951.07 s [really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
  6341. 951.07 s [really-safe-money-gen] -- Nothing
  6342. 951.07 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  6343. 951.07 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  6344. 951.07 s [really-safe-money-gen] Just False -> Nothing
  6345. 951.07 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  6346. 951.07 s [really-safe-money-gen]
  6347. 951.07 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  6348. 951.07 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  6349. 951.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
  6350. 951.08 s [really-safe-money-gen] @@ -168,9 +168,8 @@
  6351. 951.08 s [really-safe-money-gen] -- -0.25
  6352. 951.08 s [really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
  6353. 951.08 s [really-safe-money-gen] toDouble quantisationFactor account =
  6354. 951.08 s [really-safe-money-gen] let f = case account of
  6355. 951.08 s [really-safe-money-gen] - Positive _ -> id
  6356. 951.08 s [really-safe-money-gen] Negative _ -> Prelude.negate
  6357. 951.08 s [really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
  6358. 951.08 s [really-safe-money-gen]
  6359. 951.08 s [really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
  6360. 951.08 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  6361. 951.08 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6362. 951.08 s [really-safe-money-gen] toInt dl = do
  6363. 951.08 s [really-safe-money-gen] n <- toInteger dl
  6364. 951.08 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6365. 951.08 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6366. 951.08 s [really-safe-money-gen] + guard $ True
  6367. 951.08 s [really-safe-money-gen] pure $ fromIntegral n
  6368. 951.08 s [really-safe-money-gen]
  6369. 951.08 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6370. 951.08 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  6371. 951.08 s [really-safe-money-gen] @@ -233,7 +233,7 @@
  6372. 951.08 s [really-safe-money-gen] -- >>> fromRatio (1 % 3)
  6373. 951.08 s [really-safe-money-gen] -- Nothing
  6374. 951.08 s [really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
  6375. 951.08 s [really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
  6376. 951.08 s [really-safe-money-gen] +fromRatio = fromRationalRepetendLimited 1
  6377. 951.08 s [really-safe-money-gen] where
  6378. 951.08 s [really-safe-money-gen] fromRationalRepetendLimited ::
  6379. 951.08 s [really-safe-money-gen] -- limit
  6380. 951.08 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  6381. 951.08 s [really-safe-money-gen] @@ -233,7 +233,7 @@
  6382. 951.08 s [really-safe-money-gen] -- >>> fromRatio (1 % 3)
  6383. 951.08 s [really-safe-money-gen] -- Nothing
  6384. 951.08 s [really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
  6385. 951.08 s [really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
  6386. 951.08 s [really-safe-money-gen] +fromRatio = fromRationalRepetendLimited 0
  6387. 951.08 s [really-safe-money-gen] where
  6388. 951.08 s [really-safe-money-gen] fromRationalRepetendLimited ::
  6389. 951.08 s [really-safe-money-gen] -- limit
  6390. 951.08 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
  6391. 951.08 s [really-safe-money-gen] @@ -233,7 +233,7 @@
  6392. 951.08 s [really-safe-money-gen] -- >>> fromRatio (1 % 3)
  6393. 951.08 s [really-safe-money-gen] -- Nothing
  6394. 951.08 s [really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
  6395. 951.08 s [really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
  6396. 951.09 s [really-safe-money-gen] +fromRatio = fromRationalRepetendLimited -256
  6397. 951.09 s [really-safe-money-gen] where
  6398. 951.09 s [really-safe-money-gen] fromRationalRepetendLimited ::
  6399. 951.09 s [really-safe-money-gen] -- limit
  6400. 951.09 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
  6401. 951.09 s [really-safe-money-gen] @@ -241,7 +241,7 @@
  6402. 951.09 s [really-safe-money-gen] Ratio Natural ->
  6403. 951.09 s [really-safe-money-gen] Maybe DecimalLiteral
  6404. 955.99 s [really-safe-money-gen] fromRationalRepetendLimited l rational
  6405. 955.99 s [really-safe-money-gen] - | d == 0 = Nothing
  6406. 956.04 s [really-safe-money-gen] + | d == 1 = Nothing
  6407. 956.04 s [really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
  6408. 956.04 s [really-safe-money-gen] where
  6409. 956.04 s [really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
  6410. 956.04 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
  6411. 956.04 s [really-safe-money-gen] @@ -301,7 +301,7 @@
  6412. 956.04 s [really-safe-money-gen]
  6413. 956.04 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6414. 956.04 s [really-safe-money-gen] fromNatural :: Natural -> DecimalLiteral
  6415. 956.04 s [really-safe-money-gen] -fromNatural n = DecimalLiteral Nothing n 0
  6416. 956.04 s [really-safe-money-gen] +fromNatural n = DecimalLiteral Nothing n 1
  6417. 956.05 s [really-safe-money-gen]
  6418. 956.05 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Natural'
  6419. 956.05 s [really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
  6420. 956.05 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
  6421. 956.05 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6422. 956.05 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6423. 956.05 s [really-safe-money-gen] toWord dl = do
  6424. 956.05 s [really-safe-money-gen] n <- toNatural dl
  6425. 956.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6426. 956.05 s [really-safe-money-gen] + guard $ n >= fromIntegral (maxBound :: Word)
  6427. 956.05 s [really-safe-money-gen] pure $ fromIntegral n
  6428. 956.05 s [really-safe-money-gen]
  6429. 956.05 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6430. 956.05 s [really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  6431. 956.05 s [really-safe-money-gen] @@ -329,7 +329,6 @@
  6432. 956.05 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  6433. 956.05 s [really-safe-money-gen] toInt dl = do
  6434. 956.05 s [really-safe-money-gen] n <- toInteger dl
  6435. 956.05 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  6436. 956.05 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  6437. 956.05 s [really-safe-money-gen] pure $ fromIntegral n
  6438. 956.05 s [really-safe-money-gen]
  6439. 956.05 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
  6440. 956.05 s [really-safe-money-gen] @@ -258,7 +258,7 @@
  6441. 956.05 s [really-safe-money-gen] Natural ->
  6442. 956.05 s [really-safe-money-gen] Maybe (Natural, Int)
  6443. 956.05 s [really-safe-money-gen] longDivWithLimit !c !e _ns 0 =
  6444. 956.05 s [really-safe-money-gen] - Just (c, e)
  6445. 956.05 s [really-safe-money-gen] + Nothing
  6446. 956.05 s [really-safe-money-gen] longDivWithLimit !c !e ns !n
  6447. 956.05 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6448. 956.05 s [really-safe-money-gen] | S.member n ns = Nothing
  6449. 956.05 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
  6450. 956.05 s [really-safe-money-gen] @@ -261,7 +261,7 @@
  6451. 956.06 s [really-safe-money-gen] Just (c, e)
  6452. 956.06 s [really-safe-money-gen] longDivWithLimit !c !e ns !n
  6453. 956.06 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6454. 956.06 s [really-safe-money-gen] - | S.member n ns = Nothing
  6455. 956.06 s [really-safe-money-gen] + | True = Nothing
  6456. 956.06 s [really-safe-money-gen] -- Over the limit, stop trying
  6457. 956.06 s [really-safe-money-gen] | e >= l = Nothing
  6458. 956.06 s [really-safe-money-gen] | n < d =
  6459. 956.06 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
  6460. 956.06 s [really-safe-money-gen] @@ -261,7 +261,7 @@
  6461. 956.06 s [really-safe-money-gen] Just (c, e)
  6462. 956.06 s [really-safe-money-gen] longDivWithLimit !c !e ns !n
  6463. 956.06 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6464. 956.06 s [really-safe-money-gen] - | S.member n ns = Nothing
  6465. 956.06 s [really-safe-money-gen] + | not (S.member n ns) = Nothing
  6466. 956.06 s [really-safe-money-gen] -- Over the limit, stop trying
  6467. 956.06 s [really-safe-money-gen] | e >= l = Nothing
  6468. 956.06 s [really-safe-money-gen] | n < d =
  6469. 956.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
  6470. 956.06 s [really-safe-money-gen] @@ -241,7 +241,7 @@
  6471. 956.06 s [really-safe-money-gen] Ratio Natural ->
  6472. 956.06 s [really-safe-money-gen] Maybe DecimalLiteral
  6473. 956.06 s [really-safe-money-gen] fromRationalRepetendLimited l rational
  6474. 956.06 s [really-safe-money-gen] - | d == 0 = Nothing
  6475. 956.06 s [really-safe-money-gen] + | True = Nothing
  6476. 956.06 s [really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
  6477. 956.06 s [really-safe-money-gen] where
  6478. 956.06 s [really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
  6479. 956.06 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
  6480. 956.06 s [really-safe-money-gen] @@ -241,7 +241,7 @@
  6481. 956.06 s [really-safe-money-gen] Ratio Natural ->
  6482. 956.06 s [really-safe-money-gen] Maybe DecimalLiteral
  6483. 956.06 s [really-safe-money-gen] fromRationalRepetendLimited l rational
  6484. 956.06 s [really-safe-money-gen] - | d == 0 = Nothing
  6485. 956.06 s [really-safe-money-gen] + | not (d == 0) = Nothing
  6486. 956.06 s [really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
  6487. 956.06 s [really-safe-money-gen] where
  6488. 956.06 s [really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
  6489. 956.06 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
  6490. 956.06 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  6491. 956.06 s [really-safe-money-gen] amount :: Amount
  6492. 956.06 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  6493. 956.07 s [really-safe-money-gen] in Just $
  6494. 956.07 s [really-safe-money-gen] - if i >= 0
  6495. 956.07 s [really-safe-money-gen] + if i > 0
  6496. 956.07 s [really-safe-money-gen] then Positive amount
  6497. 956.07 s [really-safe-money-gen] else Negative amount
  6498. 956.07 s [really-safe-money-gen]
  6499. 956.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
  6500. 956.07 s [really-safe-money-gen] @@ -208,9 +208,8 @@
  6501. 956.07 s [really-safe-money-gen] -- (-3) % 20
  6502. 956.07 s [really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
  6503. 956.07 s [really-safe-money-gen] toRational quantisationFactor account =
  6504. 956.07 s [really-safe-money-gen] let f = case account of
  6505. 956.07 s [really-safe-money-gen] - Positive _ -> id
  6506. 956.07 s [really-safe-money-gen] Negative _ -> Prelude.negate
  6507. 956.07 s [really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
  6508. 956.07 s [really-safe-money-gen]
  6509. 956.07 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  6510. 956.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
  6511. 956.07 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  6512. 956.07 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  6513. 956.07 s [really-safe-money-gen] a :: Integer
  6514. 956.07 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  6515. 956.07 s [really-safe-money-gen] - in if a > maxBoundI
  6516. 956.07 s [really-safe-money-gen] + in if True
  6517. 956.07 s [really-safe-money-gen] then Nothing
  6518. 956.07 s [really-safe-money-gen] else
  6519. 956.07 s [really-safe-money-gen] let w :: Word64
  6520. 956.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
  6521. 956.07 s [really-safe-money-gen] @@ -230,7 +230,7 @@
  6522. 956.07 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
  6523. 956.07 s [really-safe-money-gen] fromRational quantisationFactor r =
  6524. 956.07 s [really-safe-money-gen] let r' = Prelude.abs r
  6525. 956.07 s [really-safe-money-gen] - f = if r >= 0 then Positive else Negative
  6526. 956.07 s [really-safe-money-gen] + f = if False then Positive else Negative
  6527. 956.07 s [really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
  6528. 956.07 s [really-safe-money-gen]
  6529. 956.07 s [really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
  6530. 956.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  6531. 956.07 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  6532. 956.08 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  6533. 956.08 s [really-safe-money-gen] toWord dl = do
  6534. 956.08 s [really-safe-money-gen] n <- toNatural dl
  6535. 956.08 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  6536. 956.08 s [really-safe-money-gen] + guard $ True
  6537. 956.08 s [really-safe-money-gen] pure $ fromIntegral n
  6538. 956.08 s [really-safe-money-gen]
  6539. 956.08 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  6540. 956.08 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  6541. 956.08 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  6542. 956.08 s [really-safe-money-gen] pure $ fromIntegral n
  6543. 956.08 s [really-safe-money-gen]
  6544. 956.08 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6545. 956.08 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  6546. 956.08 s [really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
  6547. 956.08 s [really-safe-money-gen]
  6548. 956.08 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  6549. 956.08 s [really-safe-money-gen] signSignum = \case
  6550. 956.08 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  6551. 956.08 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6552. 956.08 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6553. 956.08 s [really-safe-money-gen] | S.member n ns = Nothing
  6554. 956.08 s [really-safe-money-gen] -- Over the limit, stop trying
  6555. 956.08 s [really-safe-money-gen] - | e >= l = Nothing
  6556. 956.08 s [really-safe-money-gen] + | e > l = Nothing
  6557. 956.08 s [really-safe-money-gen] | n < d =
  6558. 956.08 s [really-safe-money-gen] let !ns' = S.insert n ns
  6559. 956.08 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6560. 956.08 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
  6561. 956.08 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6562. 956.08 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6563. 956.08 s [really-safe-money-gen] | S.member n ns = Nothing
  6564. 956.08 s [really-safe-money-gen] -- Over the limit, stop trying
  6565. 956.08 s [really-safe-money-gen] - | e >= l = Nothing
  6566. 956.08 s [really-safe-money-gen] + | not (e >= l) = Nothing
  6567. 956.09 s [really-safe-money-gen] | n < d =
  6568. 956.09 s [really-safe-money-gen] let !ns' = S.insert n ns
  6569. 956.09 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6570. 956.09 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
  6571. 956.09 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  6572. 956.09 s [really-safe-money-gen] toInt dl = do
  6573. 956.09 s [really-safe-money-gen] n <- toInteger dl
  6574. 956.09 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  6575. 956.09 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  6576. 961.23 s [really-safe-money-gen] + guard $ not (n >= fromIntegral (minBound :: Int))
  6577. 961.25 s [really-safe-money-gen] pure $ fromIntegral n
  6578. 961.25 s [really-safe-money-gen]
  6579. 961.25 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  6580. 961.25 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  6581. 961.25 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6582. 961.25 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6583. 961.25 s [really-safe-money-gen] | S.member n ns = Nothing
  6584. 961.25 s [really-safe-money-gen] -- Over the limit, stop trying
  6585. 961.25 s [really-safe-money-gen] - | e >= l = Nothing
  6586. 961.25 s [really-safe-money-gen] + | e <= l = Nothing
  6587. 961.25 s [really-safe-money-gen] | n < d =
  6588. 961.25 s [really-safe-money-gen] let !ns' = S.insert n ns
  6589. 961.26 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6590. 961.26 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  6591. 961.26 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6592. 961.26 s [really-safe-money-gen] | S.member n ns = Nothing
  6593. 961.26 s [really-safe-money-gen] -- Over the limit, stop trying
  6594. 961.26 s [really-safe-money-gen] | e >= l = Nothing
  6595. 961.26 s [really-safe-money-gen] - | n < d =
  6596. 961.26 s [really-safe-money-gen] + | n >= d =
  6597. 961.26 s [really-safe-money-gen] let !ns' = S.insert n ns
  6598. 961.26 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6599. 961.26 s [really-safe-money-gen] | otherwise =
  6600. 961.26 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  6601. 961.26 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6602. 961.26 s [really-safe-money-gen] | e >= l = Nothing
  6603. 961.26 s [really-safe-money-gen] | n < d =
  6604. 961.26 s [really-safe-money-gen] let !ns' = S.insert n ns
  6605. 961.26 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6606. 961.26 s [really-safe-money-gen] + in longDivWithLimit (c - 10) (succ e) ns' (n * 10)
  6607. 961.26 s [really-safe-money-gen] | otherwise =
  6608. 961.26 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6609. 961.26 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6610. 961.26 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
  6611. 961.26 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6612. 961.26 s [really-safe-money-gen] | S.member n ns = Nothing
  6613. 961.26 s [really-safe-money-gen] -- Over the limit, stop trying
  6614. 961.26 s [really-safe-money-gen] | e >= l = Nothing
  6615. 961.26 s [really-safe-money-gen] - | n < d =
  6616. 961.26 s [really-safe-money-gen] + | not (n < d) =
  6617. 961.26 s [really-safe-money-gen] let !ns' = S.insert n ns
  6618. 961.26 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6619. 961.26 s [really-safe-money-gen] | otherwise =
  6620. 961.26 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  6621. 961.27 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6622. 961.27 s [really-safe-money-gen] | e >= l = Nothing
  6623. 961.27 s [really-safe-money-gen] | n < d =
  6624. 961.27 s [really-safe-money-gen] let !ns' = S.insert n ns
  6625. 961.27 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6626. 961.27 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 1)
  6627. 961.27 s [really-safe-money-gen] | otherwise =
  6628. 961.27 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6629. 961.27 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6630. 961.27 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  6631. 961.27 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6632. 961.27 s [really-safe-money-gen] | e >= l = Nothing
  6633. 961.27 s [really-safe-money-gen] | n < d =
  6634. 961.27 s [really-safe-money-gen] let !ns' = S.insert n ns
  6635. 961.27 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6636. 961.27 s [really-safe-money-gen] + in longDivWithLimit (c * 0) (succ e) ns' (n * 10)
  6637. 961.27 s [really-safe-money-gen] | otherwise =
  6638. 961.27 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6639. 961.27 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6640. 961.27 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
  6641. 961.27 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6642. 961.27 s [really-safe-money-gen] | e >= l = Nothing
  6643. 961.27 s [really-safe-money-gen] | n < d =
  6644. 961.27 s [really-safe-money-gen] let !ns' = S.insert n ns
  6645. 961.27 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6646. 961.27 s [really-safe-money-gen] + in longDivWithLimit (c * 1) (succ e) ns' (n * 10)
  6647. 961.27 s [really-safe-money-gen] | otherwise =
  6648. 961.27 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6649. 961.27 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6650. 961.27 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  6651. 961.27 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6652. 961.27 s [really-safe-money-gen] | e >= l = Nothing
  6653. 961.27 s [really-safe-money-gen] | n < d =
  6654. 961.27 s [really-safe-money-gen] let !ns' = S.insert n ns
  6655. 961.27 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6656. 961.27 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n + 10)
  6657. 961.27 s [really-safe-money-gen] | otherwise =
  6658. 961.27 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6659. 961.28 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6660. 961.28 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
  6661. 961.28 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6662. 961.28 s [really-safe-money-gen] | e >= l = Nothing
  6663. 961.28 s [really-safe-money-gen] | n < d =
  6664. 961.28 s [really-safe-money-gen] let !ns' = S.insert n ns
  6665. 961.28 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6666. 961.28 s [really-safe-money-gen] + in longDivWithLimit (c + 10) (succ e) ns' (n * 10)
  6667. 961.28 s [really-safe-money-gen] | otherwise =
  6668. 961.28 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6669. 961.28 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6670. 961.28 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
  6671. 961.28 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6672. 961.28 s [really-safe-money-gen] | S.member n ns = Nothing
  6673. 961.28 s [really-safe-money-gen] -- Over the limit, stop trying
  6674. 961.28 s [really-safe-money-gen] | e >= l = Nothing
  6675. 961.28 s [really-safe-money-gen] - | n < d =
  6676. 961.28 s [really-safe-money-gen] + | True =
  6677. 961.28 s [really-safe-money-gen] let !ns' = S.insert n ns
  6678. 961.28 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6679. 961.28 s [really-safe-money-gen] | otherwise =
  6680. 961.28 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  6681. 961.28 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6682. 961.28 s [really-safe-money-gen] | S.member n ns = Nothing
  6683. 961.28 s [really-safe-money-gen] -- Over the limit, stop trying
  6684. 961.28 s [really-safe-money-gen] | e >= l = Nothing
  6685. 961.28 s [really-safe-money-gen] - | n < d =
  6686. 961.28 s [really-safe-money-gen] + | n <= d =
  6687. 961.28 s [really-safe-money-gen] let !ns' = S.insert n ns
  6688. 961.28 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6689. 961.28 s [really-safe-money-gen] | otherwise =
  6690. 961.28 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  6691. 961.28 s [really-safe-money-gen] @@ -269,7 +269,7 @@
  6692. 961.28 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6693. 961.28 s [really-safe-money-gen] | otherwise =
  6694. 961.28 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6695. 961.28 s [really-safe-money-gen] - in longDivWithLimit (c + q) e ns r'
  6696. 961.29 s [really-safe-money-gen] + in longDivWithLimit (c - q) e ns r'
  6697. 961.29 s [really-safe-money-gen]
  6698. 961.29 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Ratio Natural'
  6699. 961.29 s [really-safe-money-gen] --
  6700. 961.29 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
  6701. 961.29 s [really-safe-money-gen] @@ -269,7 +269,7 @@
  6702. 961.29 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6703. 961.29 s [really-safe-money-gen] | otherwise =
  6704. 961.29 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6705. 961.29 s [really-safe-money-gen] - in longDivWithLimit (c + q) e ns r'
  6706. 961.29 s [really-safe-money-gen] + in longDivWithLimit (c * q) e ns r'
  6707. 961.29 s [really-safe-money-gen]
  6708. 961.29 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Ratio Natural'
  6709. 961.29 s [really-safe-money-gen] --
  6710. 961.29 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
  6711. 961.29 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6712. 961.29 s [really-safe-money-gen] | e >= l = Nothing
  6713. 961.29 s [really-safe-money-gen] | n < d =
  6714. 961.29 s [really-safe-money-gen] let !ns' = S.insert n ns
  6715. 961.29 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6716. 961.29 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n - 10)
  6717. 961.29 s [really-safe-money-gen] | otherwise =
  6718. 961.29 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6719. 961.29 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6720. 961.29 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  6721. 961.29 s [really-safe-money-gen] @@ -220,7 +220,7 @@
  6722. 961.29 s [really-safe-money-gen] -- (-3) % 10
  6723. 961.29 s [really-safe-money-gen] toRational :: DecimalLiteral -> Rational
  6724. 961.29 s [really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
  6725. 961.29 s [really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
  6726. 961.29 s [really-safe-money-gen] + signSignum mSign (fromIntegral m / (1 ^ e))
  6727. 961.29 s [really-safe-money-gen]
  6728. 961.29 s [really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
  6729. 961.29 s [really-safe-money-gen] --
  6730. 961.29 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
  6731. 961.29 s [really-safe-money-gen] @@ -266,7 +266,7 @@
  6732. 961.29 s [really-safe-money-gen] | e >= l = Nothing
  6733. 961.29 s [really-safe-money-gen] | n < d =
  6734. 961.29 s [really-safe-money-gen] let !ns' = S.insert n ns
  6735. 961.29 s [really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6736. 961.29 s [really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 0)
  6737. 961.29 s [really-safe-money-gen] | otherwise =
  6738. 961.29 s [really-safe-money-gen] let (q, r') = n `quotRem` d
  6739. 961.29 s [really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
  6740. 961.30 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
  6741. 961.30 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6742. 961.30 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6743. 961.30 s [really-safe-money-gen] | S.member n ns = Nothing
  6744. 961.30 s [really-safe-money-gen] -- Over the limit, stop trying
  6745. 965.87 s [really-safe-money-gen] - | e >= l = Nothing
  6746. 965.87 s [really-safe-money-gen] + | True = Nothing
  6747. 965.87 s [really-safe-money-gen] | n < d =
  6748. 965.87 s [really-safe-money-gen] let !ns' = S.insert n ns
  6749. 965.87 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6750. 965.87 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  6751. 965.87 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6752. 965.88 s [really-safe-money-gen] -- Nothing
  6753. 965.88 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6754. 965.88 s [really-safe-money-gen] fromRational (n :% d)
  6755. 965.88 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6756. 965.88 s [really-safe-money-gen] + | n >= 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6757. 965.88 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6758. 965.88 s [really-safe-money-gen]
  6759. 965.88 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6760. 965.88 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
  6761. 965.88 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6762. 965.88 s [really-safe-money-gen] -- Nothing
  6763. 965.88 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6764. 965.88 s [really-safe-money-gen] fromRational (n :% d)
  6765. 965.88 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6766. 965.88 s [really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6767. 965.88 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6768. 965.88 s [really-safe-money-gen]
  6769. 965.88 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6770. 965.88 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  6771. 965.88 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6772. 965.88 s [really-safe-money-gen] -- Nothing
  6773. 965.88 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6774. 965.88 s [really-safe-money-gen] fromRational (n :% d)
  6775. 965.88 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6776. 965.88 s [really-safe-money-gen] + | n > 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6777. 965.88 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6778. 965.88 s [really-safe-money-gen]
  6779. 965.88 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6780. 965.88 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
  6781. 965.88 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6782. 965.88 s [really-safe-money-gen] -- Nothing
  6783. 965.88 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6784. 965.88 s [really-safe-money-gen] fromRational (n :% d)
  6785. 965.88 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6786. 965.88 s [really-safe-money-gen] + | not (n < 0) = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6787. 965.88 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6788. 965.88 s [really-safe-money-gen]
  6789. 965.88 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6790. 965.88 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
  6791. 965.88 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6792. 965.89 s [really-safe-money-gen] -- Nothing
  6793. 965.89 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6794. 965.89 s [really-safe-money-gen] fromRational (n :% d)
  6795. 965.89 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6796. 965.89 s [really-safe-money-gen] + | True = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6797. 965.89 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6798. 965.89 s [really-safe-money-gen]
  6799. 965.89 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6800. 965.89 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  6801. 965.89 s [really-safe-money-gen] @@ -183,7 +183,6 @@
  6802. 965.89 s [really-safe-money-gen]
  6803. 965.89 s [really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
  6804. 965.89 s [really-safe-money-gen] go :: Word8 -> String -> String
  6805. 965.89 s [really-safe-money-gen] - go 0 [] = ['.', '0']
  6806. 965.89 s [really-safe-money-gen] go 0 s = '.' : s
  6807. 965.89 s [really-safe-money-gen] go e [] = '0' : go (pred e) []
  6808. 965.89 s [really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
  6809. 965.89 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  6810. 965.89 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  6811. 965.89 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6812. 965.89 s [really-safe-money-gen] parseDigits f z = do
  6813. 965.89 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  6814. 965.89 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6815. 965.89 s [really-safe-money-gen] + let digit = Char.ord c - 0
  6816. 965.89 s [really-safe-money-gen] case f z digit of
  6817. 965.89 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  6818. 965.89 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  6819. 965.89 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
  6820. 965.89 s [really-safe-money-gen] @@ -183,7 +183,6 @@
  6821. 965.89 s [really-safe-money-gen]
  6822. 965.89 s [really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
  6823. 965.89 s [really-safe-money-gen] go :: Word8 -> String -> String
  6824. 965.89 s [really-safe-money-gen] - go 0 [] = ['.', '0']
  6825. 965.89 s [really-safe-money-gen] go 0 s = '.' : s
  6826. 965.89 s [really-safe-money-gen] go e [] = '0' : go (pred e) []
  6827. 965.89 s [really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
  6828. 965.89 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  6829. 965.89 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  6830. 965.89 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6831. 965.89 s [really-safe-money-gen] parseDigits f z = do
  6832. 965.89 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  6833. 965.89 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6834. 965.89 s [really-safe-money-gen] + let digit = Char.ord c - 1
  6835. 965.89 s [really-safe-money-gen] case f z digit of
  6836. 965.89 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  6837. 965.89 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  6838. 965.89 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  6839. 965.89 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  6840. 965.89 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6841. 965.89 s [really-safe-money-gen] parseDigits f z = do
  6842. 965.89 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  6843. 965.90 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6844. 965.90 s [really-safe-money-gen] + let digit = Char.ord c + 48
  6845. 965.90 s [really-safe-money-gen] case f z digit of
  6846. 965.90 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  6847. 965.90 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  6848. 965.90 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
  6849. 965.90 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  6850. 965.90 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  6851. 965.90 s [really-safe-money-gen] parseDigits f z = do
  6852. 965.90 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  6853. 965.90 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6854. 965.90 s [really-safe-money-gen] + let digit = Char.ord c * 48
  6855. 965.90 s [really-safe-money-gen] case f z digit of
  6856. 965.90 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  6857. 965.90 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  6858. 965.90 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
  6859. 965.90 s [really-safe-money-gen] @@ -149,7 +149,7 @@
  6860. 965.90 s [really-safe-money-gen] where
  6861. 965.90 s [really-safe-money-gen] go !a [] = return a
  6862. 965.90 s [really-safe-money-gen] go !a (c : cs)
  6863. 965.90 s [really-safe-money-gen] - | Char.isDigit c = do
  6864. 965.90 s [really-safe-money-gen] + | True = do
  6865. 965.90 s [really-safe-money-gen] _ <- ReadP.get
  6866. 965.90 s [really-safe-money-gen] let digit = Char.ord c - 48
  6867. 965.90 s [really-safe-money-gen] case f a digit of
  6868. 965.90 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
  6869. 965.90 s [really-safe-money-gen] @@ -264,7 +264,7 @@
  6870. 965.90 s [really-safe-money-gen] | S.member n ns = Nothing
  6871. 965.90 s [really-safe-money-gen] -- Over the limit, stop trying
  6872. 965.90 s [really-safe-money-gen] | e >= l = Nothing
  6873. 965.90 s [really-safe-money-gen] - | n < d =
  6874. 965.90 s [really-safe-money-gen] + | n > d =
  6875. 965.90 s [really-safe-money-gen] let !ns' = S.insert n ns
  6876. 965.90 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6877. 965.90 s [really-safe-money-gen] | otherwise =
  6878. 965.90 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
  6879. 965.90 s [really-safe-money-gen] @@ -149,7 +149,7 @@
  6880. 965.90 s [really-safe-money-gen] where
  6881. 965.90 s [really-safe-money-gen] go !a [] = return a
  6882. 965.90 s [really-safe-money-gen] go !a (c : cs)
  6883. 965.90 s [really-safe-money-gen] - | Char.isDigit c = do
  6884. 965.90 s [really-safe-money-gen] + | not (Char.isDigit c) = do
  6885. 965.90 s [really-safe-money-gen] _ <- ReadP.get
  6886. 965.90 s [really-safe-money-gen] let digit = Char.ord c - 48
  6887. 965.90 s [really-safe-money-gen] case f a digit of
  6888. 965.90 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
  6889. 965.90 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6890. 965.90 s [really-safe-money-gen] -- Nothing
  6891. 965.90 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6892. 965.90 s [really-safe-money-gen] fromRational (n :% d)
  6893. 965.90 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6894. 965.90 s [really-safe-money-gen] + | n <= 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6895. 965.90 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6896. 965.90 s [really-safe-money-gen]
  6897. 965.90 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6898. 965.90 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  6899. 965.90 s [really-safe-money-gen] @@ -220,7 +220,7 @@
  6900. 965.90 s [really-safe-money-gen] -- (-3) % 10
  6901. 965.90 s [really-safe-money-gen] toRational :: DecimalLiteral -> Rational
  6902. 965.90 s [really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
  6903. 965.90 s [really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
  6904. 965.91 s [really-safe-money-gen] + signSignum mSign (fromIntegral m / (-10 ^ e))
  6905. 965.91 s [really-safe-money-gen]
  6906. 965.91 s [really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
  6907. 965.91 s [really-safe-money-gen] --
  6908. 965.91 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  6909. 971.23 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6910. 971.25 s [really-safe-money-gen] go !a (c : cs)
  6911. 971.25 s [really-safe-money-gen] | Char.isDigit c = do
  6912. 971.25 s [really-safe-money-gen] _ <- ReadP.get
  6913. 971.25 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6914. 971.25 s [really-safe-money-gen] + let digit = Char.ord c - 1
  6915. 971.25 s [really-safe-money-gen] case f a digit of
  6916. 971.25 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6917. 971.25 s [really-safe-money-gen] Just a' -> go a' cs
  6918. 971.25 s [really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
  6919. 971.25 s [really-safe-money-gen] @@ -263,7 +263,7 @@
  6920. 971.25 s [really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
  6921. 971.25 s [really-safe-money-gen] | S.member n ns = Nothing
  6922. 971.25 s [really-safe-money-gen] -- Over the limit, stop trying
  6923. 971.25 s [really-safe-money-gen] - | e >= l = Nothing
  6924. 971.25 s [really-safe-money-gen] + | e < l = Nothing
  6925. 971.25 s [really-safe-money-gen] | n < d =
  6926. 971.25 s [really-safe-money-gen] let !ns' = S.insert n ns
  6927. 971.25 s [really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
  6928. 971.25 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  6929. 971.25 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6930. 971.25 s [really-safe-money-gen] go !a (c : cs)
  6931. 971.26 s [really-safe-money-gen] | Char.isDigit c = do
  6932. 971.26 s [really-safe-money-gen] _ <- ReadP.get
  6933. 971.26 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6934. 971.26 s [really-safe-money-gen] + let digit = Char.ord c - -48
  6935. 971.26 s [really-safe-money-gen] case f a digit of
  6936. 971.26 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6937. 971.26 s [really-safe-money-gen] Just a' -> go a' cs
  6938. 971.26 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
  6939. 971.26 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6940. 971.26 s [really-safe-money-gen] go !a (c : cs)
  6941. 971.26 s [really-safe-money-gen] | Char.isDigit c = do
  6942. 971.26 s [really-safe-money-gen] _ <- ReadP.get
  6943. 971.26 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6944. 971.26 s [really-safe-money-gen] + let digit = Char.ord c - 0
  6945. 971.26 s [really-safe-money-gen] case f a digit of
  6946. 971.26 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6947. 971.26 s [really-safe-money-gen] Just a' -> go a' cs
  6948. 971.26 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
  6949. 971.26 s [really-safe-money-gen] @@ -220,7 +220,7 @@
  6950. 971.26 s [really-safe-money-gen] -- (-3) % 10
  6951. 971.26 s [really-safe-money-gen] toRational :: DecimalLiteral -> Rational
  6952. 971.26 s [really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
  6953. 971.26 s [really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
  6954. 971.26 s [really-safe-money-gen] + signSignum mSign (fromIntegral m / (0 ^ e))
  6955. 971.26 s [really-safe-money-gen]
  6956. 971.26 s [really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
  6957. 971.26 s [really-safe-money-gen] --
  6958. 971.26 s [really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
  6959. 971.26 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  6960. 971.26 s [really-safe-money-gen] -- Nothing
  6961. 971.26 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  6962. 971.26 s [really-safe-money-gen] fromRational (n :% d)
  6963. 971.27 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6964. 971.27 s [really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just True) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  6965. 971.27 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  6966. 971.27 s [really-safe-money-gen]
  6967. 971.27 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  6968. 971.27 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  6969. 971.27 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  6970. 971.27 s [really-safe-money-gen] go !a (c : cs)
  6971. 971.27 s [really-safe-money-gen] | Char.isDigit c = do
  6972. 971.27 s [really-safe-money-gen] _ <- ReadP.get
  6973. 971.27 s [really-safe-money-gen] - let digit = Char.ord c - 48
  6974. 971.27 s [really-safe-money-gen] + let digit = Char.ord c * 48
  6975. 971.27 s [really-safe-money-gen] case f a digit of
  6976. 971.27 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  6977. 971.27 s [really-safe-money-gen] Just a' -> go a' cs
  6978. 971.27 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
  6979. 971.27 s [really-safe-money-gen] @@ -249,7 +249,7 @@
  6980. 971.27 s [really-safe-money-gen] num = numerator rational
  6981. 971.27 s [really-safe-money-gen]
  6982. 971.27 s [really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
  6983. 971.27 s [really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
  6984. 971.27 s [really-safe-money-gen] + longDiv = longDivWithLimit 0 1 S.empty
  6985. 971.27 s [really-safe-money-gen]
  6986. 971.27 s [really-safe-money-gen] longDivWithLimit ::
  6987. 971.27 s [really-safe-money-gen] Natural ->
  6988. 971.27 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
  6989. 971.27 s [really-safe-money-gen] @@ -249,7 +249,7 @@
  6990. 971.27 s [really-safe-money-gen] num = numerator rational
  6991. 971.27 s [really-safe-money-gen]
  6992. 971.27 s [really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
  6993. 971.27 s [really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
  6994. 971.27 s [really-safe-money-gen] + longDiv = longDivWithLimit 1 0 S.empty
  6995. 971.27 s [really-safe-money-gen]
  6996. 971.27 s [really-safe-money-gen] longDivWithLimit ::
  6997. 971.27 s [really-safe-money-gen] Natural ->
  6998. 971.27 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  6999. 971.27 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7000. 971.27 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7001. 971.27 s [really-safe-money-gen]
  7002. 971.27 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7003. 971.28 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7004. 971.28 s [really-safe-money-gen] +step a digit = Just $ a * 0 + fromIntegral digit
  7005. 971.28 s [really-safe-money-gen] {-# INLINE step #-}
  7006. 971.28 s [really-safe-money-gen]
  7007. 971.28 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7008. 971.28 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
  7009. 971.28 s [really-safe-money-gen] @@ -151,7 +151,7 @@
  7010. 971.28 s [really-safe-money-gen] go !a (c : cs)
  7011. 971.28 s [really-safe-money-gen] | Char.isDigit c = do
  7012. 971.28 s [really-safe-money-gen] _ <- ReadP.get
  7013. 971.28 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7014. 971.28 s [really-safe-money-gen] + let digit = Char.ord c + 48
  7015. 971.28 s [really-safe-money-gen] case f a digit of
  7016. 971.28 s [really-safe-money-gen] Nothing -> fail "Failed to step the digit"
  7017. 971.28 s [really-safe-money-gen] Just a' -> go a' cs
  7018. 971.28 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
  7019. 971.28 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7020. 971.28 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7021. 971.28 s [really-safe-money-gen]
  7022. 971.28 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7023. 971.28 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7024. 971.28 s [really-safe-money-gen] +step a digit = Just $ a * 1 + fromIntegral digit
  7025. 971.28 s [really-safe-money-gen] {-# INLINE step #-}
  7026. 971.28 s [really-safe-money-gen]
  7027. 971.28 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7028. 971.28 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
  7029. 971.28 s [really-safe-money-gen] @@ -205,7 +205,7 @@
  7030. 971.28 s [really-safe-money-gen] -- Nothing
  7031. 971.28 s [really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
  7032. 971.28 s [really-safe-money-gen] fromRational (n :% d)
  7033. 971.28 s [really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  7034. 971.28 s [really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Nothing) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
  7035. 971.28 s [really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
  7036. 971.28 s [really-safe-money-gen]
  7037. 971.28 s [really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
  7038. 971.28 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  7039. 971.28 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7040. 971.28 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7041. 971.28 s [really-safe-money-gen]
  7042. 971.28 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7043. 971.28 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7044. 971.28 s [really-safe-money-gen] +step a digit = Just $ a * 10 * fromIntegral digit
  7045. 971.29 s [really-safe-money-gen] {-# INLINE step #-}
  7046. 971.29 s [really-safe-money-gen]
  7047. 971.29 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7048. 971.29 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  7049. 971.29 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7050. 971.29 s [really-safe-money-gen]
  7051. 971.29 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7052. 971.29 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7053. 971.29 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7054. 971.29 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 0 + fromIntegral digit, succ e)
  7055. 971.29 s [really-safe-money-gen]
  7056. 971.29 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7057. 971.29 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7058. 971.29 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  7059. 971.29 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7060. 971.29 s [really-safe-money-gen]
  7061. 971.29 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7062. 971.29 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7063. 971.29 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7064. 971.29 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m - 10 + fromIntegral digit, succ e)
  7065. 971.29 s [really-safe-money-gen]
  7066. 971.29 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7067. 971.29 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7068. 971.29 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  7069. 971.29 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7070. 971.29 s [really-safe-money-gen]
  7071. 971.30 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7072. 971.30 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7073. 971.30 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7074. 971.30 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 10 - fromIntegral digit, succ e)
  7075. 971.30 s [really-safe-money-gen]
  7076. 971.30 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7077. 971.30 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7078. 971.30 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
  7079. 971.30 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7080. 971.30 s [really-safe-money-gen]
  7081. 971.30 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7082. 971.30 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7083. 976.63 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7084. 976.63 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m + 10 + fromIntegral digit, succ e)
  7085. 976.66 s [really-safe-money-gen]
  7086. 976.66 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7087. 976.66 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7088. 976.66 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  7089. 976.66 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7090. 976.66 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7091. 976.66 s [really-safe-money-gen]
  7092. 976.66 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7093. 976.66 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7094. 976.66 s [really-safe-money-gen] +step a digit = Just $ a - 10 + fromIntegral digit
  7095. 976.66 s [really-safe-money-gen] {-# INLINE step #-}
  7096. 976.66 s [really-safe-money-gen]
  7097. 976.66 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7098. 976.66 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
  7099. 976.66 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7100. 976.66 s [really-safe-money-gen]
  7101. 976.66 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7102. 976.66 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7103. 976.66 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7104. 976.66 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 1 + fromIntegral digit, succ e)
  7105. 976.66 s [really-safe-money-gen]
  7106. 976.66 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7107. 976.67 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7108. 976.67 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
  7109. 976.67 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7110. 976.67 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7111. 976.67 s [really-safe-money-gen]
  7112. 976.67 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7113. 976.67 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7114. 976.67 s [really-safe-money-gen] +step a digit = Just $ a * 10 - fromIntegral digit
  7115. 976.67 s [really-safe-money-gen] {-# INLINE step #-}
  7116. 976.67 s [really-safe-money-gen]
  7117. 976.67 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7118. 976.67 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
  7119. 976.67 s [really-safe-money-gen] @@ -136,7 +136,7 @@
  7120. 976.67 s [really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7121. 976.67 s [really-safe-money-gen]
  7122. 976.67 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7123. 976.67 s [really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
  7124. 976.67 s [really-safe-money-gen] +step a digit = Just $ a + 10 + fromIntegral digit
  7125. 976.67 s [really-safe-money-gen] {-# INLINE step #-}
  7126. 976.67 s [really-safe-money-gen]
  7127. 976.67 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7128. 976.67 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
  7129. 976.67 s [really-safe-money-gen] @@ -142,7 +142,7 @@
  7130. 976.67 s [really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
  7131. 976.67 s [really-safe-money-gen] parseDigits f z = do
  7132. 976.67 s [really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
  7133. 976.67 s [really-safe-money-gen] - let digit = Char.ord c - 48
  7134. 976.67 s [really-safe-money-gen] + let digit = Char.ord c - -48
  7135. 976.67 s [really-safe-money-gen] case f z digit of
  7136. 976.67 s [really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
  7137. 976.67 s [really-safe-money-gen] Just a -> ReadP.look >>= go a
  7138. 976.67 s [really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
  7139. 976.67 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7140. 976.68 s [really-safe-money-gen]
  7141. 976.68 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7142. 976.68 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7143. 976.68 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7144. 976.68 s [really-safe-money-gen] +stepFraction (m, e) digit = Nothing
  7145. 976.68 s [really-safe-money-gen]
  7146. 976.68 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7147. 976.68 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7148. 976.68 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  7149. 976.68 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7150. 976.68 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7151. 976.68 s [really-safe-money-gen] decimalLiteralP = do
  7152. 976.68 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7153. 976.68 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7154. 976.68 s [really-safe-money-gen] + isSignChar c = False || c == '+'
  7155. 976.68 s [really-safe-money-gen]
  7156. 976.68 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7157. 976.68 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7158. 976.68 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
  7159. 976.68 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7160. 976.68 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7161. 976.68 s [really-safe-money-gen] decimalLiteralP = do
  7162. 976.68 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7163. 976.68 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7164. 976.68 s [really-safe-money-gen] + isSignChar c = not (c == '-') || c == '+'
  7165. 976.68 s [really-safe-money-gen]
  7166. 976.68 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7167. 976.68 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7168. 976.68 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  7169. 976.68 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7170. 976.68 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7171. 976.68 s [really-safe-money-gen] decimalLiteralP = do
  7172. 976.68 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7173. 976.68 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7174. 976.68 s [really-safe-money-gen] + isSignChar c = c == '-' || True
  7175. 976.68 s [really-safe-money-gen]
  7176. 976.68 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7177. 976.68 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7178. 976.68 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
  7179. 976.68 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7180. 976.68 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7181. 976.68 s [really-safe-money-gen] decimalLiteralP = do
  7182. 976.69 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7183. 976.69 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7184. 976.69 s [really-safe-money-gen] + isSignChar c = c == '-' || False
  7185. 976.69 s [really-safe-money-gen]
  7186. 976.69 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7187. 976.69 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7188. 976.69 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
  7189. 976.69 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7190. 976.69 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7191. 976.69 s [really-safe-money-gen] decimalLiteralP = do
  7192. 976.69 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7193. 976.69 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7194. 976.69 s [really-safe-money-gen] + isSignChar c = c == '-' || not (c == '+')
  7195. 976.69 s [really-safe-money-gen]
  7196. 976.69 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7197. 976.69 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7198. 976.69 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
  7199. 976.69 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7200. 976.69 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7201. 976.69 s [really-safe-money-gen] decimalLiteralP = do
  7202. 976.69 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7203. 976.69 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7204. 976.69 s [really-safe-money-gen] + isSignChar c = True || c == '+'
  7205. 976.69 s [really-safe-money-gen]
  7206. 976.69 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7207. 976.69 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7208. 976.69 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  7209. 976.69 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7210. 976.69 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7211. 976.69 s [really-safe-money-gen] decimalLiteralP = do
  7212. 976.69 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7213. 976.69 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7214. 976.69 s [really-safe-money-gen] + isSignChar c = True
  7215. 976.69 s [really-safe-money-gen]
  7216. 976.69 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7217. 976.69 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7218. 976.69 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
  7219. 976.69 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7220. 976.69 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7221. 976.69 s [really-safe-money-gen] decimalLiteralP = do
  7222. 976.69 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7223. 976.69 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7224. 976.69 s [really-safe-money-gen] + isSignChar c = False
  7225. 976.69 s [really-safe-money-gen]
  7226. 976.69 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7227. 976.69 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7228. 976.69 s [really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
  7229. 976.70 s [really-safe-money-gen] @@ -133,7 +133,7 @@
  7230. 976.70 s [really-safe-money-gen]
  7231. 976.70 s [really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
  7232. 976.70 s [really-safe-money-gen] stepFraction (_, 255) _ = Nothing
  7233. 976.70 s [really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
  7234. 976.70 s [really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 10 * fromIntegral digit, succ e)
  7235. 976.70 s [really-safe-money-gen]
  7236. 976.70 s [really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
  7237. 976.70 s [really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
  7238. 976.70 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  7239. 976.70 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  7240. 976.70 s [really-safe-money-gen]
  7241. 976.70 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7242. 976.70 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7243. 976.70 s [really-safe-money-gen] - pure $ Just $ signChar == '+'
  7244. 976.70 s [really-safe-money-gen] + pure $ Just $ False
  7245. 976.70 s [really-safe-money-gen]
  7246. 976.70 s [really-safe-money-gen] units <- parseDigits step 0
  7247. 976.70 s [really-safe-money-gen]
  7248. 976.70 s [really-safe-money-gen] Testing mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
  7249. 976.70 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  7250. 976.70 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7251. 976.70 s [really-safe-money-gen] decimalLiteralP = do
  7252. 976.70 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  7253. 981.17 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  7254. 981.18 s [really-safe-money-gen] + isSignChar c = c == '-' && c == '+'
  7255. 981.18 s [really-safe-money-gen]
  7256. 981.18 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7257. 981.18 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7258. 981.18 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
  7259. 981.18 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  7260. 981.18 s [really-safe-money-gen]
  7261. 981.18 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  7262. 981.18 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  7263. 981.18 s [really-safe-money-gen] - pure $ Just $ signChar == '+'
  7264. 981.18 s [really-safe-money-gen] + pure $ Just $ True
  7265. 981.18 s [really-safe-money-gen]
  7266. 981.18 s [really-safe-money-gen] units <- parseDigits step 0
  7267. 981.18 s [really-safe-money-gen]
  7268. 981.18 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  7269. 981.18 s [really-safe-money-gen] @@ -83,9 +83,8 @@
  7270. 981.18 s [really-safe-money-gen] instance NFData DecimalLiteral
  7271. 981.18 s [really-safe-money-gen]
  7272. 981.18 s [really-safe-money-gen] instance IsString DecimalLiteral where
  7273. 981.18 s [really-safe-money-gen] fromString s = case Numeric.DecimalLiteral.fromString s of
  7274. 981.18 s [really-safe-money-gen] Nothing -> error $ "Invalid DecimalLiteral: " <> show s
  7275. 981.18 s [really-safe-money-gen] - Just dl -> dl
  7276. 981.18 s [really-safe-money-gen]
  7277. 981.18 s [really-safe-money-gen] -- | Parse a decimal literal from a string
  7278. 981.18 s [really-safe-money-gen] --
  7279. 981.18 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7280. 981.19 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7281. 981.19 s [really-safe-money-gen]
  7282. 981.19 s [really-safe-money-gen] -- | See 'Account.distribute'
  7283. 981.19 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7284. 981.19 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7285. 981.19 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7286. 981.19 s [really-safe-money-gen] DistributedZero -> DistributedZero
  7287. 981.19 s [really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7288. 981.19 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7289. 981.19 s [really-safe-money-gen]
  7290. 981.19 s [really-safe-money-gen] -- | The result of 'distribute'
  7291. 981.19 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7292. 981.19 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24
  7293. 981.19 s [really-safe-money-gen] @@ -129,4 +129,4 @@
  7294. 981.19 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7295. 981.19 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7296. 981.19 s [really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
  7297. 981.19 s [really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
  7298. 981.19 s [really-safe-money-gen] + cr - fromIntegral qf2 / fromIntegral qf1
  7299. 981.19 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24
  7300. 981.19 s [really-safe-money-gen] @@ -129,4 +129,4 @@
  7301. 981.19 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7302. 981.19 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7303. 981.19 s [really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
  7304. 981.19 s [really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
  7305. 981.19 s [really-safe-money-gen] + cr + fromIntegral qf2 / fromIntegral qf1
  7306. 981.19 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
  7307. 981.19 s [really-safe-money-gen] @@ -83,9 +83,8 @@
  7308. 981.19 s [really-safe-money-gen] instance NFData DecimalLiteral
  7309. 981.19 s [really-safe-money-gen]
  7310. 981.19 s [really-safe-money-gen] instance IsString DecimalLiteral where
  7311. 981.19 s [really-safe-money-gen] fromString s = case Numeric.DecimalLiteral.fromString s of
  7312. 981.19 s [really-safe-money-gen] - Nothing -> error $ "Invalid DecimalLiteral: " <> show s
  7313. 981.19 s [really-safe-money-gen] Just dl -> dl
  7314. 981.19 s [really-safe-money-gen]
  7315. 981.19 s [really-safe-money-gen] -- | Parse a decimal literal from a string
  7316. 981.19 s [really-safe-money-gen] --
  7317. 981.19 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:127:70-79
  7318. 981.19 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  7319. 981.19 s [really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
  7320. 981.20 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
  7321. 981.20 s [really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
  7322. 981.20 s [really-safe-money-gen] -compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
  7323. 981.20 s [really-safe-money-gen] +compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
  7324. 981.20 s [really-safe-money-gen]
  7325. 981.20 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7326. 981.20 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7327. 981.20 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  7328. 981.20 s [really-safe-money-gen] @@ -106,7 +106,7 @@
  7329. 981.20 s [really-safe-money-gen]
  7330. 981.20 s [really-safe-money-gen] -- | One-to-one conversion rate
  7331. 981.20 s [really-safe-money-gen] oneToOne :: ConversionRate
  7332. 981.20 s [really-safe-money-gen] -oneToOne = ConversionRate 1
  7333. 981.20 s [really-safe-money-gen] +oneToOne = ConversionRate -1
  7334. 981.20 s [really-safe-money-gen]
  7335. 981.20 s [really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
  7336. 981.20 s [really-safe-money-gen] --
  7337. 981.20 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7338. 981.20 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7339. 981.20 s [really-safe-money-gen]
  7340. 981.20 s [really-safe-money-gen] -- | See 'Account.distribute'
  7341. 981.20 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7342. 981.20 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7343. 981.20 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7344. 981.20 s [really-safe-money-gen] DistributedZero -> DistributedZero
  7345. 981.20 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7346. 981.20 s [really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7347. 981.20 s [really-safe-money-gen]
  7348. 981.20 s [really-safe-money-gen] -- | The result of 'distribute'
  7349. 981.20 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7350. 981.20 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  7351. 981.20 s [really-safe-money-gen] @@ -109,9 +109,8 @@
  7352. 981.20 s [really-safe-money-gen]
  7353. 981.20 s [really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
  7354. 981.20 s [really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
  7355. 981.20 s [really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
  7356. 981.20 s [really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
  7357. 981.20 s [really-safe-money-gen] - Just dl -> pure dl
  7358. 981.21 s [really-safe-money-gen]
  7359. 981.21 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7360. 981.21 s [really-safe-money-gen] decimalLiteralP = do
  7361. 981.21 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:72:25-26
  7362. 981.21 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7363. 981.21 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7364. 981.21 s [really-safe-money-gen] -- Nothing
  7365. 981.21 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7366. 981.21 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7367. 981.21 s [really-safe-money-gen] +fromRational r = if r < 1 then Nothing else fromRatio (realToFrac r)
  7368. 981.21 s [really-safe-money-gen]
  7369. 981.21 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7370. 981.21 s [really-safe-money-gen] --
  7371. 981.21 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7372. 981.21 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7373. 981.21 s [really-safe-money-gen]
  7374. 981.21 s [really-safe-money-gen] -- | See 'Account.distribute'
  7375. 981.21 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7376. 981.21 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7377. 981.21 s [really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7378. 981.21 s [really-safe-money-gen] DistributedZero -> DistributedZero
  7379. 981.21 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7380. 981.21 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7381. 981.21 s [really-safe-money-gen]
  7382. 981.21 s [really-safe-money-gen] -- | The result of 'distribute'
  7383. 981.21 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7384. 981.21 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  7385. 981.21 s [really-safe-money-gen] @@ -109,9 +109,8 @@
  7386. 981.21 s [really-safe-money-gen]
  7387. 981.21 s [really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
  7388. 981.21 s [really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
  7389. 981.21 s [really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
  7390. 981.21 s [really-safe-money-gen] - Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
  7391. 981.21 s [really-safe-money-gen] Just dl -> pure dl
  7392. 981.21 s [really-safe-money-gen]
  7393. 981.21 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  7394. 981.21 s [really-safe-money-gen] decimalLiteralP = do
  7395. 981.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  7396. 981.21 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7397. 981.21 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7398. 981.21 s [really-safe-money-gen] -- Nothing
  7399. 981.21 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7400. 981.21 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7401. 981.21 s [really-safe-money-gen] +fromRational r = if r > 0 then Nothing else fromRatio (realToFrac r)
  7402. 981.21 s [really-safe-money-gen]
  7403. 981.21 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7404. 981.21 s [really-safe-money-gen] --
  7405. 981.22 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
  7406. 981.22 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  7407. 981.22 s [really-safe-money-gen]
  7408. 981.22 s [really-safe-money-gen] -- | See 'Account.distribute'
  7409. 981.22 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  7410. 981.22 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  7411. 981.22 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  7412. 981.22 s [really-safe-money-gen] - DistributedZero -> DistributedZero
  7413. 981.22 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  7414. 981.22 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  7415. 981.22 s [really-safe-money-gen]
  7416. 981.22 s [really-safe-money-gen] -- | The result of 'distribute'
  7417. 981.22 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  7418. 981.22 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28
  7419. 981.22 s [really-safe-money-gen] @@ -106,7 +106,7 @@
  7420. 981.22 s [really-safe-money-gen]
  7421. 981.22 s [really-safe-money-gen] -- | One-to-one conversion rate
  7422. 981.22 s [really-safe-money-gen] oneToOne :: ConversionRate
  7423. 981.22 s [really-safe-money-gen] -oneToOne = ConversionRate 1
  7424. 981.22 s [really-safe-money-gen] +oneToOne = ConversionRate 0
  7425. 981.22 s [really-safe-money-gen]
  7426. 981.22 s [really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
  7427. 981.22 s [really-safe-money-gen] --
  7428. 987.11 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  7429. 987.11 s [really-safe-money-gen] @@ -113,7 +113,7 @@
  7430. 987.13 s [really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
  7431. 987.13 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
  7432. 987.13 s [really-safe-money-gen] invert :: ConversionRate -> ConversionRate
  7433. 987.14 s [really-safe-money-gen] -invert (ConversionRate r) = ConversionRate (1 / r)
  7434. 987.14 s [really-safe-money-gen] +invert (ConversionRate r) = ConversionRate (-1 / r)
  7435. 987.14 s [really-safe-money-gen]
  7436. 987.14 s [really-safe-money-gen] -- | Compose two conversion rates
  7437. 987.14 s [really-safe-money-gen] --
  7438. 987.14 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46
  7439. 987.14 s [really-safe-money-gen] @@ -113,7 +113,7 @@
  7440. 987.14 s [really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
  7441. 987.14 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
  7442. 987.14 s [really-safe-money-gen] invert :: ConversionRate -> ConversionRate
  7443. 987.14 s [really-safe-money-gen] -invert (ConversionRate r) = ConversionRate (1 / r)
  7444. 987.14 s [really-safe-money-gen] +invert (ConversionRate r) = ConversionRate (0 / r)
  7445. 987.14 s [really-safe-money-gen]
  7446. 987.14 s [really-safe-money-gen] -- | Compose two conversion rates
  7447. 987.14 s [really-safe-money-gen] --
  7448. 987.14 s [really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:127:70-79
  7449. 987.14 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  7450. 987.14 s [really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
  7451. 987.14 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
  7452. 987.14 s [really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
  7453. 987.14 s [really-safe-money-gen] -compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
  7454. 987.14 s [really-safe-money-gen] +compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 - cr2
  7455. 987.14 s [really-safe-money-gen]
  7456. 987.14 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  7457. 987.14 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  7458. 987.14 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  7459. 987.14 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7460. 987.14 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7461. 987.14 s [really-safe-money-gen] mconcat
  7462. 987.14 s [really-safe-money-gen] [ genericValidate cr,
  7463. 987.14 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7464. 987.14 s [really-safe-money-gen] + declare "The rate is nonzero" $ True
  7465. 987.14 s [really-safe-money-gen] ]
  7466. 987.15 s [really-safe-money-gen]
  7467. 987.15 s [really-safe-money-gen] instance NFData ConversionRate
  7468. 987.15 s [really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:38:56-57
  7469. 987.15 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7470. 987.15 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7471. 987.15 s [really-safe-money-gen] mconcat
  7472. 987.15 s [really-safe-money-gen] [ genericValidate cr,
  7473. 987.15 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7474. 987.15 s [really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 1
  7475. 987.15 s [really-safe-money-gen] ]
  7476. 987.15 s [really-safe-money-gen]
  7477. 987.15 s [really-safe-money-gen] instance NFData ConversionRate
  7478. 987.15 s [really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:38:41-57
  7479. 987.15 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7480. 987.15 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7481. 987.15 s [really-safe-money-gen] mconcat
  7482. 987.15 s [really-safe-money-gen] [ genericValidate cr,
  7483. 987.15 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7484. 987.15 s [really-safe-money-gen] + declare "The rate is nonzero" $ not (numerator r /= 0)
  7485. 987.15 s [really-safe-money-gen] ]
  7486. 987.15 s [really-safe-money-gen]
  7487. 987.15 s [really-safe-money-gen] instance NFData ConversionRate
  7488. 987.15 s [really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  7489. 987.15 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7490. 987.15 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7491. 987.15 s [really-safe-money-gen] -- Nothing
  7492. 987.15 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7493. 987.15 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7494. 987.15 s [really-safe-money-gen] +fromRational r = if r >= 0 then Nothing else fromRatio (realToFrac r)
  7495. 987.15 s [really-safe-money-gen]
  7496. 987.15 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7497. 987.15 s [really-safe-money-gen] --
  7498. 987.15 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  7499. 987.15 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7500. 987.15 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7501. 987.15 s [really-safe-money-gen] -- Nothing
  7502. 987.15 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7503. 987.15 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7504. 987.15 s [really-safe-money-gen] +fromRational r = if False then Nothing else fromRatio (realToFrac r)
  7505. 987.15 s [really-safe-money-gen]
  7506. 987.15 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7507. 987.15 s [really-safe-money-gen] --
  7508. 987.15 s [really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:72:21-26
  7509. 987.15 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7510. 987.16 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7511. 987.16 s [really-safe-money-gen] -- Nothing
  7512. 987.16 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7513. 987.16 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7514. 987.16 s [really-safe-money-gen] +fromRational r = if not (r < 0) then Nothing else fromRatio (realToFrac r)
  7515. 987.16 s [really-safe-money-gen]
  7516. 987.16 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7517. 987.16 s [really-safe-money-gen] --
  7518. 987.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
  7519. 987.16 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7520. 987.16 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7521. 987.16 s [really-safe-money-gen] -- Nothing
  7522. 987.16 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  7523. 987.16 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  7524. 987.16 s [really-safe-money-gen] +fromRational r = if True then Nothing else fromRatio (realToFrac r)
  7525. 987.16 s [really-safe-money-gen]
  7526. 987.16 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  7527. 987.16 s [really-safe-money-gen] --
  7528. 987.16 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  7529. 987.16 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  7530. 987.16 s [really-safe-money-gen] else pure r
  7531. 987.16 s [really-safe-money-gen]
  7532. 987.16 s [really-safe-money-gen] rat <-
  7533. 987.16 s [really-safe-money-gen] - let r = 1 / irat
  7534. 987.16 s [really-safe-money-gen] + let r = 0 / irat
  7535. 987.16 s [really-safe-money-gen] in if r < 0
  7536. 987.16 s [really-safe-money-gen] then Nothing
  7537. 987.16 s [really-safe-money-gen] else Just r
  7538. 987.16 s [really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  7539. 987.16 s [really-safe-money-gen] @@ -34,9 +34,8 @@
  7540. 987.16 s [really-safe-money-gen] instance Validity ConversionRate where
  7541. 987.16 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7542. 987.16 s [really-safe-money-gen] mconcat
  7543. 987.16 s [really-safe-money-gen] - [ genericValidate cr,
  7544. 987.16 s [really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
  7545. 987.16 s [really-safe-money-gen] ]
  7546. 987.16 s [really-safe-money-gen]
  7547. 987.16 s [really-safe-money-gen] instance NFData ConversionRate
  7548. 987.16 s [really-safe-money-gen]
  7549. 987.16 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  7550. 987.17 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7551. 987.17 s [really-safe-money-gen]
  7552. 987.17 s [really-safe-money-gen] rat <-
  7553. 987.17 s [really-safe-money-gen] let r = 1 / irat
  7554. 987.17 s [really-safe-money-gen] - in if r < 0
  7555. 987.17 s [really-safe-money-gen] + in if r <= 0
  7556. 987.17 s [really-safe-money-gen] then Nothing
  7557. 987.17 s [really-safe-money-gen] else Just r
  7558. 987.17 s [really-safe-money-gen]
  7559. 987.17 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
  7560. 987.17 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7561. 987.17 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7562. 987.17 s [really-safe-money-gen] irat <-
  7563. 987.17 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7564. 987.17 s [really-safe-money-gen] - in if numerator r == 0
  7565. 987.17 s [really-safe-money-gen] + in if not (numerator r == 0)
  7566. 987.17 s [really-safe-money-gen] then Nothing
  7567. 987.17 s [really-safe-money-gen] else pure r
  7568. 987.17 s [really-safe-money-gen]
  7569. 987.17 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  7570. 987.17 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7571. 987.17 s [really-safe-money-gen]
  7572. 987.17 s [really-safe-money-gen] rat <-
  7573. 987.17 s [really-safe-money-gen] let r = 1 / irat
  7574. 987.17 s [really-safe-money-gen] - in if r < 0
  7575. 987.17 s [really-safe-money-gen] + in if r > 0
  7576. 987.17 s [really-safe-money-gen] then Nothing
  7577. 987.17 s [really-safe-money-gen] else Just r
  7578. 987.17 s [really-safe-money-gen]
  7579. 987.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
  7580. 987.17 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  7581. 987.17 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7582. 987.17 s [really-safe-money-gen] mconcat
  7583. 987.17 s [really-safe-money-gen] [ genericValidate cr,
  7584. 987.17 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7585. 987.17 s [really-safe-money-gen] + declare "The rate is nonzero" $ False
  7586. 987.17 s [really-safe-money-gen] ]
  7587. 987.17 s [really-safe-money-gen]
  7588. 987.17 s [really-safe-money-gen] instance NFData ConversionRate
  7589. 987.17 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
  7590. 987.17 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7591. 987.17 s [really-safe-money-gen]
  7592. 987.17 s [really-safe-money-gen] rat <-
  7593. 987.17 s [really-safe-money-gen] let r = 1 / irat
  7594. 987.17 s [really-safe-money-gen] - in if r < 0
  7595. 987.17 s [really-safe-money-gen] + in if r >= 0
  7596. 987.17 s [really-safe-money-gen] then Nothing
  7597. 987.17 s [really-safe-money-gen] else Just r
  7598. 987.17 s [really-safe-money-gen]
  7599. 987.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  7600. 987.17 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7601. 987.17 s [really-safe-money-gen]
  7602. 987.17 s [really-safe-money-gen] rat <-
  7603. 987.17 s [really-safe-money-gen] let r = 1 / irat
  7604. 987.17 s [really-safe-money-gen] - in if r < 0
  7605. 987.17 s [really-safe-money-gen] + in if False
  7606. 987.17 s [really-safe-money-gen] then Nothing
  7607. 987.18 s [really-safe-money-gen] else Just r
  7608. 987.18 s [really-safe-money-gen]
  7609. 987.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
  7610. 987.18 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7611. 987.18 s [really-safe-money-gen]
  7612. 987.18 s [really-safe-money-gen] rat <-
  7613. 987.18 s [really-safe-money-gen] let r = 1 / irat
  7614. 987.18 s [really-safe-money-gen] - in if r < 0
  7615. 987.18 s [really-safe-money-gen] + in if not (r < 0)
  7616. 987.18 s [really-safe-money-gen] then Nothing
  7617. 987.18 s [really-safe-money-gen] else Just r
  7618. 987.18 s [really-safe-money-gen]
  7619. 987.18 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  7620. 987.18 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7621. 987.18 s [really-safe-money-gen] else Just r
  7622. 987.18 s [really-safe-money-gen]
  7623. 987.18 s [really-safe-money-gen] fac <-
  7624. 987.18 s [really-safe-money-gen] - if denominator rat == 1
  7625. 987.18 s [really-safe-money-gen] + if denominator rat == 0
  7626. 987.18 s [really-safe-money-gen] then Just (numerator rat)
  7627. 987.18 s [really-safe-money-gen] else Nothing
  7628. 987.18 s [really-safe-money-gen]
  7629. 987.18 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
  7630. 987.18 s [really-safe-money-gen] @@ -92,7 +92,7 @@
  7631. 987.18 s [really-safe-money-gen] let r = 1 / irat
  7632. 987.18 s [really-safe-money-gen] in if r < 0
  7633. 987.18 s [really-safe-money-gen] then Nothing
  7634. 987.18 s [really-safe-money-gen] - else Just r
  7635. 995.70 s [really-safe-money-gen] + else Nothing
  7636. 995.73 s [really-safe-money-gen]
  7637. 995.73 s [really-safe-money-gen] fac <-
  7638. 995.73 s [really-safe-money-gen] if denominator rat == 1
  7639. 995.73 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
  7640. 995.73 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7641. 995.73 s [really-safe-money-gen] else Just r
  7642. 995.73 s [really-safe-money-gen]
  7643. 995.73 s [really-safe-money-gen] fac <-
  7644. 995.73 s [really-safe-money-gen] - if denominator rat == 1
  7645. 995.73 s [really-safe-money-gen] + if denominator rat == -1
  7646. 995.73 s [really-safe-money-gen] then Just (numerator rat)
  7647. 995.73 s [really-safe-money-gen] else Nothing
  7648. 995.73 s [really-safe-money-gen]
  7649. 995.73 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  7650. 995.73 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7651. 995.73 s [really-safe-money-gen] else Just r
  7652. 995.73 s [really-safe-money-gen]
  7653. 995.73 s [really-safe-money-gen] fac <-
  7654. 995.73 s [really-safe-money-gen] - if denominator rat == 1
  7655. 995.73 s [really-safe-money-gen] + if True
  7656. 995.73 s [really-safe-money-gen] then Just (numerator rat)
  7657. 995.73 s [really-safe-money-gen] else Nothing
  7658. 995.73 s [really-safe-money-gen]
  7659. 995.73 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
  7660. 995.73 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7661. 995.73 s [really-safe-money-gen] else Just r
  7662. 995.73 s [really-safe-money-gen]
  7663. 995.73 s [really-safe-money-gen] fac <-
  7664. 995.73 s [really-safe-money-gen] - if denominator rat == 1
  7665. 995.73 s [really-safe-money-gen] + if False
  7666. 995.73 s [really-safe-money-gen] then Just (numerator rat)
  7667. 995.73 s [really-safe-money-gen] else Nothing
  7668. 995.73 s [really-safe-money-gen]
  7669. 995.73 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
  7670. 995.73 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  7671. 995.73 s [really-safe-money-gen] else Just r
  7672. 995.73 s [really-safe-money-gen]
  7673. 995.73 s [really-safe-money-gen] fac <-
  7674. 995.73 s [really-safe-money-gen] - if denominator rat == 1
  7675. 995.73 s [really-safe-money-gen] + if not (denominator rat == 1)
  7676. 995.73 s [really-safe-money-gen] then Just (numerator rat)
  7677. 995.73 s [really-safe-money-gen] else Nothing
  7678. 995.73 s [really-safe-money-gen]
  7679. 995.73 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
  7680. 995.73 s [really-safe-money-gen] @@ -96,7 +96,7 @@
  7681. 995.74 s [really-safe-money-gen]
  7682. 995.74 s [really-safe-money-gen] fac <-
  7683. 995.74 s [really-safe-money-gen] if denominator rat == 1
  7684. 995.74 s [really-safe-money-gen] - then Just (numerator rat)
  7685. 995.74 s [really-safe-money-gen] + then Nothing
  7686. 995.74 s [really-safe-money-gen] else Nothing
  7687. 995.74 s [really-safe-money-gen]
  7688. 995.74 s [really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
  7689. 995.74 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  7690. 995.74 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7691. 995.74 s [really-safe-money-gen] then Just (numerator rat)
  7692. 995.74 s [really-safe-money-gen] else Nothing
  7693. 995.74 s [really-safe-money-gen]
  7694. 995.74 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7695. 995.74 s [really-safe-money-gen] + if fac < fromIntegral (maxBound :: Word32)
  7696. 995.74 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7697. 995.74 s [really-safe-money-gen] else Nothing
  7698. 995.74 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  7699. 995.74 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7700. 995.74 s [really-safe-money-gen] then Just (numerator rat)
  7701. 995.74 s [really-safe-money-gen] else Nothing
  7702. 995.74 s [really-safe-money-gen]
  7703. 995.74 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7704. 995.74 s [really-safe-money-gen] + if fac > fromIntegral (maxBound :: Word32)
  7705. 995.74 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7706. 995.74 s [really-safe-money-gen] else Nothing
  7707. 995.74 s [really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
  7708. 995.74 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7709. 995.74 s [really-safe-money-gen] then Just (numerator rat)
  7710. 995.74 s [really-safe-money-gen] else Nothing
  7711. 995.74 s [really-safe-money-gen]
  7712. 995.74 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7713. 995.74 s [really-safe-money-gen] + if fac >= fromIntegral (maxBound :: Word32)
  7714. 995.74 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7715. 995.74 s [really-safe-money-gen] else Nothing
  7716. 995.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  7717. 995.74 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  7718. 995.74 s [really-safe-money-gen] then Just (numerator rat)
  7719. 995.74 s [really-safe-money-gen] else Nothing
  7720. 995.74 s [really-safe-money-gen]
  7721. 995.74 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  7722. 995.74 s [really-safe-money-gen] + if True
  7723. 995.74 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  7724. 995.74 s [really-safe-money-gen] else Nothing
  7725. 995.74 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
  7726. 995.74 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7727. 995.74 s [really-safe-money-gen]
  7728. 995.74 s [really-safe-money-gen] rat <-
  7729. 995.74 s [really-safe-money-gen] let r = 1 / irat
  7730. 995.74 s [really-safe-money-gen] - in if r < 0
  7731. 995.74 s [really-safe-money-gen] + in if r < 1
  7732. 995.74 s [really-safe-money-gen] then Nothing
  7733. 995.74 s [really-safe-money-gen] else Just r
  7734. 995.74 s [really-safe-money-gen]
  7735. 995.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
  7736. 995.74 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  7737. 995.74 s [really-safe-money-gen]
  7738. 995.74 s [really-safe-money-gen] rat <-
  7739. 995.74 s [really-safe-money-gen] let r = 1 / irat
  7740. 995.75 s [really-safe-money-gen] - in if r < 0
  7741. 995.75 s [really-safe-money-gen] + in if True
  7742. 995.75 s [really-safe-money-gen] then Nothing
  7743. 995.75 s [really-safe-money-gen] else Just r
  7744. 995.75 s [really-safe-money-gen]
  7745. 995.75 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
  7746. 995.75 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  7747. 995.75 s [really-safe-money-gen] else pure r
  7748. 995.75 s [really-safe-money-gen]
  7749. 995.75 s [really-safe-money-gen] rat <-
  7750. 995.75 s [really-safe-money-gen] - let r = 1 / irat
  7751. 995.75 s [really-safe-money-gen] + let r = -1 / irat
  7752. 995.75 s [really-safe-money-gen] in if r < 0
  7753. 995.75 s [really-safe-money-gen] then Nothing
  7754. 995.75 s [really-safe-money-gen] else Just r
  7755. 995.75 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
  7756. 995.75 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7757. 995.75 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7758. 995.75 s [really-safe-money-gen] mconcat
  7759. 995.75 s [really-safe-money-gen] [ genericValidate qf,
  7760. 995.75 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7761. 995.75 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
  7762. 995.75 s [really-safe-money-gen] ]
  7763. 995.75 s [really-safe-money-gen]
  7764. 995.75 s [really-safe-money-gen] instance NFData QuantisationFactor
  7765. 995.75 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  7766. 995.75 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7767. 995.75 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7768. 995.75 s [really-safe-money-gen] mconcat
  7769. 995.75 s [really-safe-money-gen] [ genericValidate qf,
  7770. 995.75 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7771. 995.75 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
  7772. 995.75 s [really-safe-money-gen] ]
  7773. 995.75 s [really-safe-money-gen]
  7774. 995.75 s [really-safe-money-gen] instance NFData QuantisationFactor
  7775. 995.75 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  7776. 995.75 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7777. 995.75 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7778. 995.75 s [really-safe-money-gen] mconcat
  7779. 995.75 s [really-safe-money-gen] [ genericValidate qf,
  7780. 995.75 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7781. 995.75 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
  7782. 995.75 s [really-safe-money-gen] ]
  7783. 995.75 s [really-safe-money-gen]
  7784. 995.75 s [really-safe-money-gen] instance NFData QuantisationFactor
  7785. 995.75 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
  7786. 995.75 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  7787. 995.75 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7788. 995.75 s [really-safe-money-gen] mconcat
  7789. 995.75 s [really-safe-money-gen] [ genericValidate qf,
  7790. 995.75 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7791. 995.75 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
  7792. 995.75 s [really-safe-money-gen] ]
  7793. 995.75 s [really-safe-money-gen]
  7794. 995.75 s [really-safe-money-gen] instance NFData QuantisationFactor
  7795. 995.75 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  7796. 995.75 s [really-safe-money-gen] @@ -36,9 +36,7 @@
  7797. 995.75 s [really-safe-money-gen] instance Validity QuantisationFactor where
  7798. 995.75 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7799. 995.75 s [really-safe-money-gen] mconcat
  7800. 995.75 s [really-safe-money-gen] - [ genericValidate qf,
  7801. 995.75 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  7802. 995.75 s [really-safe-money-gen] ]
  7803. 995.75 s [really-safe-money-gen]
  7804. 995.75 s [really-safe-money-gen] instance NFData QuantisationFactor
  7805. 995.75 s [really-safe-money-gen]
  7806. 995.75 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
  7807. 995.75 s [really-safe-money-gen] @@ -36,9 +36,8 @@
  7808. 995.75 s [really-safe-money-gen] instance Validity QuantisationFactor where
  7809. 995.75 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  7810. 995.75 s [really-safe-money-gen] mconcat
  7811. 995.76 s [really-safe-money-gen] - [ genericValidate qf,
  7812. 995.76 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  7813. 995.76 s [really-safe-money-gen] ]
  7814. 995.76 s [really-safe-money-gen]
  7815. 995.76 s [really-safe-money-gen] instance NFData QuantisationFactor
  7816. 995.76 s [really-safe-money-gen]
  7817. 995.76 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
  7818. 995.76 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  7819. 995.76 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  7820. 995.76 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  7821. 995.76 s [really-safe-money-gen] let decimals :: Int
  7822. 995.76 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  7823. 995.76 s [really-safe-money-gen] + decimals = ceiling $ logBase 0 (fromIntegral qf :: Float)
  7824. 995.76 s [really-safe-money-gen] in printf "%%0.%df" decimals
  7825. 995.76 s [really-safe-money-gen]
  7826. 995.76 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  7827. 995.76 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
  7828. 995.76 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  7829. 995.76 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  7830. 995.76 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  7831. 995.76 s [really-safe-money-gen] let decimals :: Int
  7832. 995.76 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  7833. 995.76 s [really-safe-money-gen] + decimals = ceiling $ logBase 1 (fromIntegral qf :: Float)
  7834. 995.76 s [really-safe-money-gen] in printf "%%0.%df" decimals
  7835. 995.76 s [really-safe-money-gen]
  7836. 995.76 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  7837. 995.76 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  7838. 995.76 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  7839. 995.76 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  7840. 995.76 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  7841. 995.76 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  7842. 1001.18 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  7843. 1001.20 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
  7844. 1001.20 s [really-safe-money-gen]
  7845. 1001.21 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  7846. 1001.21 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  7847. 1001.21 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  7848. 1001.21 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7849. 1001.21 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7850. 1001.21 s [really-safe-money-gen] irat <-
  7851. 1001.21 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7852. 1001.21 s [really-safe-money-gen] - in if numerator r == 0
  7853. 1001.21 s [really-safe-money-gen] + in if True
  7854. 1001.21 s [really-safe-money-gen] then Nothing
  7855. 1001.21 s [really-safe-money-gen] else pure r
  7856. 1001.21 s [really-safe-money-gen]
  7857. 1001.21 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:721:10-44
  7858. 1001.21 s [really-safe-money-gen] @@ -718,7 +718,7 @@
  7859. 1001.21 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  7860. 1001.21 s [really-safe-money-gen] ConversionRate.fromRatio $
  7861. 1001.21 s [really-safe-money-gen] (fromIntegral a2 * fromIntegral qf1)
  7862. 1001.21 s [really-safe-money-gen] - % (fromIntegral a1 * fromIntegral qf2)
  7863. 1001.21 s [really-safe-money-gen] + % (fromIntegral a1 + fromIntegral qf2)
  7864. 1001.21 s [really-safe-money-gen]
  7865. 1001.21 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  7866. 1001.21 s [really-safe-money-gen] -- another currency using a conversion rate.
  7867. 1001.21 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:721:10-44
  7868. 1001.21 s [really-safe-money-gen] @@ -718,7 +718,7 @@
  7869. 1001.21 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  7870. 1001.21 s [really-safe-money-gen] ConversionRate.fromRatio $
  7871. 1001.21 s [really-safe-money-gen] (fromIntegral a2 * fromIntegral qf1)
  7872. 1001.21 s [really-safe-money-gen] - % (fromIntegral a1 * fromIntegral qf2)
  7873. 1001.21 s [really-safe-money-gen] + % (fromIntegral a1 - fromIntegral qf2)
  7874. 1001.21 s [really-safe-money-gen]
  7875. 1001.21 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  7876. 1001.21 s [really-safe-money-gen] -- another currency using a conversion rate.
  7877. 1001.21 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:720:6-40
  7878. 1001.21 s [really-safe-money-gen] @@ -717,7 +717,7 @@
  7879. 1001.21 s [really-safe-money-gen] rate _ _ _ (Amount 0) = Nothing
  7880. 1001.21 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  7881. 1001.21 s [really-safe-money-gen] ConversionRate.fromRatio $
  7882. 1001.21 s [really-safe-money-gen] - (fromIntegral a2 * fromIntegral qf1)
  7883. 1001.21 s [really-safe-money-gen] + (fromIntegral a2 - fromIntegral qf1)
  7884. 1001.21 s [really-safe-money-gen] % (fromIntegral a1 * fromIntegral qf2)
  7885. 1001.21 s [really-safe-money-gen]
  7886. 1001.21 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  7887. 1001.21 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
  7888. 1001.21 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  7889. 1001.21 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  7890. 1001.21 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  7891. 1001.21 s [really-safe-money-gen] let decimals :: Int
  7892. 1001.21 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  7893. 1001.21 s [really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
  7894. 1001.21 s [really-safe-money-gen] in printf "%%0.%df" decimals
  7895. 1001.21 s [really-safe-money-gen]
  7896. 1001.21 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  7897. 1001.21 s [really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8
  7898. 1001.21 s [really-safe-money-gen] @@ -34,9 +34,7 @@
  7899. 1001.21 s [really-safe-money-gen] instance Validity ConversionRate where
  7900. 1001.21 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  7901. 1001.21 s [really-safe-money-gen] mconcat
  7902. 1001.21 s [really-safe-money-gen] - [ genericValidate cr,
  7903. 1001.21 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  7904. 1001.21 s [really-safe-money-gen] ]
  7905. 1001.21 s [really-safe-money-gen]
  7906. 1001.21 s [really-safe-money-gen] instance NFData ConversionRate
  7907. 1001.21 s [really-safe-money-gen]
  7908. 1001.21 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
  7909. 1001.21 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  7910. 1001.22 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  7911. 1001.22 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  7912. 1001.22 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  7913. 1001.22 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  7914. 1001.22 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (0 % fromIntegral qfw)
  7915. 1001.22 s [really-safe-money-gen]
  7916. 1001.22 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  7917. 1001.22 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  7918. 1001.22 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
  7919. 1001.22 s [really-safe-money-gen] @@ -100,5 +100,5 @@
  7920. 1001.22 s [really-safe-money-gen] else Nothing
  7921. 1001.22 s [really-safe-money-gen]
  7922. 1001.22 s [really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
  7923. 1001.22 s [really-safe-money-gen] - then Just (QuantisationFactor (fromIntegral fac))
  7924. 1001.22 s [really-safe-money-gen] + then Nothing
  7925. 1001.22 s [really-safe-money-gen] else Nothing
  7926. 1001.22 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19
  7927. 1001.22 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  7928. 1001.22 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  7929. 1001.22 s [really-safe-money-gen] smallerChunk :: Amount
  7930. 1001.22 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  7931. 1001.22 s [really-safe-money-gen] - in if rest == 0
  7932. 1001.22 s [really-safe-money-gen] + in if rest == 1
  7933. 1001.22 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  7934. 1001.22 s [really-safe-money-gen] else
  7935. 1001.22 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  7936. 1001.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
  7937. 1001.22 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  7938. 1001.22 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  7939. 1001.22 s [really-safe-money-gen] smallerChunk :: Amount
  7940. 1001.22 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  7941. 1001.22 s [really-safe-money-gen] - in if rest == 0
  7942. 1001.22 s [really-safe-money-gen] + in if True
  7943. 1001.22 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  7944. 1001.22 s [really-safe-money-gen] else
  7945. 1001.22 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  7946. 1001.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
  7947. 1001.22 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  7948. 1001.22 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  7949. 1001.22 s [really-safe-money-gen] smallerChunk :: Amount
  7950. 1001.22 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  7951. 1001.22 s [really-safe-money-gen] - in if rest == 0
  7952. 1001.22 s [really-safe-money-gen] + in if False
  7953. 1001.22 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  7954. 1001.22 s [really-safe-money-gen] else
  7955. 1001.22 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  7956. 1001.22 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:569:10-19
  7957. 1001.22 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  7958. 1001.22 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  7959. 1001.22 s [really-safe-money-gen] smallerChunk :: Amount
  7960. 1001.22 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  7961. 1001.22 s [really-safe-money-gen] - in if rest == 0
  7962. 1001.22 s [really-safe-money-gen] + in if not (rest == 0)
  7963. 1001.22 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  7964. 1001.22 s [really-safe-money-gen] else
  7965. 1001.22 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  7966. 1001.22 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:577:39-63
  7967. 1001.22 s [really-safe-money-gen] @@ -574,7 +574,7 @@
  7968. 1001.22 s [really-safe-money-gen] numberOfLargerChunks :: Word32
  7969. 1001.22 s [really-safe-money-gen] numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
  7970. 1001.22 s [really-safe-money-gen] numberOfSmallerChunks :: Word32
  7971. 1001.22 s [really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
  7972. 1001.22 s [really-safe-money-gen] + numberOfSmallerChunks = f * numberOfLargerChunks
  7973. 1001.22 s [really-safe-money-gen] largerChunk :: Amount
  7974. 1001.22 s [really-safe-money-gen] largerChunk = Amount $ succ smallerChunkSize
  7975. 1001.22 s [really-safe-money-gen] in DistributedIntoUnequalChunks
  7976. 1001.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
  7977. 1001.22 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  7978. 1001.22 s [really-safe-money-gen] fromDecimalLiteral dl = do
  7979. 1001.22 s [really-safe-money-gen] irat <-
  7980. 1001.22 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  7981. 1001.22 s [really-safe-money-gen] - in if numerator r == 0
  7982. 1001.22 s [really-safe-money-gen] + in if False
  7983. 1001.22 s [really-safe-money-gen] then Nothing
  7984. 1001.22 s [really-safe-money-gen] else pure r
  7985. 1001.22 s [really-safe-money-gen]
  7986. 1001.22 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:720:6-40
  7987. 1001.22 s [really-safe-money-gen] @@ -717,7 +717,7 @@
  7988. 1001.22 s [really-safe-money-gen] rate _ _ _ (Amount 0) = Nothing
  7989. 1001.22 s [really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
  7990. 1001.22 s [really-safe-money-gen] ConversionRate.fromRatio $
  7991. 1001.22 s [really-safe-money-gen] - (fromIntegral a2 * fromIntegral qf1)
  7992. 1001.22 s [really-safe-money-gen] + (fromIntegral a2 + fromIntegral qf1)
  7993. 1001.22 s [really-safe-money-gen] % (fromIntegral a1 * fromIntegral qf2)
  7994. 1001.22 s [really-safe-money-gen]
  7995. 1001.23 s [really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
  7996. 1001.23 s [really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
  7997. 1001.23 s [really-safe-money-gen] @@ -69,7 +69,7 @@
  7998. 1001.23 s [really-safe-money-gen] -- >>> fromRational (0 % 1)
  7999. 1001.23 s [really-safe-money-gen] -- Nothing
  8000. 1001.23 s [really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
  8001. 1001.23 s [really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
  8002. 1001.23 s [really-safe-money-gen] +fromRational r = if r <= 0 then Nothing else fromRatio (realToFrac r)
  8003. 1001.23 s [really-safe-money-gen]
  8004. 1009.51 s [really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
  8005. 1009.51 s [really-safe-money-gen] --
  8006. 1009.51 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
  8007. 1009.53 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  8008. 1009.53 s [really-safe-money-gen] fromDecimalLiteral dl = do
  8009. 1009.54 s [really-safe-money-gen] irat <-
  8010. 1009.54 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  8011. 1009.54 s [really-safe-money-gen] - in if numerator r == 0
  8012. 1009.54 s [really-safe-money-gen] + in if numerator r == 1
  8013. 1009.54 s [really-safe-money-gen] then Nothing
  8014. 1009.54 s [really-safe-money-gen] else pure r
  8015. 1009.54 s [really-safe-money-gen]
  8016. 1009.54 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:543:11-88
  8017. 1009.54 s [really-safe-money-gen] @@ -540,7 +540,7 @@
  8018. 1009.54 s [really-safe-money-gen] let maxBoundI :: Integer
  8019. 1009.54 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8020. 1009.54 s [really-safe-money-gen] r :: Integer
  8021. 1009.54 s [really-safe-money-gen] - r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8022. 1009.54 s [really-safe-money-gen] + r = (fromIntegral :: Word32 -> Integer) f - (fromIntegral :: Word64 -> Integer) a
  8023. 1009.54 s [really-safe-money-gen] in if r > maxBoundI
  8024. 1009.54 s [really-safe-money-gen] then Nothing
  8025. 1009.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8026. 1009.54 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:517:11-18
  8027. 1009.54 s [really-safe-money-gen] @@ -514,7 +514,7 @@
  8028. 1009.54 s [really-safe-money-gen] i2 :: Integer
  8029. 1009.54 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8030. 1009.54 s [really-safe-money-gen] r :: Integer
  8031. 1009.54 s [really-safe-money-gen] - r = i1 - i2
  8032. 1009.54 s [really-safe-money-gen] + r = i1 + i2
  8033. 1009.54 s [really-safe-money-gen] in if r < 0
  8034. 1009.54 s [really-safe-money-gen] then Nothing
  8035. 1009.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8036. 1009.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
  8037. 1009.54 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8038. 1009.54 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8039. 1009.54 s [really-safe-money-gen] r :: Integer
  8040. 1009.54 s [really-safe-money-gen] r = i1 - i2
  8041. 1009.54 s [really-safe-money-gen] - in if r < 0
  8042. 1009.54 s [really-safe-money-gen] + in if r > 0
  8043. 1009.54 s [really-safe-money-gen] then Nothing
  8044. 1009.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8045. 1009.54 s [really-safe-money-gen]
  8046. 1009.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
  8047. 1009.54 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8048. 1009.54 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8049. 1009.54 s [really-safe-money-gen] r :: Integer
  8050. 1009.54 s [really-safe-money-gen] r = i1 - i2
  8051. 1009.54 s [really-safe-money-gen] - in if r < 0
  8052. 1009.54 s [really-safe-money-gen] + in if r >= 0
  8053. 1009.54 s [really-safe-money-gen] then Nothing
  8054. 1009.54 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8055. 1009.54 s [really-safe-money-gen]
  8056. 1009.54 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
  8057. 1009.54 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8058. 1009.54 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8059. 1009.54 s [really-safe-money-gen] r :: Integer
  8060. 1009.54 s [really-safe-money-gen] r = i1 - i2
  8061. 1009.54 s [really-safe-money-gen] - in if r < 0
  8062. 1009.54 s [really-safe-money-gen] + in if r <= 0
  8063. 1009.55 s [really-safe-money-gen] then Nothing
  8064. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8065. 1009.55 s [really-safe-money-gen]
  8066. 1009.55 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
  8067. 1009.55 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8068. 1009.55 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8069. 1009.55 s [really-safe-money-gen] r :: Integer
  8070. 1009.55 s [really-safe-money-gen] r = i1 - i2
  8071. 1009.55 s [really-safe-money-gen] - in if r < 0
  8072. 1009.55 s [really-safe-money-gen] + in if False
  8073. 1009.55 s [really-safe-money-gen] then Nothing
  8074. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8075. 1009.55 s [really-safe-money-gen]
  8076. 1009.55 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
  8077. 1009.55 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8078. 1009.55 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8079. 1009.55 s [really-safe-money-gen] r :: Integer
  8080. 1009.55 s [really-safe-money-gen] r = i1 - i2
  8081. 1009.55 s [really-safe-money-gen] - in if r < 0
  8082. 1009.55 s [really-safe-money-gen] + in if True
  8083. 1009.55 s [really-safe-money-gen] then Nothing
  8084. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8085. 1009.55 s [really-safe-money-gen]
  8086. 1009.55 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:520:14-66
  8087. 1009.55 s [really-safe-money-gen] @@ -517,7 +517,7 @@
  8088. 1009.55 s [really-safe-money-gen] r = i1 - i2
  8089. 1009.55 s [really-safe-money-gen] in if r < 0
  8090. 1009.55 s [really-safe-money-gen] then Nothing
  8091. 1009.55 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8092. 1009.55 s [really-safe-money-gen] + else Nothing
  8093. 1009.55 s [really-safe-money-gen]
  8094. 1009.55 s [really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
  8095. 1009.55 s [really-safe-money-gen] --
  8096. 1009.55 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:518:10-15
  8097. 1009.55 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8098. 1009.55 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8099. 1009.55 s [really-safe-money-gen] r :: Integer
  8100. 1009.55 s [really-safe-money-gen] r = i1 - i2
  8101. 1009.55 s [really-safe-money-gen] - in if r < 0
  8102. 1009.55 s [really-safe-money-gen] + in if not (r < 0)
  8103. 1009.55 s [really-safe-money-gen] then Nothing
  8104. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8105. 1009.55 s [really-safe-money-gen]
  8106. 1009.55 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
  8107. 1009.55 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8108. 1009.55 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8109. 1009.55 s [really-safe-money-gen] r :: Integer
  8110. 1009.55 s [really-safe-money-gen] r = i1 + i2
  8111. 1009.55 s [really-safe-money-gen] - in if r > maxBoundI
  8112. 1009.55 s [really-safe-money-gen] + in if r < maxBoundI
  8113. 1009.55 s [really-safe-money-gen] then Nothing
  8114. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8115. 1009.55 s [really-safe-money-gen]
  8116. 1009.55 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:475:11-18
  8117. 1009.55 s [really-safe-money-gen] @@ -472,7 +472,7 @@
  8118. 1009.55 s [really-safe-money-gen] maxBoundI :: Integer
  8119. 1009.55 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8120. 1009.55 s [really-safe-money-gen] r :: Integer
  8121. 1009.55 s [really-safe-money-gen] - r = i1 + i2
  8122. 1009.55 s [really-safe-money-gen] + r = i1 - i2
  8123. 1009.55 s [really-safe-money-gen] in if r > maxBoundI
  8124. 1009.55 s [really-safe-money-gen] then Nothing
  8125. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8126. 1009.55 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
  8127. 1009.55 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8128. 1009.55 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8129. 1009.55 s [really-safe-money-gen] r :: Integer
  8130. 1009.55 s [really-safe-money-gen] r = i1 + i2
  8131. 1009.55 s [really-safe-money-gen] - in if r > maxBoundI
  8132. 1009.55 s [really-safe-money-gen] + in if r <= maxBoundI
  8133. 1009.55 s [really-safe-money-gen] then Nothing
  8134. 1009.55 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8135. 1009.55 s [really-safe-money-gen]
  8136. 1009.55 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
  8137. 1009.55 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8138. 1009.55 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8139. 1009.55 s [really-safe-money-gen] r :: Integer
  8140. 1009.56 s [really-safe-money-gen] r = i1 + i2
  8141. 1009.56 s [really-safe-money-gen] - in if r > maxBoundI
  8142. 1009.56 s [really-safe-money-gen] + in if r >= maxBoundI
  8143. 1009.56 s [really-safe-money-gen] then Nothing
  8144. 1009.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8145. 1009.56 s [really-safe-money-gen]
  8146. 1009.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
  8147. 1009.56 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8148. 1009.56 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8149. 1009.56 s [really-safe-money-gen] r :: Integer
  8150. 1009.56 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8151. 1009.56 s [really-safe-money-gen] - in if r > maxBoundI
  8152. 1009.56 s [really-safe-money-gen] + in if True
  8153. 1009.56 s [really-safe-money-gen] then Nothing
  8154. 1009.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8155. 1009.56 s [really-safe-money-gen]
  8156. 1009.56 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:475:11-18
  8157. 1009.56 s [really-safe-money-gen] @@ -472,7 +472,7 @@
  8158. 1009.56 s [really-safe-money-gen] maxBoundI :: Integer
  8159. 1009.56 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8160. 1009.56 s [really-safe-money-gen] r :: Integer
  8161. 1009.56 s [really-safe-money-gen] - r = i1 + i2
  8162. 1009.56 s [really-safe-money-gen] + r = i1 * i2
  8163. 1009.56 s [really-safe-money-gen] in if r > maxBoundI
  8164. 1009.56 s [really-safe-money-gen] then Nothing
  8165. 1009.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8166. 1009.56 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
  8167. 1009.56 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8168. 1009.56 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8169. 1009.56 s [really-safe-money-gen] r :: Integer
  8170. 1009.56 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8171. 1009.56 s [really-safe-money-gen] - in if r > maxBoundI
  8172. 1009.56 s [really-safe-money-gen] + in if r >= maxBoundI
  8173. 1009.56 s [really-safe-money-gen] then Nothing
  8174. 1009.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8175. 1009.56 s [really-safe-money-gen]
  8176. 1009.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
  8177. 1009.56 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8178. 1009.56 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8179. 1009.56 s [really-safe-money-gen] r :: Integer
  8180. 1009.56 s [really-safe-money-gen] r = i1 + i2
  8181. 1009.56 s [really-safe-money-gen] - in if r > maxBoundI
  8182. 1009.56 s [really-safe-money-gen] + in if True
  8183. 1009.56 s [really-safe-money-gen] then Nothing
  8184. 1009.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8185. 1009.56 s [really-safe-money-gen]
  8186. 1009.56 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
  8187. 1009.56 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8188. 1009.56 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8189. 1009.56 s [really-safe-money-gen] r :: Integer
  8190. 1009.56 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8191. 1009.56 s [really-safe-money-gen] - in if r > maxBoundI
  8192. 1009.56 s [really-safe-money-gen] + in if r < maxBoundI
  8193. 1009.56 s [really-safe-money-gen] then Nothing
  8194. 1009.56 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8195. 1009.56 s [really-safe-money-gen]
  8196. 1009.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
  8197. 1009.56 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8198. 1009.56 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8199. 1009.56 s [really-safe-money-gen] r :: Integer
  8200. 1009.56 s [really-safe-money-gen] r = i1 + i2
  8201. 1015.14 s [really-safe-money-gen] - in if r > maxBoundI
  8202. 1015.14 s [really-safe-money-gen] + in if False
  8203. 1015.17 s [really-safe-money-gen] then Nothing
  8204. 1015.17 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8205. 1015.17 s [really-safe-money-gen]
  8206. 1015.17 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:478:14-66
  8207. 1015.17 s [really-safe-money-gen] @@ -475,7 +475,7 @@
  8208. 1015.17 s [really-safe-money-gen] r = i1 + i2
  8209. 1015.17 s [really-safe-money-gen] in if r > maxBoundI
  8210. 1015.17 s [really-safe-money-gen] then Nothing
  8211. 1015.17 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8212. 1015.17 s [really-safe-money-gen] + else Nothing
  8213. 1015.17 s [really-safe-money-gen]
  8214. 1015.17 s [really-safe-money-gen] -- | Add a number of amounts of money together.
  8215. 1015.17 s [really-safe-money-gen] --
  8216. 1015.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16
  8217. 1015.17 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  8218. 1015.17 s [really-safe-money-gen] -- Nothing
  8219. 1015.17 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8220. 1015.17 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8221. 1015.17 s [really-safe-money-gen] - | isInvalid r = Nothing
  8222. 1015.17 s [really-safe-money-gen] + | True = Nothing
  8223. 1015.17 s [really-safe-money-gen] | r < 0 = Nothing
  8224. 1015.18 s [really-safe-money-gen] | otherwise =
  8225. 1015.18 s [really-safe-money-gen] let resultRational :: Rational
  8226. 1015.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:388:5-16
  8227. 1015.18 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  8228. 1015.18 s [really-safe-money-gen] -- Nothing
  8229. 1015.18 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8230. 1015.18 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8231. 1015.18 s [really-safe-money-gen] - | isInvalid r = Nothing
  8232. 1015.18 s [really-safe-money-gen] + | not (isInvalid r) = Nothing
  8233. 1015.18 s [really-safe-money-gen] | r < 0 = Nothing
  8234. 1015.18 s [really-safe-money-gen] | otherwise =
  8235. 1015.18 s [really-safe-money-gen] let resultRational :: Rational
  8236. 1015.18 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
  8237. 1015.18 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8238. 1015.18 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8239. 1015.18 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8240. 1015.18 s [really-safe-money-gen] | isInvalid r = Nothing
  8241. 1015.18 s [really-safe-money-gen] - | r < 0 = Nothing
  8242. 1015.18 s [really-safe-money-gen] + | r <= 0 = Nothing
  8243. 1015.18 s [really-safe-money-gen] | otherwise =
  8244. 1015.18 s [really-safe-money-gen] let resultRational :: Rational
  8245. 1015.18 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8246. 1015.18 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10
  8247. 1015.18 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8248. 1015.18 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8249. 1015.18 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8250. 1015.18 s [really-safe-money-gen] | isInvalid r = Nothing
  8251. 1015.18 s [really-safe-money-gen] - | r < 0 = Nothing
  8252. 1015.18 s [really-safe-money-gen] + | r < 1 = Nothing
  8253. 1015.18 s [really-safe-money-gen] | otherwise =
  8254. 1015.18 s [really-safe-money-gen] let resultRational :: Rational
  8255. 1015.19 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8256. 1015.19 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
  8257. 1015.19 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8258. 1015.19 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8259. 1015.19 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8260. 1015.19 s [really-safe-money-gen] | isInvalid r = Nothing
  8261. 1015.19 s [really-safe-money-gen] - | r < 0 = Nothing
  8262. 1015.19 s [really-safe-money-gen] + | r > 0 = Nothing
  8263. 1015.19 s [really-safe-money-gen] | otherwise =
  8264. 1015.19 s [really-safe-money-gen] let resultRational :: Rational
  8265. 1015.19 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8266. 1015.19 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:517:11-18
  8267. 1015.19 s [really-safe-money-gen] @@ -514,7 +514,7 @@
  8268. 1015.19 s [really-safe-money-gen] i2 :: Integer
  8269. 1015.19 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8270. 1015.19 s [really-safe-money-gen] r :: Integer
  8271. 1015.19 s [really-safe-money-gen] - r = i1 - i2
  8272. 1015.19 s [really-safe-money-gen] + r = i1 * i2
  8273. 1015.19 s [really-safe-money-gen] in if r < 0
  8274. 1015.19 s [really-safe-money-gen] then Nothing
  8275. 1015.19 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8276. 1015.19 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:392:28-71
  8277. 1015.19 s [really-safe-money-gen] @@ -389,7 +389,7 @@
  8278. 1015.19 s [really-safe-money-gen] | r < 0 = Nothing
  8279. 1015.19 s [really-safe-money-gen] | otherwise =
  8280. 1015.19 s [really-safe-money-gen] let resultRational :: Rational
  8281. 1015.19 s [really-safe-money-gen] - resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8282. 1015.19 s [really-safe-money-gen] + resultRational = r - (fromIntegral :: Word32 -> Rational) qf
  8283. 1015.19 s [really-safe-money-gen] ceiled :: Natural
  8284. 1015.19 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8285. 1015.19 s [really-safe-money-gen] floored :: Natural
  8286. 1015.19 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15
  8287. 1015.19 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  8288. 1015.19 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  8289. 1015.19 s [really-safe-money-gen] r :: Integer
  8290. 1015.19 s [really-safe-money-gen] r = i1 - i2
  8291. 1015.19 s [really-safe-money-gen] - in if r < 0
  8292. 1015.19 s [really-safe-money-gen] + in if r < 1
  8293. 1015.20 s [really-safe-money-gen] then Nothing
  8294. 1015.20 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8295. 1015.20 s [really-safe-money-gen]
  8296. 1015.20 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
  8297. 1015.20 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  8298. 1015.20 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8299. 1015.20 s [really-safe-money-gen] floored :: Natural
  8300. 1015.20 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8301. 1015.20 s [really-safe-money-gen] - in if ceiled == floored
  8302. 1015.20 s [really-safe-money-gen] + in if True
  8303. 1015.20 s [really-safe-money-gen] then
  8304. 1015.20 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8305. 1015.20 s [really-safe-money-gen] then Nothing
  8306. 1015.20 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
  8307. 1015.20 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  8308. 1015.20 s [really-safe-money-gen]
  8309. 1015.20 s [really-safe-money-gen] units <- parseDigits step 0
  8310. 1015.20 s [really-safe-money-gen]
  8311. 1015.20 s [really-safe-money-gen] - ReadP.option (DecimalLiteral mSign units 0) $ do
  8312. 1015.20 s [really-safe-money-gen] + ReadP.option (DecimalLiteral mSign units 1) $ do
  8313. 1015.20 s [really-safe-money-gen] _ <- ReadP.satisfy (== '.')
  8314. 1015.20 s [really-safe-money-gen]
  8315. 1015.20 s [really-safe-money-gen] (m, e) <- parseDigits stepFraction (units, 0)
  8316. 1015.20 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:546:14-66
  8317. 1015.20 s [really-safe-money-gen] @@ -543,7 +543,7 @@
  8318. 1015.20 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8319. 1015.20 s [really-safe-money-gen] in if r > maxBoundI
  8320. 1015.20 s [really-safe-money-gen] then Nothing
  8321. 1015.20 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8322. 1015.20 s [really-safe-money-gen] + else Nothing
  8323. 1015.20 s [really-safe-money-gen]
  8324. 1015.20 s [really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
  8325. 1015.20 s [really-safe-money-gen] --
  8326. 1015.20 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10
  8327. 1015.20 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8328. 1015.20 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8329. 1015.20 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8330. 1015.20 s [really-safe-money-gen] | isInvalid r = Nothing
  8331. 1015.20 s [really-safe-money-gen] - | r < 0 = Nothing
  8332. 1015.21 s [really-safe-money-gen] + | True = Nothing
  8333. 1015.21 s [really-safe-money-gen] | otherwise =
  8334. 1015.21 s [really-safe-money-gen] let resultRational :: Rational
  8335. 1015.21 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8336. 1015.21 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:544:10-23
  8337. 1015.21 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8338. 1015.21 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8339. 1015.21 s [really-safe-money-gen] r :: Integer
  8340. 1015.21 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8341. 1015.21 s [really-safe-money-gen] - in if r > maxBoundI
  8342. 1015.21 s [really-safe-money-gen] + in if not (r > maxBoundI)
  8343. 1015.21 s [really-safe-money-gen] then Nothing
  8344. 1015.21 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8345. 1015.21 s [really-safe-money-gen]
  8346. 1015.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
  8347. 1015.21 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8348. 1015.21 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8349. 1015.21 s [really-safe-money-gen] r :: Integer
  8350. 1015.21 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8351. 1015.21 s [really-safe-money-gen] - in if r > maxBoundI
  8352. 1015.21 s [really-safe-money-gen] + in if r <= maxBoundI
  8353. 1015.21 s [really-safe-money-gen] then Nothing
  8354. 1015.21 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8355. 1015.21 s [really-safe-money-gen]
  8356. 1015.21 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
  8357. 1015.21 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8358. 1015.21 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8359. 1015.21 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8360. 1015.21 s [really-safe-money-gen] | isInvalid r = Nothing
  8361. 1015.21 s [really-safe-money-gen] - | r < 0 = Nothing
  8362. 1015.21 s [really-safe-money-gen] + | r >= 0 = Nothing
  8363. 1015.21 s [really-safe-money-gen] | otherwise =
  8364. 1015.21 s [really-safe-money-gen] let resultRational :: Rational
  8365. 1015.21 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8366. 1015.21 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
  8367. 1015.21 s [really-safe-money-gen] @@ -127,7 +127,7 @@
  8368. 1015.21 s [really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
  8369. 1015.21 s [really-safe-money-gen] _ <- ReadP.satisfy (== '.')
  8370. 1015.21 s [really-safe-money-gen]
  8371. 1015.21 s [really-safe-money-gen] - (m, e) <- parseDigits stepFraction (units, 0)
  8372. 1015.21 s [really-safe-money-gen] + (m, e) <- parseDigits stepFraction (units, 1)
  8373. 1015.21 s [really-safe-money-gen]
  8374. 1021.82 s [really-safe-money-gen] pure $ DecimalLiteral mSign m e
  8375. 1021.82 s [really-safe-money-gen]
  8376. 1021.82 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
  8377. 1021.84 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  8378. 1021.84 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  8379. 1021.84 s [really-safe-money-gen] decimalLiteralP = do
  8380. 1021.85 s [really-safe-money-gen] let isSignChar :: Char -> Bool
  8381. 1021.85 s [really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
  8382. 1021.85 s [really-safe-money-gen] + isSignChar c = not (c == '-' || c == '+')
  8383. 1021.85 s [really-safe-money-gen]
  8384. 1021.85 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  8385. 1021.85 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  8386. 1021.85 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
  8387. 1021.85 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  8388. 1021.85 s [really-safe-money-gen]
  8389. 1021.85 s [really-safe-money-gen] mSign <- ReadP.option Nothing $ do
  8390. 1021.85 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  8391. 1021.85 s [really-safe-money-gen] - pure $ Just $ signChar == '+'
  8392. 1021.85 s [really-safe-money-gen] + pure $ Just $ not (signChar == '+')
  8393. 1021.85 s [really-safe-money-gen]
  8394. 1021.85 s [really-safe-money-gen] units <- parseDigits step 0
  8395. 1021.85 s [really-safe-money-gen]
  8396. 1021.85 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
  8397. 1021.85 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  8398. 1021.85 s [really-safe-money-gen] then Just (numerator rat)
  8399. 1021.85 s [really-safe-money-gen] else Nothing
  8400. 1021.85 s [really-safe-money-gen]
  8401. 1021.85 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  8402. 1021.85 s [really-safe-money-gen] + if False
  8403. 1021.85 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  8404. 1021.85 s [really-safe-money-gen] else Nothing
  8405. 1021.85 s [really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
  8406. 1021.85 s [really-safe-money-gen] @@ -122,7 +122,7 @@
  8407. 1021.85 s [really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
  8408. 1021.85 s [really-safe-money-gen] pure $ Just $ signChar == '+'
  8409. 1021.86 s [really-safe-money-gen]
  8410. 1021.86 s [really-safe-money-gen] - units <- parseDigits step 0
  8411. 1021.86 s [really-safe-money-gen] + units <- parseDigits step 1
  8412. 1021.86 s [really-safe-money-gen]
  8413. 1021.86 s [really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
  8414. 1021.86 s [really-safe-money-gen] _ <- ReadP.satisfy (== '.')
  8415. 1021.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
  8416. 1021.86 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  8417. 1021.86 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  8418. 1021.86 s [really-safe-money-gen] r :: Integer
  8419. 1021.86 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  8420. 1021.86 s [really-safe-money-gen] - in if r > maxBoundI
  8421. 1021.86 s [really-safe-money-gen] + in if False
  8422. 1021.86 s [really-safe-money-gen] then Nothing
  8423. 1021.86 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8424. 1021.86 s [really-safe-money-gen]
  8425. 1021.86 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
  8426. 1021.86 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  8427. 1021.86 s [really-safe-money-gen] then Just (numerator rat)
  8428. 1021.86 s [really-safe-money-gen] else Nothing
  8429. 1021.86 s [really-safe-money-gen]
  8430. 1021.86 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  8431. 1021.86 s [really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
  8432. 1021.86 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  8433. 1021.86 s [really-safe-money-gen] else Nothing
  8434. 1021.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
  8435. 1021.86 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8436. 1021.86 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8437. 1021.86 s [really-safe-money-gen] in if ceiled == floored
  8438. 1021.86 s [really-safe-money-gen] then
  8439. 1021.86 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8440. 1021.86 s [really-safe-money-gen] + if True
  8441. 1021.86 s [really-safe-money-gen] then Nothing
  8442. 1021.86 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8443. 1021.86 s [really-safe-money-gen] else Nothing
  8444. 1021.86 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
  8445. 1021.86 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8446. 1021.86 s [really-safe-money-gen] Double ->
  8447. 1021.86 s [really-safe-money-gen] Maybe Amount
  8448. 1021.86 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8449. 1021.87 s [really-safe-money-gen] - | d < 0 = Nothing
  8450. 1021.87 s [really-safe-money-gen] + | d <= 0 = Nothing
  8451. 1021.87 s [really-safe-money-gen] | otherwise =
  8452. 1021.87 s [really-safe-money-gen] let resultDouble :: Double
  8453. 1021.87 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8454. 1021.87 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
  8455. 1021.87 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8456. 1021.87 s [really-safe-money-gen] Double ->
  8457. 1021.87 s [really-safe-money-gen] Maybe Amount
  8458. 1021.87 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8459. 1021.87 s [really-safe-money-gen] - | d < 0 = Nothing
  8460. 1021.87 s [really-safe-money-gen] + | d > 0 = Nothing
  8461. 1021.87 s [really-safe-money-gen] | otherwise =
  8462. 1021.87 s [really-safe-money-gen] let resultDouble :: Double
  8463. 1021.87 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8464. 1021.87 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
  8465. 1021.87 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8466. 1021.87 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8467. 1021.87 s [really-safe-money-gen] in if ceiled == floored
  8468. 1021.87 s [really-safe-money-gen] then
  8469. 1021.87 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8470. 1021.87 s [really-safe-money-gen] + if ceiled < (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8471. 1021.87 s [really-safe-money-gen] then Nothing
  8472. 1021.87 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8473. 1021.87 s [really-safe-money-gen] else Nothing
  8474. 1021.87 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:397:14-31
  8475. 1021.87 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  8476. 1021.87 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8477. 1021.87 s [really-safe-money-gen] floored :: Natural
  8478. 1021.87 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8479. 1021.87 s [really-safe-money-gen] - in if ceiled == floored
  8480. 1021.87 s [really-safe-money-gen] + in if not (ceiled == floored)
  8481. 1021.87 s [really-safe-money-gen] then
  8482. 1021.87 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8483. 1021.87 s [really-safe-money-gen] then Nothing
  8484. 1021.87 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
  8485. 1021.87 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  8486. 1021.87 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8487. 1021.87 s [really-safe-money-gen] floored :: Natural
  8488. 1021.87 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8489. 1021.87 s [really-safe-money-gen] - in if ceiled == floored
  8490. 1021.87 s [really-safe-money-gen] + in if False
  8491. 1021.87 s [really-safe-money-gen] then
  8492. 1021.88 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8493. 1021.88 s [really-safe-money-gen] then Nothing
  8494. 1021.88 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16
  8495. 1021.88 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  8496. 1021.88 s [really-safe-money-gen] in go resultDouble
  8497. 1021.88 s [really-safe-money-gen] where
  8498. 1021.88 s [really-safe-money-gen] go resultDouble
  8499. 1021.88 s [really-safe-money-gen] - | isNaN d = Nothing
  8500. 1021.88 s [really-safe-money-gen] + | True = Nothing
  8501. 1021.88 s [really-safe-money-gen] | isInfinite d = Nothing
  8502. 1021.88 s [really-safe-money-gen] | otherwise =
  8503. 1021.88 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8504. 1021.88 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16
  8505. 1021.88 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  8506. 1021.88 s [really-safe-money-gen] in go resultDouble
  8507. 1021.88 s [really-safe-money-gen] where
  8508. 1021.88 s [really-safe-money-gen] go resultDouble
  8509. 1021.88 s [really-safe-money-gen] - | isNaN d = Nothing
  8510. 1021.88 s [really-safe-money-gen] + | not (isNaN d) = Nothing
  8511. 1021.88 s [really-safe-money-gen] | isInfinite d = Nothing
  8512. 1021.88 s [really-safe-money-gen] | otherwise =
  8513. 1021.88 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8514. 1021.88 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21
  8515. 1021.88 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  8516. 1021.88 s [really-safe-money-gen] where
  8517. 1021.88 s [really-safe-money-gen] go resultDouble
  8518. 1021.88 s [really-safe-money-gen] | isNaN d = Nothing
  8519. 1021.88 s [really-safe-money-gen] - | isInfinite d = Nothing
  8520. 1021.88 s [really-safe-money-gen] + | True = Nothing
  8521. 1021.88 s [really-safe-money-gen] | otherwise =
  8522. 1021.88 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8523. 1021.88 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8524. 1021.88 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21
  8525. 1021.88 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  8526. 1021.88 s [really-safe-money-gen] where
  8527. 1021.88 s [really-safe-money-gen] go resultDouble
  8528. 1021.88 s [really-safe-money-gen] | isNaN d = Nothing
  8529. 1021.89 s [really-safe-money-gen] - | isInfinite d = Nothing
  8530. 1021.89 s [really-safe-money-gen] + | not (isInfinite d) = Nothing
  8531. 1021.89 s [really-safe-money-gen] | otherwise =
  8532. 1021.89 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8533. 1021.89 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8534. 1021.89 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
  8535. 1021.89 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8536. 1021.89 s [really-safe-money-gen] | otherwise =
  8537. 1021.89 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8538. 1021.89 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8539. 1021.89 s [really-safe-money-gen] - if exponent resultDouble > 65
  8540. 1021.89 s [really-safe-money-gen] + if exponent resultDouble > 0
  8541. 1021.89 s [really-safe-money-gen] then Nothing
  8542. 1021.89 s [really-safe-money-gen] else
  8543. 1021.89 s [really-safe-money-gen] let ceiled :: Natural
  8544. 1021.89 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
  8545. 1021.89 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8546. 1027.14 s [really-safe-money-gen] Double ->
  8547. 1027.14 s [really-safe-money-gen] Maybe Amount
  8548. 1027.16 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8549. 1027.16 s [really-safe-money-gen] - | d < 0 = Nothing
  8550. 1027.16 s [really-safe-money-gen] + | d >= 0 = Nothing
  8551. 1027.16 s [really-safe-money-gen] | otherwise =
  8552. 1027.16 s [really-safe-money-gen] let resultDouble :: Double
  8553. 1027.16 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8554. 1027.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10
  8555. 1027.16 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8556. 1027.16 s [really-safe-money-gen] Double ->
  8557. 1027.16 s [really-safe-money-gen] Maybe Amount
  8558. 1027.16 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8559. 1027.16 s [really-safe-money-gen] - | d < 0 = Nothing
  8560. 1027.16 s [really-safe-money-gen] + | True = Nothing
  8561. 1027.16 s [really-safe-money-gen] | otherwise =
  8562. 1027.16 s [really-safe-money-gen] let resultDouble :: Double
  8563. 1027.16 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8564. 1027.17 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:392:28-71
  8565. 1027.17 s [really-safe-money-gen] @@ -389,7 +389,7 @@
  8566. 1027.17 s [really-safe-money-gen] | r < 0 = Nothing
  8567. 1027.17 s [really-safe-money-gen] | otherwise =
  8568. 1027.17 s [really-safe-money-gen] let resultRational :: Rational
  8569. 1027.17 s [really-safe-money-gen] - resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8570. 1027.17 s [really-safe-money-gen] + resultRational = r + (fromIntegral :: Word32 -> Rational) qf
  8571. 1027.17 s [really-safe-money-gen] ceiled :: Natural
  8572. 1027.17 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  8573. 1027.17 s [really-safe-money-gen] floored :: Natural
  8574. 1027.17 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:389:5-10
  8575. 1027.17 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  8576. 1027.17 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  8577. 1027.17 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  8578. 1027.17 s [really-safe-money-gen] | isInvalid r = Nothing
  8579. 1027.17 s [really-safe-money-gen] - | r < 0 = Nothing
  8580. 1027.17 s [really-safe-money-gen] + | not (r < 0) = Nothing
  8581. 1027.17 s [really-safe-money-gen] | otherwise =
  8582. 1027.17 s [really-safe-money-gen] let resultRational :: Rational
  8583. 1027.17 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  8584. 1027.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
  8585. 1027.17 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8586. 1027.17 s [really-safe-money-gen] | otherwise =
  8587. 1027.17 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8588. 1027.17 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8589. 1027.17 s [really-safe-money-gen] - if exponent resultDouble > 65
  8590. 1027.17 s [really-safe-money-gen] + if True
  8591. 1027.17 s [really-safe-money-gen] then Nothing
  8592. 1027.17 s [really-safe-money-gen] else
  8593. 1027.17 s [really-safe-money-gen] let ceiled :: Natural
  8594. 1027.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
  8595. 1027.17 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8596. 1027.17 s [really-safe-money-gen] | otherwise =
  8597. 1027.17 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8598. 1027.17 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8599. 1027.17 s [really-safe-money-gen] - if exponent resultDouble > 65
  8600. 1027.17 s [really-safe-money-gen] + if False
  8601. 1027.17 s [really-safe-money-gen] then Nothing
  8602. 1027.18 s [really-safe-money-gen] else
  8603. 1027.18 s [really-safe-money-gen] let ceiled :: Natural
  8604. 1027.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40
  8605. 1027.18 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8606. 1027.18 s [really-safe-money-gen] | otherwise =
  8607. 1027.18 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8608. 1027.18 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8609. 1027.18 s [really-safe-money-gen] - if exponent resultDouble > 65
  8610. 1027.18 s [really-safe-money-gen] + if not (exponent resultDouble > 65)
  8611. 1027.18 s [really-safe-money-gen] then Nothing
  8612. 1027.18 s [really-safe-money-gen] else
  8613. 1027.18 s [really-safe-money-gen] let ceiled :: Natural
  8614. 1027.18 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
  8615. 1027.18 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8616. 1027.18 s [really-safe-money-gen] | otherwise =
  8617. 1027.18 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8618. 1027.18 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8619. 1027.18 s [really-safe-money-gen] - if exponent resultDouble > 65
  8620. 1027.18 s [really-safe-money-gen] + if exponent resultDouble <= 65
  8621. 1027.18 s [really-safe-money-gen] then Nothing
  8622. 1027.18 s [really-safe-money-gen] else
  8623. 1027.18 s [really-safe-money-gen] let ceiled :: Natural
  8624. 1027.18 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
  8625. 1027.18 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8626. 1027.18 s [really-safe-money-gen] | otherwise =
  8627. 1027.18 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8628. 1027.18 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8629. 1027.18 s [really-safe-money-gen] - if exponent resultDouble > 65
  8630. 1027.18 s [really-safe-money-gen] + if exponent resultDouble < 65
  8631. 1027.18 s [really-safe-money-gen] then Nothing
  8632. 1027.18 s [really-safe-money-gen] else
  8633. 1027.18 s [really-safe-money-gen] let ceiled :: Natural
  8634. 1027.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:476:10-23
  8635. 1027.18 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  8636. 1027.18 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8637. 1027.18 s [really-safe-money-gen] r :: Integer
  8638. 1027.18 s [really-safe-money-gen] r = i1 + i2
  8639. 1027.18 s [really-safe-money-gen] - in if r > maxBoundI
  8640. 1027.18 s [really-safe-money-gen] + in if not (r > maxBoundI)
  8641. 1027.18 s [really-safe-money-gen] then Nothing
  8642. 1027.18 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8643. 1027.18 s [really-safe-money-gen]
  8644. 1027.18 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
  8645. 1027.18 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8646. 1027.18 s [really-safe-money-gen] | otherwise =
  8647. 1027.18 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8648. 1027.18 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8649. 1027.18 s [really-safe-money-gen] - if exponent resultDouble > 65
  8650. 1027.18 s [really-safe-money-gen] + if exponent resultDouble > 1
  8651. 1027.18 s [really-safe-money-gen] then Nothing
  8652. 1027.18 s [really-safe-money-gen] else
  8653. 1027.19 s [really-safe-money-gen] let ceiled :: Natural
  8654. 1027.19 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
  8655. 1027.19 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  8656. 1027.19 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  8657. 1027.19 s [really-safe-money-gen] floored :: Natural
  8658. 1027.19 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8659. 1027.19 s [really-safe-money-gen] - in if ceiled == floored
  8660. 1027.19 s [really-safe-money-gen] + in if False
  8661. 1027.19 s [really-safe-money-gen] then
  8662. 1027.19 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8663. 1027.19 s [really-safe-money-gen] then Nothing
  8664. 1027.19 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
  8665. 1027.19 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8666. 1027.19 s [really-safe-money-gen] | otherwise =
  8667. 1027.19 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8668. 1027.19 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8669. 1027.19 s [really-safe-money-gen] - if exponent resultDouble > 65
  8670. 1027.19 s [really-safe-money-gen] + if exponent resultDouble >= 65
  8671. 1027.19 s [really-safe-money-gen] then Nothing
  8672. 1027.19 s [really-safe-money-gen] else
  8673. 1027.19 s [really-safe-money-gen] let ceiled :: Natural
  8674. 1027.19 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
  8675. 1027.19 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  8676. 1027.19 s [really-safe-money-gen] | otherwise =
  8677. 1027.19 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  8678. 1027.19 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  8679. 1027.19 s [really-safe-money-gen] - if exponent resultDouble > 65
  8680. 1027.19 s [really-safe-money-gen] + if exponent resultDouble > -65
  8681. 1027.19 s [really-safe-money-gen] then Nothing
  8682. 1027.19 s [really-safe-money-gen] else
  8683. 1027.19 s [really-safe-money-gen] let ceiled :: Natural
  8684. 1027.19 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:399:18-83
  8685. 1027.19 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8686. 1027.19 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8687. 1027.19 s [really-safe-money-gen] in if ceiled == floored
  8688. 1027.19 s [really-safe-money-gen] then
  8689. 1027.19 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8690. 1027.19 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  8691. 1027.19 s [really-safe-money-gen] then Nothing
  8692. 1027.19 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8693. 1027.19 s [really-safe-money-gen] else Nothing
  8694. 1027.19 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
  8695. 1027.19 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  8696. 1027.19 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  8697. 1027.19 s [really-safe-money-gen] floored :: Natural
  8698. 1027.19 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8699. 1027.19 s [really-safe-money-gen] - in if ceiled == floored
  8700. 1027.19 s [really-safe-money-gen] + in if True
  8701. 1027.19 s [really-safe-money-gen] then
  8702. 1027.19 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8703. 1027.19 s [really-safe-money-gen] then Nothing
  8704. 1033.53 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
  8705. 1033.53 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8706. 1033.53 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8707. 1033.55 s [really-safe-money-gen] in if ceiled == floored
  8708. 1033.55 s [really-safe-money-gen] then
  8709. 1033.55 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8710. 1033.56 s [really-safe-money-gen] + if ceiled < (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8711. 1033.56 s [really-safe-money-gen] then Nothing
  8712. 1033.56 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8713. 1033.56 s [really-safe-money-gen] else Nothing
  8714. 1033.56 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10
  8715. 1033.56 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8716. 1033.56 s [really-safe-money-gen] Double ->
  8717. 1033.56 s [really-safe-money-gen] Maybe Amount
  8718. 1033.56 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8719. 1033.56 s [really-safe-money-gen] - | d < 0 = Nothing
  8720. 1033.56 s [really-safe-money-gen] + | not (d < 0) = Nothing
  8721. 1033.56 s [really-safe-money-gen] | otherwise =
  8722. 1033.56 s [really-safe-money-gen] let resultDouble :: Double
  8723. 1033.56 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8724. 1033.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
  8725. 1033.56 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8726. 1033.56 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8727. 1033.56 s [really-safe-money-gen] in if ceiled == floored
  8728. 1033.56 s [really-safe-money-gen] then
  8729. 1033.56 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8730. 1033.56 s [really-safe-money-gen] + if True
  8731. 1033.56 s [really-safe-money-gen] then Nothing
  8732. 1033.56 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8733. 1033.56 s [really-safe-money-gen] else Nothing
  8734. 1033.56 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:323:26-67
  8735. 1033.56 s [really-safe-money-gen] @@ -320,7 +320,7 @@
  8736. 1033.56 s [really-safe-money-gen] | d < 0 = Nothing
  8737. 1033.56 s [really-safe-money-gen] | otherwise =
  8738. 1033.56 s [really-safe-money-gen] let resultDouble :: Double
  8739. 1033.57 s [really-safe-money-gen] - resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8740. 1033.57 s [really-safe-money-gen] + resultDouble = d + (fromIntegral :: Word32 -> Double) qf
  8741. 1033.57 s [really-safe-money-gen] in go resultDouble
  8742. 1033.57 s [really-safe-money-gen] where
  8743. 1033.57 s [really-safe-money-gen] go resultDouble
  8744. 1033.57 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91
  8745. 1033.57 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8746. 1033.57 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8747. 1033.57 s [really-safe-money-gen] in if ceiled == floored
  8748. 1033.57 s [really-safe-money-gen] then
  8749. 1033.57 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8750. 1033.57 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  8751. 1033.57 s [really-safe-money-gen] then Nothing
  8752. 1033.57 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8753. 1033.57 s [really-safe-money-gen] else Nothing
  8754. 1033.57 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:494:29-94
  8755. 1033.57 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  8756. 1033.57 s [really-safe-money-gen] let maxBoundI :: Integer
  8757. 1033.57 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8758. 1033.57 s [really-safe-money-gen] r :: Integer
  8759. 1033.57 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8760. 1033.57 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) - acc) 0 l
  8761. 1033.57 s [really-safe-money-gen] in if r > maxBoundI
  8762. 1033.57 s [really-safe-money-gen] then Nothing
  8763. 1033.57 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8764. 1033.57 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
  8765. 1033.57 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8766. 1033.57 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8767. 1033.57 s [really-safe-money-gen] r :: Integer
  8768. 1033.57 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8769. 1033.57 s [really-safe-money-gen] - in if r > maxBoundI
  8770. 1033.57 s [really-safe-money-gen] + in if r < maxBoundI
  8771. 1033.57 s [really-safe-money-gen] then Nothing
  8772. 1033.57 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8773. 1033.57 s [really-safe-money-gen]
  8774. 1033.57 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80
  8775. 1033.57 s [really-safe-money-gen] @@ -287,7 +287,7 @@
  8776. 1033.58 s [really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
  8777. 1033.58 s [really-safe-money-gen] -- 1 % 100
  8778. 1033.58 s [really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
  8779. 1033.58 s [really-safe-money-gen] -toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
  8780. 1033.58 s [really-safe-money-gen] +toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
  8781. 1033.58 s [really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
  8782. 1033.58 s [really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
  8783. 1033.58 s [really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
  8784. 1033.58 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39
  8785. 1033.58 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  8786. 1033.58 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  8787. 1033.58 s [really-safe-money-gen] floored :: Natural
  8788. 1033.58 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8789. 1033.58 s [really-safe-money-gen] - in if ceiled == floored
  8790. 1033.58 s [really-safe-money-gen] + in if not (ceiled == floored)
  8791. 1033.58 s [really-safe-money-gen] then
  8792. 1033.58 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8793. 1033.58 s [really-safe-money-gen] then Nothing
  8794. 1033.58 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
  8795. 1033.58 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8796. 1033.58 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8797. 1033.58 s [really-safe-money-gen] r :: Integer
  8798. 1033.58 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8799. 1033.58 s [really-safe-money-gen] - in if r > maxBoundI
  8800. 1033.58 s [really-safe-money-gen] + in if r <= maxBoundI
  8801. 1033.58 s [really-safe-money-gen] then Nothing
  8802. 1033.58 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8803. 1033.58 s [really-safe-money-gen]
  8804. 1033.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
  8805. 1033.58 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  8806. 1033.58 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  8807. 1033.58 s [really-safe-money-gen] r :: Integer
  8808. 1033.58 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  8809. 1033.58 s [really-safe-money-gen] - in if r > maxBoundI
  8810. 1033.58 s [really-safe-money-gen] + in if True
  8811. 1033.58 s [really-safe-money-gen] then Nothing
  8812. 1033.58 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  8813. 1033.58 s [really-safe-money-gen]
  8814. 1033.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
  8815. 1033.58 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  8816. 1033.58 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  8817. 1033.58 s [really-safe-money-gen] in if ceiled == floored
  8818. 1033.58 s [really-safe-money-gen] then
  8819. 1033.58 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8820. 1033.59 s [really-safe-money-gen] + if False
  8821. 1033.59 s [really-safe-money-gen] then Nothing
  8822. 1033.59 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8823. 1033.59 s [really-safe-money-gen] else Nothing
  8824. 1033.59 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10
  8825. 1033.59 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  8826. 1033.59 s [really-safe-money-gen] Double ->
  8827. 1033.59 s [really-safe-money-gen] Maybe Amount
  8828. 1033.59 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  8829. 1033.59 s [really-safe-money-gen] - | d < 0 = Nothing
  8830. 1033.59 s [really-safe-money-gen] + | d < 1 = Nothing
  8831. 1033.59 s [really-safe-money-gen] | otherwise =
  8832. 1033.59 s [really-safe-money-gen] let resultDouble :: Double
  8833. 1033.59 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  8834. 1033.59 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
  8835. 1033.59 s [really-safe-money-gen] @@ -665,10 +665,9 @@
  8836. 1033.59 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8837. 1033.59 s [really-safe-money-gen] theoreticalResult = amountAsRatio * f
  8838. 1033.59 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8839. 1033.59 s [really-safe-money-gen] rounder = case r of
  8840. 1033.59 s [really-safe-money-gen] - RoundUp -> ceiling
  8841. 1033.59 s [really-safe-money-gen] RoundDown -> floor
  8842. 1033.59 s [really-safe-money-gen] RoundNearest -> round
  8843. 1033.59 s [really-safe-money-gen] roundedResult :: Natural
  8844. 1033.59 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  8845. 1033.59 s [really-safe-money-gen] actualRate :: Ratio Natural
  8846. 1033.59 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
  8847. 1033.59 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8848. 1033.59 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8849. 1033.59 s [really-safe-money-gen] in if ceiled == floored
  8850. 1033.59 s [really-safe-money-gen] then
  8851. 1033.59 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8852. 1033.59 s [really-safe-money-gen] + if False
  8853. 1033.59 s [really-safe-money-gen] then Nothing
  8854. 1033.59 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8855. 1033.59 s [really-safe-money-gen] else Nothing
  8856. 1038.87 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
  8857. 1038.87 s [really-safe-money-gen] @@ -665,10 +665,9 @@
  8858. 1038.90 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8859. 1038.90 s [really-safe-money-gen] theoreticalResult = amountAsRatio * f
  8860. 1038.90 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8861. 1038.90 s [really-safe-money-gen] rounder = case r of
  8862. 1038.90 s [really-safe-money-gen] RoundUp -> ceiling
  8863. 1038.90 s [really-safe-money-gen] RoundDown -> floor
  8864. 1038.90 s [really-safe-money-gen] - RoundNearest -> round
  8865. 1038.90 s [really-safe-money-gen] roundedResult :: Natural
  8866. 1038.90 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  8867. 1038.90 s [really-safe-money-gen] actualRate :: Ratio Natural
  8868. 1038.90 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
  8869. 1038.90 s [really-safe-money-gen] @@ -665,10 +665,9 @@
  8870. 1038.90 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8871. 1038.90 s [really-safe-money-gen] theoreticalResult = amountAsRatio * f
  8872. 1038.90 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8873. 1038.90 s [really-safe-money-gen] rounder = case r of
  8874. 1038.90 s [really-safe-money-gen] RoundUp -> ceiling
  8875. 1038.90 s [really-safe-money-gen] - RoundDown -> floor
  8876. 1038.90 s [really-safe-money-gen] RoundNearest -> round
  8877. 1038.90 s [really-safe-money-gen] roundedResult :: Natural
  8878. 1038.90 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  8879. 1038.90 s [really-safe-money-gen] actualRate :: Ratio Natural
  8880. 1038.90 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
  8881. 1038.90 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  8882. 1038.90 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  8883. 1038.90 s [really-safe-money-gen] in if ceiled == floored
  8884. 1038.90 s [really-safe-money-gen] then
  8885. 1038.90 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8886. 1038.91 s [really-safe-money-gen] + if ceiled >= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  8887. 1038.91 s [really-safe-money-gen] then Nothing
  8888. 1038.91 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  8889. 1038.91 s [really-safe-money-gen] else Nothing
  8890. 1038.91 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31
  8891. 1038.91 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  8892. 1038.91 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  8893. 1038.91 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  8894. 1038.91 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  8895. 1038.91 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  8896. 1038.91 s [really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
  8897. 1038.91 s [really-safe-money-gen] fraction r (Amount a) f =
  8898. 1038.91 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  8899. 1038.91 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  8900. 1038.91 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:666:27-44
  8901. 1038.91 s [really-safe-money-gen] @@ -663,7 +663,7 @@
  8902. 1038.91 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  8903. 1038.91 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  8904. 1038.91 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8905. 1038.91 s [really-safe-money-gen] - theoreticalResult = amountAsRatio * f
  8906. 1038.91 s [really-safe-money-gen] + theoreticalResult = amountAsRatio + f
  8907. 1038.91 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8908. 1038.91 s [really-safe-money-gen] rounder = case r of
  8909. 1038.91 s [really-safe-money-gen] RoundUp -> ceiling
  8910. 1038.91 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:666:27-44
  8911. 1038.91 s [really-safe-money-gen] @@ -663,7 +663,7 @@
  8912. 1038.91 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  8913. 1038.91 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  8914. 1038.91 s [really-safe-money-gen] theoreticalResult :: Ratio Natural
  8915. 1038.91 s [really-safe-money-gen] - theoreticalResult = amountAsRatio * f
  8916. 1038.91 s [really-safe-money-gen] + theoreticalResult = amountAsRatio - f
  8917. 1038.91 s [really-safe-money-gen] rounder :: Ratio Natural -> Natural
  8918. 1038.91 s [really-safe-money-gen] rounder = case r of
  8919. 1038.91 s [really-safe-money-gen] RoundUp -> ceiling
  8920. 1038.91 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
  8921. 1038.91 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  8922. 1038.91 s [really-safe-money-gen] maxBoundN :: Natural
  8923. 1038.91 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  8924. 1038.91 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  8925. 1038.91 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  8926. 1038.91 s [really-safe-money-gen] + in ( if roundedResult < maxBoundN
  8927. 1038.91 s [really-safe-money-gen] then Nothing
  8928. 1038.92 s [really-safe-money-gen] else Just result,
  8929. 1038.92 s [really-safe-money-gen] actualRate
  8930. 1038.92 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
  8931. 1038.92 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  8932. 1038.92 s [really-safe-money-gen] maxBoundN :: Natural
  8933. 1038.92 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  8934. 1038.92 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  8935. 1038.92 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  8936. 1038.92 s [really-safe-money-gen] + in ( if roundedResult <= maxBoundN
  8937. 1038.92 s [really-safe-money-gen] then Nothing
  8938. 1038.92 s [really-safe-money-gen] else Just result,
  8939. 1038.92 s [really-safe-money-gen] actualRate
  8940. 1038.92 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
  8941. 1038.92 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  8942. 1038.92 s [really-safe-money-gen] maxBoundN :: Natural
  8943. 1038.92 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  8944. 1038.92 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  8945. 1038.92 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  8946. 1038.92 s [really-safe-money-gen] + in ( if roundedResult >= maxBoundN
  8947. 1038.92 s [really-safe-money-gen] then Nothing
  8948. 1038.92 s [really-safe-money-gen] else Just result,
  8949. 1038.92 s [really-safe-money-gen] actualRate
  8950. 1038.92 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
  8951. 1038.92 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  8952. 1038.92 s [really-safe-money-gen] maxBoundN :: Natural
  8953. 1038.92 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  8954. 1038.92 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  8955. 1038.92 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  8956. 1038.92 s [really-safe-money-gen] + in ( if True
  8957. 1038.92 s [really-safe-money-gen] then Nothing
  8958. 1038.92 s [really-safe-money-gen] else Just result,
  8959. 1038.92 s [really-safe-money-gen] actualRate
  8960. 1038.92 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
  8961. 1038.92 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  8962. 1038.92 s [really-safe-money-gen] maxBoundN :: Natural
  8963. 1038.92 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  8964. 1038.92 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  8965. 1038.92 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  8966. 1038.92 s [really-safe-money-gen] + in ( if False
  8967. 1038.92 s [really-safe-money-gen] then Nothing
  8968. 1038.92 s [really-safe-money-gen] else Just result,
  8969. 1038.92 s [really-safe-money-gen] actualRate
  8970. 1038.92 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:661:19-28
  8971. 1038.92 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  8972. 1038.92 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  8973. 1038.92 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  8974. 1038.92 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  8975. 1038.92 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  8976. 1038.92 s [really-safe-money-gen] +fraction _ _ 0 = (Nothing, 0)
  8977. 1038.92 s [really-safe-money-gen] fraction r (Amount a) f =
  8978. 1038.92 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  8979. 1038.92 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  8980. 1038.92 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:762:40-49
  8981. 1038.92 s [really-safe-money-gen] @@ -759,7 +759,7 @@
  8982. 1038.92 s [really-safe-money-gen] let qf1r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf1)
  8983. 1038.92 s [really-safe-money-gen] qf2r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf2)
  8984. 1038.92 s [really-safe-money-gen] (ma, ar) = fraction rounding a (ConversionRate.conversionFactor qf1 cr qf2)
  8985. 1038.92 s [really-safe-money-gen] - in (ma, ConversionRate.fromRatio (ar * qf1r / qf2r))
  8986. 1038.92 s [really-safe-money-gen] + in (ma, ConversionRate.fromRatio (ar - qf1r / qf2r))
  8987. 1038.92 s [really-safe-money-gen]
  8988. 1038.92 s [really-safe-money-gen] -- | Format an amount of money without a symbol.
  8989. 1038.92 s [really-safe-money-gen] --
  8990. 1038.92 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:683:16-27
  8991. 1038.92 s [really-safe-money-gen] @@ -680,7 +680,7 @@
  8992. 1038.92 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  8993. 1038.92 s [really-safe-money-gen] in ( if roundedResult > maxBoundN
  8994. 1038.92 s [really-safe-money-gen] then Nothing
  8995. 1038.92 s [really-safe-money-gen] - else Just result,
  8996. 1038.92 s [really-safe-money-gen] + else Nothing,
  8997. 1038.93 s [really-safe-money-gen] actualRate
  8998. 1038.93 s [really-safe-money-gen] )
  8999. 1038.93 s [really-safe-money-gen]
  9000. 1038.93 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37
  9001. 1038.93 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  9002. 1038.93 s [really-safe-money-gen] maxBoundN :: Natural
  9003. 1038.93 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9004. 1038.93 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  9005. 1038.93 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  9006. 1038.93 s [really-safe-money-gen] + in ( if not (roundedResult > maxBoundN)
  9007. 1038.93 s [really-safe-money-gen] then Nothing
  9008. 1038.93 s [really-safe-money-gen] else Just result,
  9009. 1038.93 s [really-safe-money-gen] actualRate
  9010. 1038.93 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
  9011. 1038.93 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  9012. 1038.93 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  9013. 1038.93 s [really-safe-money-gen] in if ceiled == floored
  9014. 1038.93 s [really-safe-money-gen] then
  9015. 1038.93 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  9016. 1038.93 s [really-safe-money-gen] + if ceiled >= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  9017. 1038.93 s [really-safe-money-gen] then Nothing
  9018. 1038.93 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  9019. 1038.93 s [really-safe-money-gen] else Nothing
  9020. 1038.93 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:762:40-49
  9021. 1038.93 s [really-safe-money-gen] @@ -759,7 +759,7 @@
  9022. 1044.02 s [really-safe-money-gen] let qf1r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf1)
  9023. 1044.05 s [really-safe-money-gen] qf2r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf2)
  9024. 1044.05 s [really-safe-money-gen] (ma, ar) = fraction rounding a (ConversionRate.conversionFactor qf1 cr qf2)
  9025. 1044.05 s [really-safe-money-gen] - in (ma, ConversionRate.fromRatio (ar * qf1r / qf2r))
  9026. 1044.05 s [really-safe-money-gen] + in (ma, ConversionRate.fromRatio (ar + qf1r / qf2r))
  9027. 1044.05 s [really-safe-money-gen]
  9028. 1044.05 s [really-safe-money-gen] -- | Format an amount of money without a symbol.
  9029. 1044.05 s [really-safe-money-gen] --
  9030. 1044.05 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
  9031. 1044.05 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9032. 1044.05 s [really-safe-money-gen]
  9033. 1044.05 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9034. 1044.05 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9035. 1044.05 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9036. 1044.05 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount < zero
  9037. 1044.05 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
  9038. 1044.05 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9039. 1044.05 s [really-safe-money-gen]
  9040. 1044.05 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9041. 1044.05 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9042. 1044.05 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9043. 1044.05 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount >= zero
  9044. 1044.05 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:497:14-66
  9045. 1044.05 s [really-safe-money-gen] @@ -494,7 +494,7 @@
  9046. 1044.05 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9047. 1044.05 s [really-safe-money-gen] in if r > maxBoundI
  9048. 1044.05 s [really-safe-money-gen] then Nothing
  9049. 1044.05 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9050. 1044.06 s [really-safe-money-gen] + else Nothing
  9051. 1044.06 s [really-safe-money-gen]
  9052. 1044.06 s [really-safe-money-gen] -- | Add two amounts of money.
  9053. 1044.06 s [really-safe-money-gen] --
  9054. 1044.06 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:660:28-37
  9055. 1044.06 s [really-safe-money-gen] @@ -657,7 +657,7 @@
  9056. 1044.06 s [really-safe-money-gen] Ratio Natural ->
  9057. 1044.06 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  9058. 1044.06 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  9059. 1044.06 s [really-safe-money-gen] -fraction _ (Amount 0) f = (Just zero, f)
  9060. 1044.06 s [really-safe-money-gen] +fraction _ (Amount 0) f = (Nothing, f)
  9061. 1044.06 s [really-safe-money-gen] fraction _ _ 0 = (Just zero, 0)
  9062. 1044.06 s [really-safe-money-gen] fraction r (Amount a) f =
  9063. 1044.06 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  9064. 1044.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
  9065. 1044.06 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  9066. 1044.06 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9067. 1044.06 s [really-safe-money-gen] r :: Integer
  9068. 1044.06 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9069. 1044.06 s [really-safe-money-gen] - in if r > maxBoundI
  9070. 1044.06 s [really-safe-money-gen] + in if False
  9071. 1044.06 s [really-safe-money-gen] then Nothing
  9072. 1044.06 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9073. 1044.06 s [really-safe-money-gen]
  9074. 1044.06 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23
  9075. 1044.06 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  9076. 1044.06 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9077. 1044.06 s [really-safe-money-gen] r :: Integer
  9078. 1044.06 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9079. 1044.06 s [really-safe-money-gen] - in if r > maxBoundI
  9080. 1044.06 s [really-safe-money-gen] + in if not (r > maxBoundI)
  9081. 1044.06 s [really-safe-money-gen] then Nothing
  9082. 1044.06 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9083. 1044.06 s [really-safe-money-gen]
  9084. 1044.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
  9085. 1044.06 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9086. 1044.06 s [really-safe-money-gen] case ad of
  9087. 1044.06 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9088. 1044.06 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9089. 1044.06 s [really-safe-money-gen] - a1 > a2
  9090. 1044.06 s [really-safe-money-gen] + True
  9091. 1044.07 s [really-safe-money-gen] _ -> valid
  9092. 1044.07 s [really-safe-money-gen] ]
  9093. 1044.07 s [really-safe-money-gen]
  9094. 1044.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
  9095. 1044.07 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9096. 1044.07 s [really-safe-money-gen] case ad of
  9097. 1044.07 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9098. 1044.07 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9099. 1044.07 s [really-safe-money-gen] - a1 > a2
  9100. 1044.07 s [really-safe-money-gen] + False
  9101. 1044.07 s [really-safe-money-gen] _ -> valid
  9102. 1044.07 s [really-safe-money-gen] ]
  9103. 1044.07 s [really-safe-money-gen]
  9104. 1044.07 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22
  9105. 1044.07 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9106. 1044.07 s [really-safe-money-gen] case ad of
  9107. 1044.07 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9108. 1044.07 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9109. 1044.07 s [really-safe-money-gen] - a1 > a2
  9110. 1044.07 s [really-safe-money-gen] + not (a1 > a2)
  9111. 1044.07 s [really-safe-money-gen] _ -> valid
  9112. 1044.07 s [really-safe-money-gen] ]
  9113. 1044.07 s [really-safe-money-gen]
  9114. 1044.07 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
  9115. 1044.07 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9116. 1044.07 s [really-safe-money-gen] case ad of
  9117. 1044.07 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9118. 1044.07 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9119. 1044.07 s [really-safe-money-gen] - a1 > a2
  9120. 1044.07 s [really-safe-money-gen] + a1 >= a2
  9121. 1044.07 s [really-safe-money-gen] _ -> valid
  9122. 1044.07 s [really-safe-money-gen] ]
  9123. 1044.07 s [really-safe-money-gen]
  9124. 1044.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
  9125. 1044.07 s [really-safe-money-gen] @@ -601,11 +601,8 @@
  9126. 1044.07 s [really-safe-money-gen] validate ad =
  9127. 1044.07 s [really-safe-money-gen] mconcat
  9128. 1044.07 s [really-safe-money-gen] [ genericValidate ad,
  9129. 1044.07 s [really-safe-money-gen] case ad of
  9130. 1044.07 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  9131. 1044.07 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  9132. 1044.07 s [really-safe-money-gen] - a1 > a2
  9133. 1044.07 s [really-safe-money-gen] _ -> valid
  9134. 1044.07 s [really-safe-money-gen] ]
  9135. 1044.07 s [really-safe-money-gen]
  9136. 1044.07 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9137. 1044.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
  9138. 1044.07 s [really-safe-money-gen] @@ -601,11 +601,10 @@
  9139. 1044.07 s [really-safe-money-gen] validate ad =
  9140. 1044.08 s [really-safe-money-gen] mconcat
  9141. 1044.08 s [really-safe-money-gen] [ genericValidate ad,
  9142. 1044.08 s [really-safe-money-gen] case ad of
  9143. 1044.08 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9144. 1044.08 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9145. 1044.08 s [really-safe-money-gen] a1 > a2
  9146. 1044.08 s [really-safe-money-gen] - _ -> valid
  9147. 1044.08 s [really-safe-money-gen] ]
  9148. 1044.08 s [really-safe-money-gen]
  9149. 1044.08 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9150. 1044.08 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
  9151. 1044.08 s [really-safe-money-gen] @@ -600,13 +600,7 @@
  9152. 1044.08 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  9153. 1044.08 s [really-safe-money-gen] validate ad =
  9154. 1044.08 s [really-safe-money-gen] mconcat
  9155. 1044.08 s [really-safe-money-gen] - [ genericValidate ad,
  9156. 1044.08 s [really-safe-money-gen] - case ad of
  9157. 1044.08 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  9158. 1044.08 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  9159. 1044.08 s [really-safe-money-gen] - a1 > a2
  9160. 1044.08 s [really-safe-money-gen] - _ -> valid
  9161. 1044.08 s [really-safe-money-gen] ]
  9162. 1044.08 s [really-safe-money-gen]
  9163. 1044.08 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9164. 1044.08 s [really-safe-money-gen]
  9165. 1044.08 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
  9166. 1044.08 s [really-safe-money-gen] @@ -600,13 +600,12 @@
  9167. 1044.08 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  9168. 1044.08 s [really-safe-money-gen] validate ad =
  9169. 1044.08 s [really-safe-money-gen] mconcat
  9170. 1044.08 s [really-safe-money-gen] - [ genericValidate ad,
  9171. 1044.08 s [really-safe-money-gen] case ad of
  9172. 1044.08 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9173. 1044.08 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9174. 1044.08 s [really-safe-money-gen] a1 > a2
  9175. 1044.08 s [really-safe-money-gen] _ -> valid
  9176. 1044.08 s [really-safe-money-gen] ]
  9177. 1044.08 s [really-safe-money-gen]
  9178. 1044.08 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  9179. 1044.08 s [really-safe-money-gen]
  9180. 1044.08 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
  9181. 1044.08 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9182. 1044.08 s [really-safe-money-gen] case ad of
  9183. 1044.08 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9184. 1044.08 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9185. 1044.08 s [really-safe-money-gen] - a1 > a2
  9186. 1044.08 s [really-safe-money-gen] + a1 <= a2
  9187. 1044.08 s [really-safe-money-gen] _ -> valid
  9188. 1044.08 s [really-safe-money-gen] ]
  9189. 1044.08 s [really-safe-money-gen]
  9190. 1044.08 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92
  9191. 1044.08 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9192. 1044.08 s [really-safe-money-gen]
  9193. 1044.08 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9194. 1044.08 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9195. 1044.08 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9196. 1044.08 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
  9197. 1044.08 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
  9198. 1044.08 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9199. 1044.08 s [really-safe-money-gen]
  9200. 1044.09 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9201. 1044.09 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9202. 1044.09 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9203. 1048.71 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ True
  9204. 1048.71 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
  9205. 1048.71 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9206. 1048.71 s [really-safe-money-gen]
  9207. 1048.71 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9208. 1048.71 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9209. 1048.71 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9210. 1048.71 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
  9211. 1048.71 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:543:11-88
  9212. 1048.71 s [really-safe-money-gen] @@ -540,7 +540,7 @@
  9213. 1048.71 s [really-safe-money-gen] let maxBoundI :: Integer
  9214. 1048.71 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  9215. 1048.71 s [really-safe-money-gen] r :: Integer
  9216. 1048.71 s [really-safe-money-gen] - r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  9217. 1048.71 s [really-safe-money-gen] + r = (fromIntegral :: Word32 -> Integer) f + (fromIntegral :: Word64 -> Integer) a
  9218. 1048.71 s [really-safe-money-gen] in if r > maxBoundI
  9219. 1048.71 s [really-safe-money-gen] then Nothing
  9220. 1048.71 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9221. 1048.71 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
  9222. 1048.71 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  9223. 1048.71 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  9224. 1048.71 s [really-safe-money-gen] in if ceiled == floored
  9225. 1048.71 s [really-safe-money-gen] then
  9226. 1048.71 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  9227. 1048.71 s [really-safe-money-gen] + if ceiled <= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  9228. 1048.71 s [really-safe-money-gen] then Nothing
  9229. 1048.71 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  9230. 1048.71 s [really-safe-money-gen] else Nothing
  9231. 1048.71 s [really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  9232. 1048.71 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9233. 1048.71 s [really-safe-money-gen] maxBoundN :: Natural
  9234. 1048.71 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9235. 1048.71 s [really-safe-money-gen] actualResult =
  9236. 1048.71 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9237. 1048.72 s [really-safe-money-gen] + if roundedResult < maxBoundN
  9238. 1048.72 s [really-safe-money-gen] then Nothing
  9239. 1048.72 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9240. 1048.72 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9241. 1048.72 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:323:26-67
  9242. 1048.72 s [really-safe-money-gen] @@ -320,7 +320,7 @@
  9243. 1048.72 s [really-safe-money-gen] | d < 0 = Nothing
  9244. 1048.72 s [really-safe-money-gen] | otherwise =
  9245. 1048.72 s [really-safe-money-gen] let resultDouble :: Double
  9246. 1048.72 s [really-safe-money-gen] - resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  9247. 1048.72 s [really-safe-money-gen] + resultDouble = d - (fromIntegral :: Word32 -> Double) qf
  9248. 1048.72 s [really-safe-money-gen] in go resultDouble
  9249. 1048.72 s [really-safe-money-gen] where
  9250. 1048.72 s [really-safe-money-gen] go resultDouble
  9251. 1048.72 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:577:39-63
  9252. 1048.72 s [really-safe-money-gen] @@ -574,7 +574,7 @@
  9253. 1048.72 s [really-safe-money-gen] numberOfLargerChunks :: Word32
  9254. 1048.72 s [really-safe-money-gen] numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
  9255. 1048.72 s [really-safe-money-gen] numberOfSmallerChunks :: Word32
  9256. 1048.72 s [really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
  9257. 1048.72 s [really-safe-money-gen] + numberOfSmallerChunks = f + numberOfLargerChunks
  9258. 1048.72 s [really-safe-money-gen] largerChunk :: Amount
  9259. 1048.72 s [really-safe-money-gen] largerChunk = Amount $ succ smallerChunkSize
  9260. 1048.72 s [really-safe-money-gen] in DistributedIntoUnequalChunks
  9261. 1048.72 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  9262. 1048.72 s [really-safe-money-gen] @@ -156,10 +156,9 @@
  9263. 1048.72 s [really-safe-money-gen] fmap
  9264. 1048.72 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9265. 1048.72 s [really-safe-money-gen] let rounder :: Ratio Natural -> Natural
  9266. 1048.72 s [really-safe-money-gen] rounder = case r of
  9267. 1048.72 s [really-safe-money-gen] RoundUp -> ceiling
  9268. 1048.72 s [really-safe-money-gen] - RoundDown -> floor
  9269. 1048.72 s [really-safe-money-gen] RoundNearest -> round
  9270. 1048.72 s [really-safe-money-gen] roundedResult :: Natural
  9271. 1048.72 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9272. 1048.73 s [really-safe-money-gen] maxBoundN :: Natural
  9273. 1048.73 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  9274. 1048.73 s [really-safe-money-gen] @@ -156,10 +156,9 @@
  9275. 1048.73 s [really-safe-money-gen] fmap
  9276. 1048.73 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9277. 1048.73 s [really-safe-money-gen] let rounder :: Ratio Natural -> Natural
  9278. 1048.73 s [really-safe-money-gen] rounder = case r of
  9279. 1048.73 s [really-safe-money-gen] RoundUp -> ceiling
  9280. 1048.73 s [really-safe-money-gen] RoundDown -> floor
  9281. 1048.73 s [really-safe-money-gen] - RoundNearest -> round
  9282. 1048.73 s [really-safe-money-gen] roundedResult :: Natural
  9283. 1048.73 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9284. 1048.73 s [really-safe-money-gen] maxBoundN :: Natural
  9285. 1048.73 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
  9286. 1048.73 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  9287. 1048.73 s [really-safe-money-gen]
  9288. 1048.73 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  9289. 1048.73 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  9290. 1048.73 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  9291. 1048.73 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount <= zero
  9292. 1048.73 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
  9293. 1048.73 s [really-safe-money-gen] @@ -156,10 +156,9 @@
  9294. 1048.73 s [really-safe-money-gen] fmap
  9295. 1048.73 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9296. 1048.73 s [really-safe-money-gen] let rounder :: Ratio Natural -> Natural
  9297. 1048.73 s [really-safe-money-gen] rounder = case r of
  9298. 1048.73 s [really-safe-money-gen] - RoundUp -> ceiling
  9299. 1048.73 s [really-safe-money-gen] RoundDown -> floor
  9300. 1048.73 s [really-safe-money-gen] RoundNearest -> round
  9301. 1048.73 s [really-safe-money-gen] roundedResult :: Natural
  9302. 1048.73 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9303. 1048.73 s [really-safe-money-gen] maxBoundN :: Natural
  9304. 1048.73 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  9305. 1048.73 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9306. 1048.73 s [really-safe-money-gen] maxBoundN :: Natural
  9307. 1048.73 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9308. 1048.73 s [really-safe-money-gen] actualResult =
  9309. 1048.73 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9310. 1048.73 s [really-safe-money-gen] + if True
  9311. 1048.73 s [really-safe-money-gen] then Nothing
  9312. 1048.73 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9313. 1048.73 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9314. 1048.73 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
  9315. 1048.73 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  9316. 1048.73 s [really-safe-money-gen] case ad of
  9317. 1048.73 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  9318. 1048.73 s [really-safe-money-gen] declare "The larger chunks are larger" $
  9319. 1048.74 s [really-safe-money-gen] - a1 > a2
  9320. 1048.74 s [really-safe-money-gen] + a1 < a2
  9321. 1048.74 s [really-safe-money-gen] _ -> valid
  9322. 1048.74 s [really-safe-money-gen] ]
  9323. 1048.74 s [really-safe-money-gen]
  9324. 1048.74 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
  9325. 1048.74 s [really-safe-money-gen] @@ -167,7 +167,7 @@
  9326. 1048.74 s [really-safe-money-gen] actualResult =
  9327. 1048.74 s [really-safe-money-gen] if roundedResult > maxBoundN
  9328. 1048.74 s [really-safe-money-gen] then Nothing
  9329. 1048.74 s [really-safe-money-gen] - else Just (fromIntegral roundedResult)
  9330. 1048.74 s [really-safe-money-gen] + else Nothing
  9331. 1048.74 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9332. 1048.74 s [really-safe-money-gen] LT -> RoundedDown
  9333. 1048.74 s [really-safe-money-gen] EQ -> DidNotRound
  9334. 1048.74 s [really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  9335. 1048.74 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9336. 1048.74 s [really-safe-money-gen] maxBoundN :: Natural
  9337. 1048.74 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9338. 1048.74 s [really-safe-money-gen] actualResult =
  9339. 1048.74 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9340. 1048.74 s [really-safe-money-gen] + if roundedResult >= maxBoundN
  9341. 1048.74 s [really-safe-money-gen] then Nothing
  9342. 1048.74 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9343. 1048.74 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9344. 1048.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  9345. 1048.74 s [really-safe-money-gen] @@ -168,10 +168,9 @@
  9346. 1048.74 s [really-safe-money-gen] if roundedResult > maxBoundN
  9347. 1048.74 s [really-safe-money-gen] then Nothing
  9348. 1048.74 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9349. 1048.74 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9350. 1048.74 s [really-safe-money-gen] LT -> RoundedDown
  9351. 1048.74 s [really-safe-money-gen] - EQ -> DidNotRound
  9352. 1048.74 s [really-safe-money-gen] GT -> RoundedUp
  9353. 1048.74 s [really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
  9354. 1048.74 s [really-safe-money-gen] )
  9355. 1048.74 s [really-safe-money-gen] . Prelude.sum
  9356. 1048.74 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  9357. 1048.75 s [really-safe-money-gen] @@ -168,10 +168,9 @@
  9358. 1048.75 s [really-safe-money-gen] if roundedResult > maxBoundN
  9359. 1048.75 s [really-safe-money-gen] then Nothing
  9360. 1048.75 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9361. 1048.75 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9362. 1053.20 s [really-safe-money-gen] LT -> RoundedDown
  9363. 1053.20 s [really-safe-money-gen] EQ -> DidNotRound
  9364. 1053.20 s [really-safe-money-gen] - GT -> RoundedUp
  9365. 1053.27 s [really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
  9366. 1053.27 s [really-safe-money-gen] )
  9367. 1053.27 s [really-safe-money-gen] . Prelude.sum
  9368. 1053.27 s [really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
  9369. 1053.27 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9370. 1053.27 s [really-safe-money-gen] maxBoundN :: Natural
  9371. 1053.28 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9372. 1053.28 s [really-safe-money-gen] actualResult =
  9373. 1053.28 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9374. 1053.28 s [really-safe-money-gen] + if roundedResult <= maxBoundN
  9375. 1053.28 s [really-safe-money-gen] then Nothing
  9376. 1053.28 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9377. 1053.28 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9378. 1053.28 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
  9379. 1053.28 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9380. 1053.28 s [really-safe-money-gen] maxBoundN :: Natural
  9381. 1053.28 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9382. 1053.28 s [really-safe-money-gen] actualResult =
  9383. 1053.28 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9384. 1053.28 s [really-safe-money-gen] + if False
  9385. 1053.28 s [really-safe-money-gen] then Nothing
  9386. 1053.28 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9387. 1053.28 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9388. 1053.28 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
  9389. 1053.28 s [really-safe-money-gen] @@ -168,10 +168,9 @@
  9390. 1053.28 s [really-safe-money-gen] if roundedResult > maxBoundN
  9391. 1053.28 s [really-safe-money-gen] then Nothing
  9392. 1053.28 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9393. 1053.28 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9394. 1053.28 s [really-safe-money-gen] - LT -> RoundedDown
  9395. 1053.28 s [really-safe-money-gen] EQ -> DidNotRound
  9396. 1053.28 s [really-safe-money-gen] GT -> RoundedUp
  9397. 1053.28 s [really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
  9398. 1053.28 s [really-safe-money-gen] )
  9399. 1053.28 s [really-safe-money-gen] . Prelude.sum
  9400. 1053.28 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106
  9401. 1053.28 s [really-safe-money-gen] @@ -179,7 +179,7 @@
  9402. 1053.28 s [really-safe-money-gen] . traverse
  9403. 1053.28 s [really-safe-money-gen] ( \(currency, a) ->
  9404. 1053.28 s [really-safe-money-gen] ( \(cr, qf2) ->
  9405. 1053.28 s [really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
  9406. 1053.29 s [really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) + ConversionRate.conversionFactor qf2 cr qf1
  9407. 1053.29 s [really-safe-money-gen] )
  9408. 1053.29 s [really-safe-money-gen] <$> func currency
  9409. 1053.29 s [really-safe-money-gen] )
  9410. 1053.29 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
  9411. 1053.29 s [really-safe-money-gen] @@ -109,7 +109,7 @@
  9412. 1053.29 s [really-safe-money-gen]
  9413. 1053.29 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  9414. 1053.29 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9415. 1053.29 s [really-safe-money-gen] -subtractAmount m _ (Amount 0) = Just m
  9416. 1053.29 s [really-safe-money-gen] +subtractAmount m _ (Amount 0) = Nothing
  9417. 1053.29 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  9418. 1053.29 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9419. 1053.29 s [really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
  9420. 1053.29 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
  9421. 1053.29 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  9422. 1053.29 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  9423. 1053.29 s [really-safe-money-gen] in if ceiled == floored
  9424. 1053.29 s [really-safe-money-gen] then
  9425. 1053.29 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  9426. 1053.29 s [really-safe-money-gen] + if ceiled <= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  9427. 1053.29 s [really-safe-money-gen] then Nothing
  9428. 1053.29 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  9429. 1053.29 s [really-safe-money-gen] else Nothing
  9430. 1053.29 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97
  9431. 1053.29 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  9432. 1053.29 s [really-safe-money-gen] let maxBoundI :: Integer
  9433. 1053.29 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9434. 1053.29 s [really-safe-money-gen] r :: Integer
  9435. 1053.29 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9436. 1053.29 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
  9437. 1053.29 s [really-safe-money-gen] in if r > maxBoundI
  9438. 1053.29 s [really-safe-money-gen] then Nothing
  9439. 1053.29 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9440. 1053.29 s [really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:494:29-94
  9441. 1053.29 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  9442. 1053.29 s [really-safe-money-gen] let maxBoundI :: Integer
  9443. 1053.29 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9444. 1053.29 s [really-safe-money-gen] r :: Integer
  9445. 1053.29 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9446. 1053.29 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) * acc) 0 l
  9447. 1053.29 s [really-safe-money-gen] in if r > maxBoundI
  9448. 1053.29 s [really-safe-money-gen] then Nothing
  9449. 1053.29 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9450. 1053.29 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
  9451. 1053.30 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  9452. 1053.30 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  9453. 1053.30 s [really-safe-money-gen] r :: Integer
  9454. 1053.30 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  9455. 1053.30 s [really-safe-money-gen] - in if r > maxBoundI
  9456. 1053.30 s [really-safe-money-gen] + in if r >= maxBoundI
  9457. 1053.30 s [really-safe-money-gen] then Nothing
  9458. 1053.30 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  9459. 1053.30 s [really-safe-money-gen]
  9460. 1053.30 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16
  9461. 1053.30 s [really-safe-money-gen] @@ -247,7 +247,7 @@
  9462. 1053.30 s [really-safe-money-gen] -- >>> zero
  9463. 1053.30 s [really-safe-money-gen] -- Amount 0
  9464. 1053.30 s [really-safe-money-gen] zero :: Amount
  9465. 1053.30 s [really-safe-money-gen] -zero = Amount 0
  9466. 1053.30 s [really-safe-money-gen] +zero = Amount 1
  9467. 1053.30 s [really-safe-money-gen]
  9468. 1053.30 s [really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
  9469. 1053.30 s [really-safe-money-gen] --
  9470. 1053.30 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45
  9471. 1053.30 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  9472. 1053.30 s [really-safe-money-gen] maxBoundN :: Natural
  9473. 1053.30 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  9474. 1053.30 s [really-safe-money-gen] actualResult =
  9475. 1053.30 s [really-safe-money-gen] - if roundedResult > maxBoundN
  9476. 1053.30 s [really-safe-money-gen] + if not (roundedResult > maxBoundN)
  9477. 1053.30 s [really-safe-money-gen] then Nothing
  9478. 1053.30 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  9479. 1053.30 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9480. 1053.30 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  9481. 1053.30 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  9482. 1053.30 s [really-safe-money-gen] Just a -> do
  9483. 1053.30 s [really-safe-money-gen] r <- Amount.subtract a amount
  9484. 1053.30 s [really-safe-money-gen] Just $
  9485. 1053.30 s [really-safe-money-gen] - if r == Amount.zero
  9486. 1053.30 s [really-safe-money-gen] + if False
  9487. 1053.30 s [really-safe-money-gen] then M.delete currency m
  9488. 1053.30 s [really-safe-money-gen] else M.insert currency r m
  9489. 1053.30 s [really-safe-money-gen]
  9490. 1053.30 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28
  9491. 1053.30 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  9492. 1053.30 s [really-safe-money-gen] Just a -> do
  9493. 1053.30 s [really-safe-money-gen] r <- Amount.subtract a amount
  9494. 1053.30 s [really-safe-money-gen] Just $
  9495. 1053.30 s [really-safe-money-gen] - if r == Amount.zero
  9496. 1053.30 s [really-safe-money-gen] + if not (r == Amount.zero)
  9497. 1053.30 s [really-safe-money-gen] then M.delete currency m
  9498. 1053.30 s [really-safe-money-gen] else M.insert currency r m
  9499. 1053.30 s [really-safe-money-gen]
  9500. 1053.30 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
  9501. 1053.30 s [really-safe-money-gen] @@ -96,7 +96,7 @@
  9502. 1053.30 s [really-safe-money-gen]
  9503. 1053.30 s [really-safe-money-gen] -- | Add an 'Amount' to a 'MultiAmount'
  9504. 1053.30 s [really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9505. 1053.30 s [really-safe-money-gen] -addAmount m _ (Amount 0) = Just m
  9506. 1053.30 s [really-safe-money-gen] +addAmount m _ (Amount 0) = Nothing
  9507. 1053.30 s [really-safe-money-gen] addAmount (MultiAmount m) currency amount =
  9508. 1053.30 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9509. 1053.31 s [really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
  9510. 1053.31 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  9511. 1053.31 s [really-safe-money-gen] @@ -111,14 +111,13 @@
  9512. 1053.31 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9513. 1053.31 s [really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
  9514. 1053.31 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  9515. 1053.31 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9516. 1053.31 s [really-safe-money-gen] - Nothing -> Nothing -- Can't go below zero
  9517. 1053.31 s [really-safe-money-gen] Just a -> do
  9518. 1053.31 s [really-safe-money-gen] r <- Amount.subtract a amount
  9519. 1053.31 s [really-safe-money-gen] Just $
  9520. 1053.31 s [really-safe-money-gen] if r == Amount.zero
  9521. 1053.31 s [really-safe-money-gen] then M.delete currency m
  9522. 1053.31 s [really-safe-money-gen] else M.insert currency r m
  9523. 1053.31 s [really-safe-money-gen]
  9524. 1053.31 s [really-safe-money-gen] -- | Try to convert every amount to one currency.
  9525. 1053.31 s [really-safe-money-gen] --
  9526. 1053.31 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
  9527. 1056.40 s [really-safe-money-gen] @@ -111,14 +111,8 @@
  9528. 1056.40 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9529. 1056.40 s [really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
  9530. 1056.40 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  9531. 1056.40 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9532. 1056.40 s [really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
  9533. 1056.40 s [really-safe-money-gen] - Just a -> do
  9534. 1056.40 s [really-safe-money-gen] - r <- Amount.subtract a amount
  9535. 1056.40 s [really-safe-money-gen] - Just $
  9536. 1056.40 s [really-safe-money-gen] - if r == Amount.zero
  9537. 1056.40 s [really-safe-money-gen] - then M.delete currency m
  9538. 1056.40 s [really-safe-money-gen] - else M.insert currency r m
  9539. 1056.40 s [really-safe-money-gen]
  9540. 1056.40 s [really-safe-money-gen] -- | Try to convert every amount to one currency.
  9541. 1056.40 s [really-safe-money-gen] --
  9542. 1056.40 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  9543. 1056.40 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  9544. 1056.40 s [really-safe-money-gen] Just a -> do
  9545. 1056.40 s [really-safe-money-gen] r <- Amount.add a amount
  9546. 1056.40 s [really-safe-money-gen] Just $
  9547. 1056.40 s [really-safe-money-gen] - if r == Amount.zero
  9548. 1056.40 s [really-safe-money-gen] + if True
  9549. 1056.40 s [really-safe-money-gen] then M.delete currency m
  9550. 1056.40 s [really-safe-money-gen] else M.insert currency r m
  9551. 1056.40 s [really-safe-money-gen]
  9552. 1056.40 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106
  9553. 1056.41 s [really-safe-money-gen] @@ -179,7 +179,7 @@
  9554. 1056.41 s [really-safe-money-gen] . traverse
  9555. 1056.41 s [really-safe-money-gen] ( \(currency, a) ->
  9556. 1056.41 s [really-safe-money-gen] ( \(cr, qf2) ->
  9557. 1056.41 s [really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
  9558. 1056.41 s [really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) - ConversionRate.conversionFactor qf2 cr qf1
  9559. 1056.41 s [really-safe-money-gen] )
  9560. 1056.41 s [really-safe-money-gen] <$> func currency
  9561. 1056.41 s [really-safe-money-gen] )
  9562. 1056.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  9563. 1056.41 s [really-safe-money-gen] @@ -98,14 +98,13 @@
  9564. 1056.41 s [really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9565. 1056.41 s [really-safe-money-gen] addAmount m _ (Amount 0) = Just m
  9566. 1056.41 s [really-safe-money-gen] addAmount (MultiAmount m) currency amount =
  9567. 1056.41 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9568. 1056.41 s [really-safe-money-gen] - Nothing -> Just $ M.insert currency amount m
  9569. 1056.41 s [really-safe-money-gen] Just a -> do
  9570. 1056.41 s [really-safe-money-gen] r <- Amount.add a amount
  9571. 1056.41 s [really-safe-money-gen] Just $
  9572. 1056.41 s [really-safe-money-gen] if r == Amount.zero
  9573. 1056.41 s [really-safe-money-gen] then M.delete currency m
  9574. 1056.41 s [really-safe-money-gen] else M.insert currency r m
  9575. 1056.41 s [really-safe-money-gen]
  9576. 1056.41 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  9577. 1056.41 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9578. 1056.41 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29
  9579. 1056.41 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  9580. 1056.41 s [really-safe-money-gen] [ genericValidate ma,
  9581. 1056.41 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9582. 1056.41 s [really-safe-money-gen] declare "The amount is not zero" $
  9583. 1056.41 s [really-safe-money-gen] - a /= Amount.zero
  9584. 1056.41 s [really-safe-money-gen] + not (a /= Amount.zero)
  9585. 1056.41 s [really-safe-money-gen] ]
  9586. 1056.41 s [really-safe-money-gen]
  9587. 1056.41 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9588. 1056.41 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  9589. 1056.41 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  9590. 1056.41 s [really-safe-money-gen] [ genericValidate ma,
  9591. 1056.41 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9592. 1056.41 s [really-safe-money-gen] declare "The amount is not zero" $
  9593. 1056.41 s [really-safe-money-gen] - a /= Amount.zero
  9594. 1056.41 s [really-safe-money-gen] + False
  9595. 1056.41 s [really-safe-money-gen] ]
  9596. 1056.41 s [really-safe-money-gen]
  9597. 1056.41 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9598. 1056.41 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  9599. 1056.41 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  9600. 1056.41 s [really-safe-money-gen]
  9601. 1056.41 s [really-safe-money-gen] -- | See 'Amount.distribute'
  9602. 1056.41 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  9603. 1056.41 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  9604. 1056.41 s [really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  9605. 1056.41 s [really-safe-money-gen] DistributedZero -> DistributedZero
  9606. 1056.41 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  9607. 1056.41 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  9608. 1056.41 s [really-safe-money-gen]
  9609. 1056.41 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  9610. 1056.41 s [really-safe-money-gen]
  9611. 1056.41 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
  9612. 1056.41 s [really-safe-money-gen] @@ -123,7 +123,7 @@
  9613. 1056.41 s [really-safe-money-gen]
  9614. 1056.41 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9615. 1056.41 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9616. 1056.41 s [really-safe-money-gen] -subtractAccount m _ (Positive (Amount 0)) = Just m
  9617. 1056.41 s [really-safe-money-gen] +subtractAccount m _ (Positive (Amount 0)) = Nothing
  9618. 1056.41 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  9619. 1056.41 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9620. 1056.41 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9621. 1056.42 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
  9622. 1056.42 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  9623. 1056.42 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9624. 1056.42 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9625. 1056.42 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  9626. 1056.42 s [really-safe-money-gen] -subtractAccount m _ (Negative (Amount 0)) = Just m
  9627. 1056.42 s [really-safe-money-gen] +subtractAccount m _ (Negative (Amount 0)) = Nothing
  9628. 1056.42 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9629. 1056.42 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9630. 1056.42 s [really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
  9631. 1056.42 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  9632. 1056.42 s [really-safe-money-gen] @@ -131,7 +131,7 @@
  9633. 1056.42 s [really-safe-money-gen] Just a -> do
  9634. 1056.42 s [really-safe-money-gen] r <- Account.subtract a account
  9635. 1056.42 s [really-safe-money-gen] Just $
  9636. 1056.42 s [really-safe-money-gen] - if r == Account.zero
  9637. 1056.42 s [really-safe-money-gen] + if True
  9638. 1056.42 s [really-safe-money-gen] then M.delete currency m
  9639. 1056.42 s [really-safe-money-gen] else M.insert currency r m
  9640. 1056.42 s [really-safe-money-gen]
  9641. 1056.42 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
  9642. 1056.42 s [really-safe-money-gen] @@ -131,7 +131,7 @@
  9643. 1056.42 s [really-safe-money-gen] Just a -> do
  9644. 1056.42 s [really-safe-money-gen] r <- Account.subtract a account
  9645. 1056.42 s [really-safe-money-gen] Just $
  9646. 1056.42 s [really-safe-money-gen] - if r == Account.zero
  9647. 1056.42 s [really-safe-money-gen] + if False
  9648. 1056.42 s [really-safe-money-gen] then M.delete currency m
  9649. 1056.42 s [really-safe-money-gen] else M.insert currency r m
  9650. 1056.42 s [really-safe-money-gen]
  9651. 1056.42 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:134:12-29
  9652. 1056.42 s [really-safe-money-gen] @@ -131,7 +131,7 @@
  9653. 1056.42 s [really-safe-money-gen] Just a -> do
  9654. 1056.42 s [really-safe-money-gen] r <- Account.subtract a account
  9655. 1056.42 s [really-safe-money-gen] Just $
  9656. 1056.42 s [really-safe-money-gen] - if r == Account.zero
  9657. 1056.42 s [really-safe-money-gen] + if not (r == Account.zero)
  9658. 1056.42 s [really-safe-money-gen] then M.delete currency m
  9659. 1056.42 s [really-safe-money-gen] else M.insert currency r m
  9660. 1056.42 s [really-safe-money-gen]
  9661. 1056.42 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  9662. 1056.42 s [really-safe-money-gen] @@ -126,14 +126,13 @@
  9663. 1056.42 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  9664. 1056.42 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  9665. 1056.42 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9666. 1056.42 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9667. 1056.42 s [really-safe-money-gen] - Nothing -> Just $ M.insert currency (Account.negate account) m
  9668. 1056.42 s [really-safe-money-gen] Just a -> do
  9669. 1056.42 s [really-safe-money-gen] r <- Account.subtract a account
  9670. 1056.42 s [really-safe-money-gen] Just $
  9671. 1056.42 s [really-safe-money-gen] if r == Account.zero
  9672. 1056.42 s [really-safe-money-gen] then M.delete currency m
  9673. 1056.42 s [really-safe-money-gen] else M.insert currency r m
  9674. 1056.42 s [really-safe-money-gen]
  9675. 1056.42 s [really-safe-money-gen] -- | Try to convert every account to one currency.
  9676. 1056.42 s [really-safe-money-gen] --
  9677. 1056.42 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
  9678. 1056.42 s [really-safe-money-gen] @@ -126,14 +126,8 @@
  9679. 1056.42 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  9680. 1056.42 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  9681. 1056.42 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  9682. 1056.42 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9683. 1056.42 s [really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
  9684. 1056.42 s [really-safe-money-gen] - Just a -> do
  9685. 1056.43 s [really-safe-money-gen] - r <- Account.subtract a account
  9686. 1056.43 s [really-safe-money-gen] - Just $
  9687. 1056.43 s [really-safe-money-gen] - if r == Account.zero
  9688. 1056.43 s [really-safe-money-gen] - then M.delete currency m
  9689. 1056.43 s [really-safe-money-gen] - else M.insert currency r m
  9690. 1056.43 s [really-safe-money-gen]
  9691. 1056.43 s [really-safe-money-gen] -- | Try to convert every account to one currency.
  9692. 1056.43 s [really-safe-money-gen] --
  9693. 1056.43 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
  9694. 1056.43 s [really-safe-money-gen] @@ -110,7 +110,7 @@
  9695. 1056.43 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9696. 1056.43 s [really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9697. 1056.43 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  9698. 1056.43 s [really-safe-money-gen] -addAccount m _ (Negative (Amount 0)) = Just m
  9699. 1056.43 s [really-safe-money-gen] +addAccount m _ (Negative (Amount 0)) = Nothing
  9700. 1061.08 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  9701. 1061.15 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9702. 1061.15 s [really-safe-money-gen] Nothing -> Just $ M.insert currency account m
  9703. 1061.15 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  9704. 1061.15 s [really-safe-money-gen] @@ -117,7 +117,7 @@
  9705. 1061.15 s [really-safe-money-gen] Just a -> do
  9706. 1061.15 s [really-safe-money-gen] r <- Account.add a account
  9707. 1061.15 s [really-safe-money-gen] Just $
  9708. 1061.15 s [really-safe-money-gen] - if r == Account.zero
  9709. 1061.15 s [really-safe-money-gen] + if True
  9710. 1061.15 s [really-safe-money-gen] then M.delete currency m
  9711. 1061.15 s [really-safe-money-gen] else M.insert currency r m
  9712. 1061.16 s [really-safe-money-gen]
  9713. 1061.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
  9714. 1061.16 s [really-safe-money-gen] @@ -117,7 +117,7 @@
  9715. 1061.16 s [really-safe-money-gen] Just a -> do
  9716. 1061.16 s [really-safe-money-gen] r <- Account.add a account
  9717. 1061.16 s [really-safe-money-gen] Just $
  9718. 1061.16 s [really-safe-money-gen] - if r == Account.zero
  9719. 1061.16 s [really-safe-money-gen] + if False
  9720. 1061.16 s [really-safe-money-gen] then M.delete currency m
  9721. 1061.16 s [really-safe-money-gen] else M.insert currency r m
  9722. 1061.16 s [really-safe-money-gen]
  9723. 1061.16 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  9724. 1061.16 s [really-safe-money-gen] @@ -177,10 +177,9 @@
  9725. 1061.16 s [really-safe-money-gen] RoundNearest -> round
  9726. 1061.16 s [really-safe-money-gen] roundedResult :: Integer
  9727. 1061.16 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9728. 1061.16 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  9729. 1061.16 s [really-safe-money-gen] LT -> RoundedDown
  9730. 1061.16 s [really-safe-money-gen] EQ -> DidNotRound
  9731. 1061.16 s [really-safe-money-gen] - GT -> RoundedUp
  9732. 1061.16 s [really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
  9733. 1061.16 s [really-safe-money-gen] )
  9734. 1061.16 s [really-safe-money-gen] . Prelude.sum
  9735. 1061.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  9736. 1061.16 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  9737. 1061.16 s [really-safe-money-gen]
  9738. 1061.16 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  9739. 1061.16 s [really-safe-money-gen] fromAmount currency amount =
  9740. 1061.16 s [really-safe-money-gen] - if amount == Amount.zero
  9741. 1061.16 s [really-safe-money-gen] + if True
  9742. 1061.16 s [really-safe-money-gen] then zero
  9743. 1061.16 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  9744. 1061.16 s [really-safe-money-gen]
  9745. 1061.16 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:120:12-29
  9746. 1061.16 s [really-safe-money-gen] @@ -117,7 +117,7 @@
  9747. 1061.16 s [really-safe-money-gen] Just a -> do
  9748. 1061.16 s [really-safe-money-gen] r <- Account.add a account
  9749. 1061.16 s [really-safe-money-gen] Just $
  9750. 1061.16 s [really-safe-money-gen] - if r == Account.zero
  9751. 1061.16 s [really-safe-money-gen] + if not (r == Account.zero)
  9752. 1061.16 s [really-safe-money-gen] then M.delete currency m
  9753. 1061.16 s [really-safe-money-gen] else M.insert currency r m
  9754. 1061.16 s [really-safe-money-gen]
  9755. 1061.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
  9756. 1061.17 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  9757. 1061.17 s [really-safe-money-gen] [ genericValidate ma,
  9758. 1061.17 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9759. 1061.17 s [really-safe-money-gen] declare "The amount is not zero" $
  9760. 1061.17 s [really-safe-money-gen] - a /= Amount.zero
  9761. 1061.17 s [really-safe-money-gen] + True
  9762. 1061.17 s [really-safe-money-gen] ]
  9763. 1061.17 s [really-safe-money-gen]
  9764. 1061.17 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9765. 1061.17 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  9766. 1061.17 s [really-safe-money-gen] @@ -112,14 +112,8 @@
  9767. 1061.17 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  9768. 1061.17 s [really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
  9769. 1061.17 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  9770. 1061.17 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  9771. 1061.17 s [really-safe-money-gen] Nothing -> Just $ M.insert currency account m
  9772. 1061.17 s [really-safe-money-gen] - Just a -> do
  9773. 1061.17 s [really-safe-money-gen] - r <- Account.add a account
  9774. 1061.17 s [really-safe-money-gen] - Just $
  9775. 1061.17 s [really-safe-money-gen] - if r == Account.zero
  9776. 1061.17 s [really-safe-money-gen] - then M.delete currency m
  9777. 1061.17 s [really-safe-money-gen] - else M.insert currency r m
  9778. 1061.17 s [really-safe-money-gen]
  9779. 1061.17 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  9780. 1061.17 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  9781. 1061.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  9782. 1061.17 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  9783. 1061.17 s [really-safe-money-gen]
  9784. 1061.17 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  9785. 1061.17 s [really-safe-money-gen] fromAccount currency amount =
  9786. 1061.17 s [really-safe-money-gen] - if amount == Account.zero
  9787. 1061.17 s [really-safe-money-gen] + if True
  9788. 1061.17 s [really-safe-money-gen] then zero
  9789. 1061.17 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  9790. 1061.17 s [really-safe-money-gen]
  9791. 1061.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
  9792. 1061.17 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  9793. 1061.17 s [really-safe-money-gen]
  9794. 1061.17 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  9795. 1061.17 s [really-safe-money-gen] fromAccount currency amount =
  9796. 1061.17 s [really-safe-money-gen] - if amount == Account.zero
  9797. 1061.17 s [really-safe-money-gen] + if False
  9798. 1061.17 s [really-safe-money-gen] then zero
  9799. 1061.17 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  9800. 1061.17 s [really-safe-money-gen]
  9801. 1061.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
  9802. 1061.17 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  9803. 1061.17 s [really-safe-money-gen] Just a -> do
  9804. 1061.17 s [really-safe-money-gen] r <- Amount.add a amount
  9805. 1061.17 s [really-safe-money-gen] Just $
  9806. 1061.17 s [really-safe-money-gen] - if r == Amount.zero
  9807. 1061.17 s [really-safe-money-gen] + if False
  9808. 1061.17 s [really-safe-money-gen] then M.delete currency m
  9809. 1061.17 s [really-safe-money-gen] else M.insert currency r m
  9810. 1061.18 s [really-safe-money-gen]
  9811. 1061.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:78:6-28
  9812. 1061.18 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  9813. 1061.18 s [really-safe-money-gen]
  9814. 1061.18 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  9815. 1061.18 s [really-safe-money-gen] fromAccount currency amount =
  9816. 1061.18 s [really-safe-money-gen] - if amount == Account.zero
  9817. 1061.18 s [really-safe-money-gen] + if not (amount == Account.zero)
  9818. 1061.18 s [really-safe-money-gen] then zero
  9819. 1061.18 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  9820. 1061.18 s [really-safe-money-gen]
  9821. 1061.18 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  9822. 1061.18 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  9823. 1061.18 s [really-safe-money-gen] [ genericValidate ma,
  9824. 1061.18 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9825. 1061.18 s [really-safe-money-gen] declare "The account is not zero" $
  9826. 1061.18 s [really-safe-money-gen] - a /= Account.zero
  9827. 1061.18 s [really-safe-money-gen] + True
  9828. 1061.18 s [really-safe-money-gen] ]
  9829. 1061.18 s [really-safe-money-gen]
  9830. 1061.18 s [really-safe-money-gen] -- TODO no empty currencies
  9831. 1061.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:69:13-30
  9832. 1061.18 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  9833. 1061.18 s [really-safe-money-gen] [ genericValidate ma,
  9834. 1061.18 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9835. 1061.18 s [really-safe-money-gen] declare "The account is not zero" $
  9836. 1061.18 s [really-safe-money-gen] - a /= Account.zero
  9837. 1061.18 s [really-safe-money-gen] + not (a /= Account.zero)
  9838. 1061.18 s [really-safe-money-gen] ]
  9839. 1061.18 s [really-safe-money-gen]
  9840. 1061.18 s [really-safe-money-gen] -- TODO no empty currencies
  9841. 1061.18 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  9842. 1061.18 s [really-safe-money-gen] @@ -63,11 +63,7 @@
  9843. 1061.18 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  9844. 1061.18 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  9845. 1061.18 s [really-safe-money-gen] mconcat
  9846. 1061.18 s [really-safe-money-gen] - [ genericValidate ma,
  9847. 1061.18 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  9848. 1061.18 s [really-safe-money-gen] - declare "The account is not zero" $
  9849. 1061.18 s [really-safe-money-gen] - a /= Account.zero
  9850. 1061.18 s [really-safe-money-gen] ]
  9851. 1061.18 s [really-safe-money-gen]
  9852. 1061.18 s [really-safe-money-gen] -- TODO no empty currencies
  9853. 1061.18 s [really-safe-money-gen]
  9854. 1061.18 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  9855. 1061.18 s [really-safe-money-gen] @@ -38,6 +38,5 @@
  9856. 1061.18 s [really-safe-money-gen] codec
  9857. 1061.18 s [really-safe-money-gen] <?> "QuantisationFactor"
  9858. 1061.18 s [really-safe-money-gen] where
  9859. 1061.18 s [really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
  9860. 1061.18 s [really-safe-money-gen] - Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
  9861. 1061.18 s [really-safe-money-gen] Just qf -> Right qf
  9862. 1061.18 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
  9863. 1061.18 s [really-safe-money-gen] @@ -38,6 +38,5 @@
  9864. 1061.18 s [really-safe-money-gen] codec
  9865. 1061.18 s [really-safe-money-gen] <?> "QuantisationFactor"
  9866. 1061.18 s [really-safe-money-gen] where
  9867. 1061.18 s [really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
  9868. 1061.18 s [really-safe-money-gen] Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
  9869. 1061.18 s [really-safe-money-gen] - Just qf -> Right qf
  9870. 1061.18 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  9871. 1061.18 s [really-safe-money-gen] @@ -44,7 +44,6 @@
  9872. 1061.18 s [really-safe-money-gen] where
  9873. 1061.18 s [really-safe-money-gen] f :: String -> Either String Amount
  9874. 1061.18 s [really-safe-money-gen] f s = case readMaybe s of
  9875. 1061.18 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  9876. 1061.18 s [really-safe-money-gen] Just i ->
  9877. 1061.18 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  9878. 1061.18 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  9879. 1061.18 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  9880. 1061.18 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  9881. 1061.18 s [really-safe-money-gen] f s = case readMaybe s of
  9882. 1061.18 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  9883. 1061.18 s [really-safe-money-gen] Just i ->
  9884. 1061.18 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  9885. 1061.18 s [really-safe-money-gen] + if (i :: Integer) <= toInteger (minBound :: Word64)
  9886. 1061.18 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  9887. 1061.18 s [really-safe-money-gen] else
  9888. 1063.78 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  9889. 1063.78 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  9890. 1063.78 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  9891. 1063.78 s [really-safe-money-gen] f s = case readMaybe s of
  9892. 1063.78 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  9893. 1063.78 s [really-safe-money-gen] Just i ->
  9894. 1063.78 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  9895. 1063.78 s [really-safe-money-gen] + if (i :: Integer) > toInteger (minBound :: Word64)
  9896. 1063.78 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  9897. 1063.78 s [really-safe-money-gen] else
  9898. 1063.78 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  9899. 1063.78 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
  9900. 1063.78 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  9901. 1063.78 s [really-safe-money-gen] f s = case readMaybe s of
  9902. 1063.78 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  9903. 1063.78 s [really-safe-money-gen] Just i ->
  9904. 1063.78 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  9905. 1063.78 s [really-safe-money-gen] + if (i :: Integer) >= toInteger (minBound :: Word64)
  9906. 1063.78 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  9907. 1063.78 s [really-safe-money-gen] else
  9908. 1063.78 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  9909. 1063.78 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
  9910. 1063.78 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  9911. 1063.78 s [really-safe-money-gen] [ genericValidate ma,
  9912. 1063.78 s [really-safe-money-gen] decorateMap m $ \_ a ->
  9913. 1063.79 s [really-safe-money-gen] declare "The account is not zero" $
  9914. 1063.79 s [really-safe-money-gen] - a /= Account.zero
  9915. 1063.79 s [really-safe-money-gen] + False
  9916. 1063.79 s [really-safe-money-gen] ]
  9917. 1063.79 s [really-safe-money-gen]
  9918. 1063.79 s [really-safe-money-gen] -- TODO no empty currencies
  9919. 1063.79 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  9920. 1063.79 s [really-safe-money-gen] @@ -60,11 +60,7 @@
  9921. 1063.79 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  9922. 1063.79 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  9923. 1063.79 s [really-safe-money-gen] mconcat
  9924. 1063.79 s [really-safe-money-gen] - [ genericValidate ma,
  9925. 1063.79 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  9926. 1063.79 s [really-safe-money-gen] - declare "The amount is not zero" $
  9927. 1063.79 s [really-safe-money-gen] - a /= Amount.zero
  9928. 1063.79 s [really-safe-money-gen] ]
  9929. 1063.79 s [really-safe-money-gen]
  9930. 1063.79 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  9931. 1063.79 s [really-safe-money-gen]
  9932. 1063.79 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51
  9933. 1063.79 s [really-safe-money-gen] @@ -189,8 +189,8 @@
  9934. 1063.79 s [really-safe-money-gen] ( \(currency, a) ->
  9935. 1063.79 s [really-safe-money-gen] ( \(cr, qf2) ->
  9936. 1063.79 s [really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
  9937. 1063.79 s [really-safe-money-gen] in Account.toMinimalQuantisations a
  9938. 1063.79 s [really-safe-money-gen] - * toInteger (numerator factor)
  9939. 1063.79 s [really-safe-money-gen] + - toInteger (numerator factor)
  9940. 1063.79 s [really-safe-money-gen] % toInteger (denominator factor)
  9941. 1063.79 s [really-safe-money-gen] )
  9942. 1063.79 s [really-safe-money-gen] <$> func currency
  9943. 1063.79 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
  9944. 1063.79 s [really-safe-money-gen] @@ -98,14 +98,8 @@
  9945. 1063.79 s [really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9946. 1063.79 s [really-safe-money-gen] addAmount m _ (Amount 0) = Just m
  9947. 1063.79 s [really-safe-money-gen] addAmount (MultiAmount m) currency amount =
  9948. 1063.79 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  9949. 1063.79 s [really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
  9950. 1063.79 s [really-safe-money-gen] - Just a -> do
  9951. 1063.80 s [really-safe-money-gen] - r <- Amount.add a amount
  9952. 1063.80 s [really-safe-money-gen] - Just $
  9953. 1063.80 s [really-safe-money-gen] - if r == Amount.zero
  9954. 1063.80 s [really-safe-money-gen] - then M.delete currency m
  9955. 1063.80 s [really-safe-money-gen] - else M.insert currency r m
  9956. 1063.80 s [really-safe-money-gen]
  9957. 1063.80 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  9958. 1063.80 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  9959. 1063.80 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  9960. 1063.80 s [really-safe-money-gen] @@ -47,7 +47,6 @@
  9961. 1063.80 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  9962. 1063.80 s [really-safe-money-gen] Just i ->
  9963. 1063.80 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  9964. 1063.80 s [really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
  9965. 1063.80 s [really-safe-money-gen] else
  9966. 1063.80 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  9967. 1063.80 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  9968. 1063.80 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27
  9969. 1063.80 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  9970. 1063.80 s [really-safe-money-gen]
  9971. 1063.80 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  9972. 1063.80 s [really-safe-money-gen] fromAmount currency amount =
  9973. 1063.80 s [really-safe-money-gen] - if amount == Amount.zero
  9974. 1063.80 s [really-safe-money-gen] + if not (amount == Amount.zero)
  9975. 1063.80 s [really-safe-money-gen] then zero
  9976. 1063.80 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  9977. 1063.80 s [really-safe-money-gen]
  9978. 1063.80 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  9979. 1063.80 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  9980. 1063.80 s [really-safe-money-gen] f s = case readMaybe s of
  9981. 1063.80 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  9982. 1063.80 s [really-safe-money-gen] Just i ->
  9983. 1063.80 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  9984. 1063.80 s [really-safe-money-gen] + if True
  9985. 1063.80 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  9986. 1063.80 s [really-safe-money-gen] else
  9987. 1063.80 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  9988. 1063.80 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  9989. 1063.80 s [really-safe-money-gen] @@ -171,10 +171,9 @@
  9990. 1063.80 s [really-safe-money-gen] fmap
  9991. 1063.80 s [really-safe-money-gen] ( ( \theoreticalResult ->
  9992. 1063.80 s [really-safe-money-gen] let rounder :: Rational -> Integer
  9993. 1063.80 s [really-safe-money-gen] rounder = case r of
  9994. 1063.80 s [really-safe-money-gen] RoundUp -> ceiling
  9995. 1063.80 s [really-safe-money-gen] RoundDown -> floor
  9996. 1063.80 s [really-safe-money-gen] - RoundNearest -> round
  9997. 1063.80 s [really-safe-money-gen] roundedResult :: Integer
  9998. 1063.80 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  9999. 1063.80 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10000. 1063.80 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
  10001. 1063.80 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10002. 1063.80 s [really-safe-money-gen] f s = case readMaybe s of
  10003. 1063.80 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10004. 1063.80 s [really-safe-money-gen] Just i ->
  10005. 1063.80 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10006. 1063.80 s [really-safe-money-gen] + if False
  10007. 1063.80 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10008. 1063.80 s [really-safe-money-gen] else
  10009. 1063.80 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10010. 1063.80 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8
  10011. 1063.80 s [really-safe-money-gen] @@ -60,11 +60,10 @@
  10012. 1063.80 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  10013. 1063.80 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  10014. 1063.80 s [really-safe-money-gen] mconcat
  10015. 1063.80 s [really-safe-money-gen] - [ genericValidate ma,
  10016. 1063.80 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10017. 1063.80 s [really-safe-money-gen] declare "The amount is not zero" $
  10018. 1063.80 s [really-safe-money-gen] a /= Amount.zero
  10019. 1063.80 s [really-safe-money-gen] ]
  10020. 1063.80 s [really-safe-money-gen]
  10021. 1063.80 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10022. 1063.80 s [really-safe-money-gen]
  10023. 1063.80 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  10024. 1063.81 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  10025. 1063.81 s [really-safe-money-gen]
  10026. 1063.81 s [really-safe-money-gen] -- | See 'Amount.distribute'
  10027. 1063.81 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  10028. 1063.81 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  10029. 1063.81 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  10030. 1063.81 s [really-safe-money-gen] DistributedZero -> DistributedZero
  10031. 1063.81 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  10032. 1063.81 s [really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  10033. 1063.81 s [really-safe-money-gen]
  10034. 1063.81 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  10035. 1063.81 s [really-safe-money-gen]
  10036. 1063.81 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
  10037. 1063.81 s [really-safe-money-gen] @@ -44,7 +44,6 @@
  10038. 1063.81 s [really-safe-money-gen] where
  10039. 1063.81 s [really-safe-money-gen] f :: String -> Either String Amount
  10040. 1063.81 s [really-safe-money-gen] f s = case readMaybe s of
  10041. 1063.81 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10042. 1063.81 s [really-safe-money-gen] Just i ->
  10043. 1063.81 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10044. 1063.81 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10045. 1063.81 s [really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51
  10046. 1063.81 s [really-safe-money-gen] @@ -189,8 +189,8 @@
  10047. 1063.81 s [really-safe-money-gen] ( \(currency, a) ->
  10048. 1063.81 s [really-safe-money-gen] ( \(cr, qf2) ->
  10049. 1063.81 s [really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
  10050. 1063.81 s [really-safe-money-gen] in Account.toMinimalQuantisations a
  10051. 1063.81 s [really-safe-money-gen] - * toInteger (numerator factor)
  10052. 1063.81 s [really-safe-money-gen] + + toInteger (numerator factor)
  10053. 1063.81 s [really-safe-money-gen] % toInteger (denominator factor)
  10054. 1063.81 s [really-safe-money-gen] )
  10055. 1063.81 s [really-safe-money-gen] <$> func currency
  10056. 1063.81 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  10057. 1063.81 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10058. 1064.51 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10059. 1064.51 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10060. 1064.51 s [really-safe-money-gen] else
  10061. 1064.51 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10062. 1064.51 s [really-safe-money-gen] + if (i :: Integer) <= toInteger (maxBound :: Word64)
  10063. 1064.51 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10064. 1064.51 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10065. 1064.51 s [really-safe-money-gen] g :: Amount -> String
  10066. 1064.51 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  10067. 1064.51 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10068. 1064.51 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10069. 1064.51 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10070. 1064.51 s [really-safe-money-gen] else
  10071. 1064.52 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10072. 1064.52 s [really-safe-money-gen] + if (i :: Integer) < toInteger (maxBound :: Word64)
  10073. 1064.52 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10074. 1064.52 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10075. 1064.52 s [really-safe-money-gen] g :: Amount -> String
  10076. 1064.52 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  10077. 1064.52 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10078. 1064.52 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10079. 1064.52 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10080. 1064.52 s [really-safe-money-gen] else
  10081. 1064.52 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10082. 1064.52 s [really-safe-money-gen] + if True
  10083. 1064.52 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10084. 1064.52 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10085. 1064.52 s [really-safe-money-gen] g :: Amount -> String
  10086. 1064.52 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8
  10087. 1064.52 s [really-safe-money-gen] @@ -63,11 +63,10 @@
  10088. 1064.52 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10089. 1064.52 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10090. 1064.52 s [really-safe-money-gen] mconcat
  10091. 1064.52 s [really-safe-money-gen] - [ genericValidate ma,
  10092. 1064.52 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10093. 1064.52 s [really-safe-money-gen] declare "The account is not zero" $
  10094. 1064.52 s [really-safe-money-gen] a /= Account.zero
  10095. 1064.52 s [really-safe-money-gen] ]
  10096. 1064.52 s [really-safe-money-gen]
  10097. 1064.52 s [really-safe-money-gen] -- TODO no empty currencies
  10098. 1064.52 s [really-safe-money-gen]
  10099. 1064.52 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
  10100. 1064.52 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10101. 1064.52 s [really-safe-money-gen] Just a -> do
  10102. 1064.52 s [really-safe-money-gen] r <- Amount.subtract a amount
  10103. 1064.52 s [really-safe-money-gen] Just $
  10104. 1064.52 s [really-safe-money-gen] - if r == Amount.zero
  10105. 1064.52 s [really-safe-money-gen] + if True
  10106. 1064.52 s [really-safe-money-gen] then M.delete currency m
  10107. 1064.52 s [really-safe-money-gen] else M.insert currency r m
  10108. 1064.52 s [really-safe-money-gen]
  10109. 1064.52 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:52:16-63
  10110. 1064.53 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10111. 1064.53 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10112. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10113. 1064.53 s [really-safe-money-gen] else
  10114. 1064.53 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10115. 1064.53 s [really-safe-money-gen] + if not ((i :: Integer) > toInteger (maxBound :: Word64))
  10116. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10117. 1064.53 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10118. 1064.53 s [really-safe-money-gen] g :: Amount -> String
  10119. 1064.53 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
  10120. 1064.53 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10121. 1064.53 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10122. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10123. 1064.53 s [really-safe-money-gen] else
  10124. 1064.53 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10125. 1064.53 s [really-safe-money-gen] + if False
  10126. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10127. 1064.53 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10128. 1064.53 s [really-safe-money-gen] g :: Amount -> String
  10129. 1064.53 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
  10130. 1064.53 s [really-safe-money-gen] @@ -47,7 +47,6 @@
  10131. 1064.53 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10132. 1064.53 s [really-safe-money-gen] Just i ->
  10133. 1064.53 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10134. 1064.53 s [really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10135. 1064.53 s [really-safe-money-gen] else
  10136. 1064.53 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10137. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10138. 1064.53 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  10139. 1064.53 s [really-safe-money-gen] @@ -50,7 +50,6 @@
  10140. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10141. 1064.53 s [really-safe-money-gen] else
  10142. 1064.53 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10143. 1064.53 s [really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10144. 1064.53 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10145. 1064.53 s [really-safe-money-gen] g :: Amount -> String
  10146. 1064.53 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10147. 1064.53 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
  10148. 1064.53 s [really-safe-money-gen] @@ -50,7 +50,6 @@
  10149. 1064.53 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10150. 1064.53 s [really-safe-money-gen] else
  10151. 1064.53 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10152. 1064.53 s [really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10153. 1064.53 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10154. 1064.53 s [really-safe-money-gen] g :: Amount -> String
  10155. 1064.53 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10156. 1064.54 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  10157. 1064.54 s [really-safe-money-gen] @@ -43,15 +43,14 @@
  10158. 1064.54 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
  10159. 1064.54 s [really-safe-money-gen] where
  10160. 1064.54 s [really-safe-money-gen] f :: String -> Either String Amount
  10161. 1064.54 s [really-safe-money-gen] f s = case readMaybe s of
  10162. 1064.54 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10163. 1064.54 s [really-safe-money-gen] Just i ->
  10164. 1064.54 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10165. 1064.54 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10166. 1064.54 s [really-safe-money-gen] else
  10167. 1064.54 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10168. 1064.54 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10169. 1064.54 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10170. 1064.54 s [really-safe-money-gen] g :: Amount -> String
  10171. 1064.54 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10172. 1064.54 s [really-safe-money-gen]
  10173. 1064.54 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
  10174. 1064.54 s [really-safe-money-gen] @@ -43,15 +43,8 @@
  10175. 1064.54 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
  10176. 1064.54 s [really-safe-money-gen] where
  10177. 1064.54 s [really-safe-money-gen] f :: String -> Either String Amount
  10178. 1064.54 s [really-safe-money-gen] f s = case readMaybe s of
  10179. 1064.54 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10180. 1064.54 s [really-safe-money-gen] - Just i ->
  10181. 1064.54 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10182. 1064.54 s [really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10183. 1064.54 s [really-safe-money-gen] - else
  10184. 1064.54 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10185. 1064.54 s [really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10186. 1064.54 s [really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10187. 1064.54 s [really-safe-money-gen] g :: Amount -> String
  10188. 1064.54 s [really-safe-money-gen] g = show . Amount.toMinimalQuantisations
  10189. 1064.54 s [really-safe-money-gen]
  10190. 1064.54 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  10191. 1064.54 s [really-safe-money-gen] @@ -76,6 +76,5 @@
  10192. 1064.54 s [really-safe-money-gen] <?> "Account"
  10193. 1064.54 s [really-safe-money-gen] where
  10194. 1064.54 s [really-safe-money-gen] f :: Integer -> Either String Account
  10195. 1064.54 s [really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
  10196. 1064.54 s [really-safe-money-gen] Nothing -> Left $ "Number did not fit into an account value: " <> show i
  10197. 1064.54 s [really-safe-money-gen] - Just a -> Right a
  10198. 1064.54 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  10199. 1064.54 s [really-safe-money-gen] @@ -48,7 +48,6 @@
  10200. 1064.54 s [really-safe-money-gen] where
  10201. 1064.54 s [really-safe-money-gen] f :: String -> Either String Account
  10202. 1064.54 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10203. 1064.54 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10204. 1064.54 s [really-safe-money-gen] Just a -> Right a
  10205. 1064.54 s [really-safe-money-gen] g :: Account -> String
  10206. 1064.54 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10207. 1066.96 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
  10208. 1066.96 s [really-safe-money-gen] @@ -76,6 +76,5 @@
  10209. 1067.04 s [really-safe-money-gen] <?> "Account"
  10210. 1067.04 s [really-safe-money-gen] where
  10211. 1067.04 s [really-safe-money-gen] f :: Integer -> Either String Account
  10212. 1067.04 s [really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
  10213. 1067.04 s [really-safe-money-gen] - Nothing -> Left $ "Number did not fit into an account value: " <> show i
  10214. 1067.04 s [really-safe-money-gen] Just a -> Right a
  10215. 1067.04 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
  10216. 1067.04 s [really-safe-money-gen] @@ -48,7 +48,6 @@
  10217. 1067.04 s [really-safe-money-gen] where
  10218. 1067.04 s [really-safe-money-gen] f :: String -> Either String Account
  10219. 1067.04 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10220. 1067.04 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10221. 1067.04 s [really-safe-money-gen] Just a -> Right a
  10222. 1067.04 s [really-safe-money-gen] g :: Account -> String
  10223. 1067.04 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10224. 1067.04 s [really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
  10225. 1067.04 s [really-safe-money-gen] @@ -49,7 +49,7 @@
  10226. 1067.04 s [really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
  10227. 1067.04 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10228. 1067.04 s [really-safe-money-gen] else
  10229. 1067.04 s [really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
  10230. 1067.04 s [really-safe-money-gen] + if (i :: Integer) >= toInteger (maxBound :: Word64)
  10231. 1067.04 s [really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
  10232. 1067.04 s [really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
  10233. 1067.04 s [really-safe-money-gen] g :: Amount -> String
  10234. 1067.04 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  10235. 1067.04 s [really-safe-money-gen] @@ -177,10 +177,9 @@
  10236. 1067.04 s [really-safe-money-gen] RoundNearest -> round
  10237. 1067.04 s [really-safe-money-gen] roundedResult :: Integer
  10238. 1067.04 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  10239. 1067.04 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10240. 1067.04 s [really-safe-money-gen] - LT -> RoundedDown
  10241. 1067.04 s [really-safe-money-gen] EQ -> DidNotRound
  10242. 1067.04 s [really-safe-money-gen] GT -> RoundedUp
  10243. 1067.04 s [really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
  10244. 1067.04 s [really-safe-money-gen] )
  10245. 1067.04 s [really-safe-money-gen] . Prelude.sum
  10246. 1067.05 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28
  10247. 1067.05 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  10248. 1067.05 s [really-safe-money-gen] Just a -> do
  10249. 1067.05 s [really-safe-money-gen] r <- Amount.add a amount
  10250. 1067.05 s [really-safe-money-gen] Just $
  10251. 1067.05 s [really-safe-money-gen] - if r == Amount.zero
  10252. 1067.05 s [really-safe-money-gen] + if not (r == Amount.zero)
  10253. 1067.05 s [really-safe-money-gen] then M.delete currency m
  10254. 1067.05 s [really-safe-money-gen] else M.insert currency r m
  10255. 1067.05 s [really-safe-money-gen]
  10256. 1067.05 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  10257. 1067.05 s [really-safe-money-gen] @@ -171,10 +171,9 @@
  10258. 1067.05 s [really-safe-money-gen] fmap
  10259. 1067.05 s [really-safe-money-gen] ( ( \theoreticalResult ->
  10260. 1067.05 s [really-safe-money-gen] let rounder :: Rational -> Integer
  10261. 1067.05 s [really-safe-money-gen] rounder = case r of
  10262. 1067.05 s [really-safe-money-gen] RoundUp -> ceiling
  10263. 1067.05 s [really-safe-money-gen] - RoundDown -> floor
  10264. 1067.05 s [really-safe-money-gen] RoundNearest -> round
  10265. 1067.05 s [really-safe-money-gen] roundedResult :: Integer
  10266. 1067.05 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  10267. 1067.05 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10268. 1067.05 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
  10269. 1067.05 s [really-safe-money-gen] @@ -112,14 +112,13 @@
  10270. 1067.05 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  10271. 1067.05 s [really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
  10272. 1067.05 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10273. 1067.05 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10274. 1067.05 s [really-safe-money-gen] - Nothing -> Just $ M.insert currency account m
  10275. 1067.05 s [really-safe-money-gen] Just a -> do
  10276. 1067.05 s [really-safe-money-gen] r <- Account.add a account
  10277. 1067.05 s [really-safe-money-gen] Just $
  10278. 1067.05 s [really-safe-money-gen] if r == Account.zero
  10279. 1067.05 s [really-safe-money-gen] then M.delete currency m
  10280. 1067.05 s [really-safe-money-gen] else M.insert currency r m
  10281. 1067.05 s [really-safe-money-gen]
  10282. 1067.05 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10283. 1067.05 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10284. 1067.05 s [really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
  10285. 1067.05 s [really-safe-money-gen] @@ -109,7 +109,7 @@
  10286. 1067.05 s [really-safe-money-gen]
  10287. 1067.05 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10288. 1067.05 s [really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10289. 1067.05 s [really-safe-money-gen] -addAccount m _ (Positive (Amount 0)) = Just m
  10290. 1067.05 s [really-safe-money-gen] +addAccount m _ (Positive (Amount 0)) = Nothing
  10291. 1067.05 s [really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
  10292. 1067.05 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10293. 1067.05 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10294. 1067.05 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
  10295. 1067.05 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  10296. 1067.05 s [really-safe-money-gen]
  10297. 1067.05 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  10298. 1067.05 s [really-safe-money-gen] fromAmount currency amount =
  10299. 1067.05 s [really-safe-money-gen] - if amount == Amount.zero
  10300. 1067.05 s [really-safe-money-gen] + if False
  10301. 1067.06 s [really-safe-money-gen] then zero
  10302. 1067.06 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  10303. 1067.06 s [really-safe-money-gen]
  10304. 1067.06 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  10305. 1067.06 s [really-safe-money-gen] @@ -36,6 +36,5 @@
  10306. 1067.06 s [really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
  10307. 1067.06 s [really-safe-money-gen] where
  10308. 1067.06 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10309. 1067.06 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10310. 1067.06 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10311. 1067.06 s [really-safe-money-gen] - Just a -> Right a
  10312. 1067.06 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
  10313. 1067.06 s [really-safe-money-gen] @@ -171,10 +171,9 @@
  10314. 1067.06 s [really-safe-money-gen] fmap
  10315. 1067.06 s [really-safe-money-gen] ( ( \theoreticalResult ->
  10316. 1067.06 s [really-safe-money-gen] let rounder :: Rational -> Integer
  10317. 1067.06 s [really-safe-money-gen] rounder = case r of
  10318. 1067.06 s [really-safe-money-gen] - RoundUp -> ceiling
  10319. 1067.06 s [really-safe-money-gen] RoundDown -> floor
  10320. 1067.06 s [really-safe-money-gen] RoundNearest -> round
  10321. 1067.06 s [really-safe-money-gen] roundedResult :: Integer
  10322. 1067.06 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  10323. 1067.06 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10324. 1067.06 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  10325. 1067.06 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  10326. 1067.06 s [really-safe-money-gen]
  10327. 1067.06 s [really-safe-money-gen] -- | See 'Amount.distribute'
  10328. 1067.06 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  10329. 1067.06 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  10330. 1067.06 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  10331. 1067.06 s [really-safe-money-gen] DistributedZero -> DistributedZero
  10332. 1067.06 s [really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  10333. 1067.06 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  10334. 1067.06 s [really-safe-money-gen]
  10335. 1067.06 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  10336. 1067.06 s [really-safe-money-gen]
  10337. 1067.06 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:49:12-59
  10338. 1067.06 s [really-safe-money-gen] @@ -46,7 +46,7 @@
  10339. 1067.06 s [really-safe-money-gen] f s = case readMaybe s of
  10340. 1067.06 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
  10341. 1067.06 s [really-safe-money-gen] Just i ->
  10342. 1067.06 s [really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
  10343. 1067.06 s [really-safe-money-gen] + if not ((i :: Integer) < toInteger (minBound :: Word64))
  10344. 1067.06 s [really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
  10345. 1067.06 s [really-safe-money-gen] else
  10346. 1067.06 s [really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
  10347. 1067.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
  10348. 1067.07 s [really-safe-money-gen] @@ -212,11 +212,10 @@
  10349. 1067.07 s [really-safe-money-gen]
  10350. 1067.07 s [really-safe-money-gen] -- | See 'Amount.distribute'
  10351. 1067.07 s [really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
  10352. 1067.07 s [really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
  10353. 1067.07 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  10354. 1067.07 s [really-safe-money-gen] - DistributedZero -> DistributedZero
  10355. 1067.07 s [really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
  10356. 1067.07 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
  10357. 1067.07 s [really-safe-money-gen]
  10358. 1067.07 s [really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
  10359. 1067.07 s [really-safe-money-gen]
  10360. 1067.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
  10361. 1067.07 s [really-safe-money-gen] @@ -36,6 +36,5 @@
  10362. 1067.07 s [really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
  10363. 1067.07 s [really-safe-money-gen] where
  10364. 1067.07 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10365. 1067.07 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10366. 1067.07 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10367. 1067.07 s [really-safe-money-gen] Just a -> Right a
  10368. 1067.07 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  10369. 1067.07 s [really-safe-money-gen] @@ -37,5 +37,4 @@
  10370. 1067.07 s [really-safe-money-gen] where
  10371. 1067.07 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10372. 1067.07 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10373. 1067.07 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10374. 1067.07 s [really-safe-money-gen] Just a -> Right a
  10375. 1067.07 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  10376. 1067.07 s [really-safe-money-gen] @@ -47,9 +47,8 @@
  10377. 1090.61 s [really-safe-money-gen] codecViaStrinKilled: 426
  10378. 1090.61 s [really-safe-money-gen] (of which timed out: 0)
  10379. 1090.61 s [really-safe-money-gen] Survived: 58
  10380. 1090.63 s [really-safe-money-gen] Uncovered: 40
  10381. 1090.63 s [really-safe-money-gen]
  10382. 1090.63 s [really-safe-money-gen] Surviving mutations:
  10383. 1090.63 s [really-safe-money-gen]
  10384. 1090.63 s [really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
  10385. 1090.63 s [really-safe-money-gen] @@ -63,11 +63,10 @@
  10386. 1090.63 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10387. 1090.63 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10388. 1090.63 s [really-safe-money-gen] mconcat
  10389. 1090.63 s [really-safe-money-gen] - [ genericValidate ma,
  10390. 1090.63 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10391. 1090.63 s [really-safe-money-gen] declare "The account is not zero" $
  10392. 1090.63 s [really-safe-money-gen] a /= Account.zero
  10393. 1090.63 s [really-safe-money-gen] ]
  10394. 1090.63 s [really-safe-money-gen]
  10395. 1090.63 s [really-safe-money-gen] -- TODO no empty currencies
  10396. 1090.63 s [really-safe-money-gen]
  10397. 1090.63 s [really-safe-money-gen]
  10398. 1090.63 s [really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
  10399. 1090.63 s [really-safe-money-gen] @@ -63,11 +63,7 @@
  10400. 1090.63 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
  10401. 1090.63 s [really-safe-money-gen] validate ma@(MultiAccount m) =
  10402. 1090.63 s [really-safe-money-gen] mconcat
  10403. 1090.63 s [really-safe-money-gen] - [ genericValidate ma,
  10404. 1090.63 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  10405. 1090.64 s [really-safe-money-gen] - declare "The account is not zero" $
  10406. 1090.64 s [really-safe-money-gen] - a /= Account.zero
  10407. 1090.64 s [really-safe-money-gen] ]
  10408. 1090.64 s [really-safe-money-gen]
  10409. 1090.64 s [really-safe-money-gen] -- TODO no empty currencies
  10410. 1090.64 s [really-safe-money-gen]
  10411. 1090.64 s [really-safe-money-gen]
  10412. 1090.64 s [really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:69:13-30
  10413. 1090.64 s [really-safe-money-gen] @@ -66,7 +66,7 @@
  10414. 1090.64 s [really-safe-money-gen] [ genericValidate ma,
  10415. 1090.64 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10416. 1090.64 s [really-safe-money-gen] declare "The account is not zero" $
  10417. 1090.64 s [really-safe-money-gen] - a /= Account.zero
  10418. 1090.64 s [really-safe-money-gen] + True
  10419. 1090.64 s [really-safe-money-gen] ]
  10420. 1090.64 s [really-safe-money-gen]
  10421. 1090.64 s [really-safe-money-gen] -- TODO no empty currencies
  10422. 1090.64 s [really-safe-money-gen]
  10423. 1090.64 s [really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:78:6-28
  10424. 1090.64 s [really-safe-money-gen] @@ -75,7 +75,7 @@
  10425. 1090.64 s [really-safe-money-gen]
  10426. 1090.64 s [really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
  10427. 1090.64 s [really-safe-money-gen] fromAccount currency amount =
  10428. 1090.64 s [really-safe-money-gen] - if amount == Account.zero
  10429. 1090.64 s [really-safe-money-gen] + if True
  10430. 1090.64 s [really-safe-money-gen] then zero
  10431. 1090.64 s [really-safe-money-gen] else MultiAccount $ M.singleton currency amount
  10432. 1090.64 s [really-safe-money-gen]
  10433. 1090.64 s [really-safe-money-gen]
  10434. 1090.64 s [really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:113:40-46
  10435. 1090.64 s [really-safe-money-gen] @@ -110,7 +110,7 @@
  10436. 1090.64 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10437. 1090.64 s [really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10438. 1090.64 s [really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
  10439. 1090.64 s [really-safe-money-gen] -addAccount m _ (Negative (Amount 0)) = Just m
  10440. 1090.64 s [really-safe-money-gen] +addAccount m _ (Negative (Amount 0)) = Nothing
  10441. 1090.64 s [really-safe-money-gen] addAccount (MultiAccount m) currency account =
  10442. 1090.64 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10443. 1090.64 s [really-safe-money-gen] Nothing -> Just $ M.insert currency account m
  10444. 1090.64 s [really-safe-money-gen]
  10445. 1090.64 s [really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:127:45-51
  10446. 1090.64 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  10447. 1090.64 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10448. 1090.64 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10449. 1090.64 s [really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
  10450. 1090.64 s [really-safe-money-gen] -subtractAccount m _ (Negative (Amount 0)) = Just m
  10451. 1090.64 s [really-safe-money-gen] +subtractAccount m _ (Negative (Amount 0)) = Nothing
  10452. 1090.64 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  10453. 1090.64 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10454. 1090.64 s [really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
  10455. 1090.64 s [really-safe-money-gen]
  10456. 1090.64 s [really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:126:45-51
  10457. 1090.64 s [really-safe-money-gen] @@ -123,7 +123,7 @@
  10458. 1090.64 s [really-safe-money-gen]
  10459. 1090.64 s [really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
  10460. 1090.64 s [really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
  10461. 1090.64 s [really-safe-money-gen] -subtractAccount m _ (Positive (Amount 0)) = Just m
  10462. 1090.64 s [really-safe-money-gen] +subtractAccount m _ (Positive (Amount 0)) = Nothing
  10463. 1090.64 s [really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
  10464. 1090.64 s [really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
  10465. 1090.64 s [really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
  10466. 1090.64 s [really-safe-money-gen]
  10467. 1090.64 s [really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
  10468. 1090.65 s [really-safe-money-gen] @@ -60,11 +60,10 @@
  10469. 1090.65 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  10470. 1090.65 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  10471. 1090.65 s [really-safe-money-gen] mconcat
  10472. 1090.65 s [really-safe-money-gen] - [ genericValidate ma,
  10473. 1090.65 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10474. 1090.65 s [really-safe-money-gen] declare "The amount is not zero" $
  10475. 1090.65 s [really-safe-money-gen] a /= Amount.zero
  10476. 1090.65 s [really-safe-money-gen] ]
  10477. 1090.65 s [really-safe-money-gen]
  10478. 1090.65 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10479. 1090.65 s [really-safe-money-gen]
  10480. 1090.65 s [really-safe-money-gen]
  10481. 1090.65 s [really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
  10482. 1090.65 s [really-safe-money-gen] @@ -60,11 +60,7 @@
  10483. 1090.65 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  10484. 1090.65 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  10485. 1090.65 s [really-safe-money-gen] mconcat
  10486. 1090.65 s [really-safe-money-gen] - [ genericValidate ma,
  10487. 1090.65 s [really-safe-money-gen] - decorateMap m $ \_ a ->
  10488. 1090.65 s [really-safe-money-gen] - declare "The amount is not zero" $
  10489. 1090.65 s [really-safe-money-gen] - a /= Amount.zero
  10490. 1090.65 s [really-safe-money-gen] ]
  10491. 1090.65 s [really-safe-money-gen]
  10492. 1090.65 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10493. 1090.65 s [really-safe-money-gen]
  10494. 1090.65 s [really-safe-money-gen]
  10495. 1090.65 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:66:13-29
  10496. 1090.65 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  10497. 1090.65 s [really-safe-money-gen] [ genericValidate ma,
  10498. 1090.65 s [really-safe-money-gen] decorateMap m $ \_ a ->
  10499. 1090.65 s [really-safe-money-gen] declare "The amount is not zero" $
  10500. 1090.65 s [really-safe-money-gen] - a /= Amount.zero
  10501. 1090.65 s [really-safe-money-gen] + True
  10502. 1090.65 s [really-safe-money-gen] ]
  10503. 1090.65 s [really-safe-money-gen]
  10504. 1090.65 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  10505. 1090.65 s [really-safe-money-gen]
  10506. 1090.65 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:106:12-28
  10507. 1090.65 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  10508. 1090.65 s [really-safe-money-gen] Just a -> do
  10509. 1090.65 s [really-safe-money-gen] r <- Amount.add a amount
  10510. 1090.65 s [really-safe-money-gen] Just $
  10511. 1090.65 s [really-safe-money-gen] - if r == Amount.zero
  10512. 1090.65 s [really-safe-money-gen] + if False
  10513. 1090.65 s [really-safe-money-gen] then M.delete currency m
  10514. 1090.65 s [really-safe-money-gen] else M.insert currency r m
  10515. 1090.65 s [really-safe-money-gen]
  10516. 1090.65 s [really-safe-money-gen]
  10517. 1090.65 s [really-safe-money-gen] Negate at src/Money/MultiAmount.hs:119:12-28
  10518. 1090.65 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10519. 1090.65 s [really-safe-money-gen] Just a -> do
  10520. 1090.65 s [really-safe-money-gen] r <- Amount.subtract a amount
  10521. 1090.65 s [really-safe-money-gen] Just $
  10522. 1090.65 s [really-safe-money-gen] - if r == Amount.zero
  10523. 1090.65 s [really-safe-money-gen] + if not (r == Amount.zero)
  10524. 1090.65 s [really-safe-money-gen] then M.delete currency m
  10525. 1090.65 s [really-safe-money-gen] else M.insert currency r m
  10526. 1090.65 s [really-safe-money-gen]
  10527. 1090.65 s [really-safe-money-gen]
  10528. 1090.65 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
  10529. 1090.65 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10530. 1090.65 s [really-safe-money-gen] Just a -> do
  10531. 1090.65 s [really-safe-money-gen] r <- Amount.subtract a amount
  10532. 1090.65 s [really-safe-money-gen] Just $
  10533. 1090.65 s [really-safe-money-gen] - if r == Amount.zero
  10534. 1090.65 s [really-safe-money-gen] + if False
  10535. 1090.65 s [really-safe-money-gen] then M.delete currency m
  10536. 1090.65 s [really-safe-money-gen] else M.insert currency r m
  10537. 1090.65 s [really-safe-money-gen]
  10538. 1090.65 s [really-safe-money-gen]
  10539. 1090.65 s [really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
  10540. 1090.65 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  10541. 1090.65 s [really-safe-money-gen] Just a -> do
  10542. 1090.65 s [really-safe-money-gen] r <- Amount.subtract a amount
  10543. 1090.65 s [really-safe-money-gen] Just $
  10544. 1090.66 s [really-safe-money-gen] - if r == Amount.zero
  10545. 1090.66 s [really-safe-money-gen] + if True
  10546. 1090.66 s [really-safe-money-gen] then M.delete currency m
  10547. 1090.66 s [really-safe-money-gen] else M.insert currency r m
  10548. 1090.66 s [really-safe-money-gen]
  10549. 1090.66 s [really-safe-money-gen]
  10550. 1090.66 s [really-safe-money-gen] MaybeOp at src/Money/MultiAmount.hs:112:33-39
  10551. 1090.66 s [really-safe-money-gen] @@ -109,7 +109,7 @@
  10552. 1090.66 s [really-safe-money-gen]
  10553. 1090.66 s [really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
  10554. 1090.66 s [really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
  10555. 1090.66 s [really-safe-money-gen] -subtractAmount m _ (Amount 0) = Just m
  10556. 1090.66 s [really-safe-money-gen] +subtractAmount m _ (Amount 0) = Nothing
  10557. 1090.66 s [really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
  10558. 1090.66 s [really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
  10559. 1090.66 s [really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
  10560. 1090.66 s [really-safe-money-gen]
  10561. 1090.66 s [really-safe-money-gen] Cmp at src/Money/MultiAmount.hs:168:20-45
  10562. 1090.66 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  10563. 1090.66 s [really-safe-money-gen] maxBoundN :: Natural
  10564. 1090.66 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  10565. 1090.66 s [really-safe-money-gen] actualResult =
  10566. 1090.66 s [really-safe-money-gen] - if roundedResult > maxBoundN
  10567. 1090.66 s [really-safe-money-gen] + if roundedResult >= maxBoundN
  10568. 1090.66 s [really-safe-money-gen] then Nothing
  10569. 1090.66 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  10570. 1090.66 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10571. 1090.66 s [really-safe-money-gen]
  10572. 1090.66 s [really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
  10573. 1090.66 s [really-safe-money-gen] @@ -600,13 +600,12 @@
  10574. 1090.66 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  10575. 1090.66 s [really-safe-money-gen] validate ad =
  10576. 1090.66 s [really-safe-money-gen] mconcat
  10577. 1090.66 s [really-safe-money-gen] - [ genericValidate ad,
  10578. 1090.66 s [really-safe-money-gen] case ad of
  10579. 1090.66 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  10580. 1090.66 s [really-safe-money-gen] declare "The larger chunks are larger" $
  10581. 1090.66 s [really-safe-money-gen] a1 > a2
  10582. 1090.66 s [really-safe-money-gen] _ -> valid
  10583. 1090.66 s [really-safe-money-gen] ]
  10584. 1090.66 s [really-safe-money-gen]
  10585. 1090.66 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  10586. 1090.66 s [really-safe-money-gen]
  10587. 1090.66 s [really-safe-money-gen]
  10588. 1090.66 s [really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
  10589. 1090.66 s [really-safe-money-gen] @@ -600,13 +600,7 @@
  10590. 1090.66 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  10591. 1090.66 s [really-safe-money-gen] validate ad =
  10592. 1090.66 s [really-safe-money-gen] mconcat
  10593. 1090.66 s [really-safe-money-gen] - [ genericValidate ad,
  10594. 1090.66 s [really-safe-money-gen] - case ad of
  10595. 1090.66 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  10596. 1090.66 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  10597. 1090.66 s [really-safe-money-gen] - a1 > a2
  10598. 1090.66 s [really-safe-money-gen] - _ -> valid
  10599. 1090.66 s [really-safe-money-gen] ]
  10600. 1090.66 s [really-safe-money-gen]
  10601. 1090.66 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  10602. 1090.66 s [really-safe-money-gen]
  10603. 1090.66 s [really-safe-money-gen]
  10604. 1090.66 s [really-safe-money-gen] RemoveCase at src/Money/Amount.hs:604:9-21
  10605. 1090.66 s [really-safe-money-gen] @@ -601,11 +601,8 @@
  10606. 1090.66 s [really-safe-money-gen] validate ad =
  10607. 1090.66 s [really-safe-money-gen] mconcat
  10608. 1090.66 s [really-safe-money-gen] [ genericValidate ad,
  10609. 1090.66 s [really-safe-money-gen] case ad of
  10610. 1090.66 s [really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
  10611. 1090.66 s [really-safe-money-gen] - declare "The larger chunks are larger" $
  10612. 1090.66 s [really-safe-money-gen] - a1 > a2
  10613. 1090.66 s [really-safe-money-gen] _ -> valid
  10614. 1090.66 s [really-safe-money-gen] ]
  10615. 1090.66 s [really-safe-money-gen]
  10616. 1090.67 s [really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
  10617. 1090.67 s [really-safe-money-gen]
  10618. 1090.67 s [really-safe-money-gen] ConstBool at src/Money/Amount.hs:607:15-22
  10619. 1090.67 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  10620. 1090.67 s [really-safe-money-gen] case ad of
  10621. 1090.67 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  10622. 1090.67 s [really-safe-money-gen] declare "The larger chunks are larger" $
  10623. 1090.67 s [really-safe-money-gen] - a1 > a2
  10624. 1090.67 s [really-safe-money-gen] + True
  10625. 1090.67 s [really-safe-money-gen] _ -> valid
  10626. 1090.67 s [really-safe-money-gen] ]
  10627. 1090.67 s [really-safe-money-gen]
  10628. 1090.67 s [really-safe-money-gen]
  10629. 1090.67 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:607:15-22
  10630. 1090.67 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  10631. 1090.67 s [really-safe-money-gen] case ad of
  10632. 1090.67 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  10633. 1090.67 s [really-safe-money-gen] declare "The larger chunks are larger" $
  10634. 1090.67 s [really-safe-money-gen] - a1 > a2
  10635. 1090.67 s [really-safe-money-gen] + a1 >= a2
  10636. 1090.67 s [really-safe-money-gen] _ -> valid
  10637. 1090.67 s [really-safe-money-gen] ]
  10638. 1090.67 s [really-safe-money-gen]
  10639. 1090.67 s [really-safe-money-gen]
  10640. 1090.67 s [really-safe-money-gen] MaybeOp at src/Money/Amount.hs:661:19-28
  10641. 1090.67 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  10642. 1090.67 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  10643. 1090.67 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  10644. 1090.67 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  10645. 1090.67 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  10646. 1090.67 s [really-safe-money-gen] +fraction _ _ 0 = (Nothing, 0)
  10647. 1090.67 s [really-safe-money-gen] fraction r (Amount a) f =
  10648. 1090.67 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  10649. 1090.67 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  10650. 1090.67 s [really-safe-money-gen]
  10651. 1090.67 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:495:10-23
  10652. 1090.67 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  10653. 1090.67 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  10654. 1090.67 s [really-safe-money-gen] r :: Integer
  10655. 1090.67 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  10656. 1090.67 s [really-safe-money-gen] - in if r > maxBoundI
  10657. 1090.67 s [really-safe-money-gen] + in if r >= maxBoundI
  10658. 1090.67 s [really-safe-money-gen] then Nothing
  10659. 1090.67 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10660. 1090.67 s [really-safe-money-gen]
  10661. 1090.67 s [really-safe-money-gen]
  10662. 1090.67 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:341:26-91
  10663. 1090.67 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  10664. 1090.67 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  10665. 1090.67 s [really-safe-money-gen] in if ceiled == floored
  10666. 1090.67 s [really-safe-money-gen] then
  10667. 1090.67 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  10668. 1090.67 s [really-safe-money-gen] + if ceiled >= (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  10669. 1090.67 s [really-safe-money-gen] then Nothing
  10670. 1090.67 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  10671. 1090.67 s [really-safe-money-gen] else Nothing
  10672. 1090.67 s [really-safe-money-gen]
  10673. 1090.67 s [really-safe-money-gen] ConstBool at src/Money/Amount.hs:332:14-40
  10674. 1090.67 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10675. 1090.67 s [really-safe-money-gen] | otherwise =
  10676. 1090.67 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  10677. 1090.67 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  10678. 1090.67 s [really-safe-money-gen] - if exponent resultDouble > 65
  10679. 1090.67 s [really-safe-money-gen] + if False
  10680. 1090.67 s [really-safe-money-gen] then Nothing
  10681. 1090.67 s [really-safe-money-gen] else
  10682. 1090.67 s [really-safe-money-gen] let ceiled :: Natural
  10683. 1090.67 s [really-safe-money-gen]
  10684. 1090.67 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:332:14-40
  10685. 1090.67 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10686. 1090.68 s [really-safe-money-gen] | otherwise =
  10687. 1090.68 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  10688. 1090.68 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  10689. 1090.68 s [really-safe-money-gen] - if exponent resultDouble > 65
  10690. 1090.68 s [really-safe-money-gen] + if exponent resultDouble >= 65
  10691. 1090.68 s [really-safe-money-gen] then Nothing
  10692. 1090.68 s [really-safe-money-gen] else
  10693. 1090.68 s [really-safe-money-gen] let ceiled :: Natural
  10694. 1090.68 s [really-safe-money-gen]
  10695. 1090.68 s [really-safe-money-gen] MaybeOp at src/Money/Amount.hs:520:14-66
  10696. 1090.68 s [really-safe-money-gen] @@ -517,7 +517,7 @@
  10697. 1090.68 s [really-safe-money-gen] r = i1 - i2
  10698. 1090.68 s [really-safe-money-gen] in if r < 0
  10699. 1090.68 s [really-safe-money-gen] then Nothing
  10700. 1090.68 s [really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10701. 1090.68 s [really-safe-money-gen] + else Nothing
  10702. 1090.68 s [really-safe-money-gen]
  10703. 1090.68 s [really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
  10704. 1090.68 s [really-safe-money-gen] --
  10705. 1090.68 s [really-safe-money-gen]
  10706. 1090.68 s [really-safe-money-gen] ConstBool at src/Money/Amount.hs:518:10-15
  10707. 1090.68 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  10708. 1090.68 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  10709. 1090.68 s [really-safe-money-gen] r :: Integer
  10710. 1090.68 s [really-safe-money-gen] r = i1 - i2
  10711. 1090.68 s [really-safe-money-gen] - in if r < 0
  10712. 1090.68 s [really-safe-money-gen] + in if True
  10713. 1090.68 s [really-safe-money-gen] then Nothing
  10714. 1090.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10715. 1090.68 s [really-safe-money-gen]
  10716. 1090.68 s [really-safe-money-gen]
  10717. 1090.68 s [really-safe-money-gen] Cmp at src/Money/Amount.hs:518:10-15
  10718. 1090.68 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  10719. 1090.68 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  10720. 1090.68 s [really-safe-money-gen] r :: Integer
  10721. 1090.68 s [really-safe-money-gen] r = i1 - i2
  10722. 1090.68 s [really-safe-money-gen] - in if r < 0
  10723. 1090.68 s [really-safe-money-gen] + in if r <= 0
  10724. 1090.68 s [really-safe-money-gen] then Nothing
  10725. 1090.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10726. 1090.68 s [really-safe-money-gen]
  10727. 1090.68 s [really-safe-money-gen]
  10728. 1090.68 s [really-safe-money-gen] IntLit at src/Money/Amount.hs:518:14-15
  10729. 1090.68 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  10730. 1090.68 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  10731. 1090.68 s [really-safe-money-gen] r :: Integer
  10732. 1090.68 s [really-safe-money-gen] r = i1 - i2
  10733. 1090.68 s [really-safe-money-gen] - in if r < 0
  10734. 1090.68 s [really-safe-money-gen] + in if r < 1
  10735. 1090.68 s [really-safe-money-gen] then Nothing
  10736. 1090.68 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  10737. 1090.68 s [really-safe-money-gen]
  10738. 1090.68 s [really-safe-money-gen]
  10739. 1090.68 s [really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
  10740. 1090.68 s [really-safe-money-gen] @@ -36,9 +36,8 @@
  10741. 1090.68 s [really-safe-money-gen] instance Validity QuantisationFactor where
  10742. 1090.68 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  10743. 1090.68 s [really-safe-money-gen] mconcat
  10744. 1090.68 s [really-safe-money-gen] - [ genericValidate qf,
  10745. 1090.68 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  10746. 1090.68 s [really-safe-money-gen] ]
  10747. 1090.68 s [really-safe-money-gen]
  10748. 1090.69 s [really-safe-money-gen] instance NFData QuantisationFactor
  10749. 1090.69 s [really-safe-money-gen]
  10750. 1090.69 s [really-safe-money-gen]
  10751. 1090.69 s [really-safe-money-gen] ListLit at src/Money/Quantisg = bimapCodec f g stringCodec <?> "Account"
  10752. 1090.69 s [really-safe-money-gen] where
  10753. 1090.69 s [really-safe-money-gen] f :: String -> Either String Account
  10754. 1090.69 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10755. 1090.69 s [really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10756. 1090.69 s [really-safe-money-gen] - Just a -> Right a
  10757. 1090.69 s [really-safe-money-gen] g :: Account -> String
  10758. 1090.69 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10759. 1090.69 s [really-safe-money-gen]
  10760. 1090.69 s [really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
  10761. 1090.69 s [really-safe-money-gen] @@ -37,5 +37,4 @@
  10762. 1090.69 s [really-safe-money-gen] where
  10763. 1090.69 s [really-safe-money-gen] f :: String -> Either String DecimalLiteral
  10764. 1090.69 s [really-safe-money-gen] f s = case DecimalLiteral.fromString s of
  10765. 1090.69 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
  10766. 1090.69 s [really-safe-money-gen] Just a -> Right a
  10767. 1090.69 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
  10768. 1090.69 s [really-safe-money-gen] @@ -47,9 +47,8 @@
  10769. 1090.69 s [really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
  10770. 1090.69 s [really-safe-money-gen] where
  10771. 1090.69 s [really-safe-money-gen] f :: String -> Either String Account
  10772. 1090.69 s [really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
  10773. 1090.69 s [really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
  10774. 1090.69 s [really-safe-money-gen] Just a -> Right a
  10775. 1090.69 s [really-safe-money-gen] g :: Account -> String
  10776. 1090.69 s [really-safe-money-gen] g = show . Account.toMinimalQuantisations
  10777. 1090.69 s [really-safe-money-gen]
  10778. 1090.69 s [really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
  10779. 1090.69 s [really-safe-money-gen] @@ -177,10 +177,9 @@
  10780. 1090.69 s [really-safe-money-gen] RoundNearest -> round
  10781. 1090.69 s [really-safe-money-gen] roundedResult :: Integer
  10782. 1090.69 s [really-safe-money-gen] roundedResult = rounder theoreticalResult
  10783. 1090.69 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  10784. 1090.69 s [really-safe-money-gen] LT -> RoundedDown
  10785. 1090.69 s [really-safe-money-gen] - EQ -> DidNotRound
  10786. 1090.69 s [really-safe-money-gen] GT -> RoundedUp
  10787. 1090.69 s [really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
  10788. 1090.69 s [really-safe-money-gen] )
  10789. 1090.69 s [really-safe-money-gen] . Prelude.sum
  10790. 1090.69 s [really-safe-money-gen] ationFactor.hs:39:7-8
  10791. 1090.69 s [really-safe-money-gen] @@ -36,9 +36,7 @@
  10792. 1090.69 s [really-safe-money-gen] instance Validity QuantisationFactor where
  10793. 1090.69 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  10794. 1090.69 s [really-safe-money-gen] mconcat
  10795. 1090.69 s [really-safe-money-gen] - [ genericValidate qf,
  10796. 1090.69 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  10797. 1090.69 s [really-safe-money-gen] ]
  10798. 1090.69 s [really-safe-money-gen]
  10799. 1090.69 s [really-safe-money-gen] instance NFData QuantisationFactor
  10800. 1090.69 s [really-safe-money-gen]
  10801. 1090.69 s [really-safe-money-gen]
  10802. 1090.69 s [really-safe-money-gen] ConstBool at src/Money/QuantisationFactor.hs:40:57-63
  10803. 1090.69 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  10804. 1090.69 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  10805. 1090.69 s [really-safe-money-gen] mconcat
  10806. 1090.69 s [really-safe-money-gen] [ genericValidate qf,
  10807. 1090.69 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  10808. 1090.69 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
  10809. 1090.69 s [really-safe-money-gen] ]
  10810. 1090.69 s [really-safe-money-gen]
  10811. 1090.69 s [really-safe-money-gen] instance NFData QuantisationFactor
  10812. 1090.69 s [really-safe-money-gen]
  10813. 1090.69 s [really-safe-money-gen] ConstBool at src/Money/ConversionRate.hs:38:41-57
  10814. 1090.69 s [really-safe-money-gen] @@ -35,7 +35,7 @@
  10815. 1090.69 s [really-safe-money-gen] validate cr@(ConversionRate r) =
  10816. 1090.69 s [really-safe-money-gen] mconcat
  10817. 1090.69 s [really-safe-money-gen] [ genericValidate cr,
  10818. 1090.69 s [really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
  10819. 1090.69 s [really-safe-money-gen] + declare "The rate is nonzero" $ True
  10820. 1090.69 s [really-safe-money-gen] ]
  10821. 1090.69 s [really-safe-money-gen]
  10822. 1090.70 s [really-safe-money-gen] instance NFData ConversionRate
  10823. 1090.70 s [really-safe-money-gen]
  10824. 1090.70 s [really-safe-money-gen] IntLit at src/Money/ConversionRate.hs:109:27-28
  10825. 1090.70 s [really-safe-money-gen] @@ -106,7 +106,7 @@
  10826. 1090.70 s [really-safe-money-gen]
  10827. 1090.70 s [really-safe-money-gen] -- | One-to-one conversion rate
  10828. 1090.70 s [really-safe-money-gen] oneToOne :: ConversionRate
  10829. 1090.70 s [really-safe-money-gen] -oneToOne = ConversionRate 1
  10830. 1090.70 s [really-safe-money-gen] +oneToOne = ConversionRate 0
  10831. 1090.70 s [really-safe-money-gen]
  10832. 1090.70 s [really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
  10833. 1090.70 s [really-safe-money-gen] --
  10834. 1090.70 s [really-safe-money-gen]
  10835. 1090.70 s [really-safe-money-gen] Arith at src/Money/ConversionRate.hs:127:70-79
  10836. 1090.70 s [really-safe-money-gen] @@ -124,7 +124,7 @@
  10837. 1090.70 s [really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
  10838. 1090.70 s [really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
  10839. 1090.70 s [really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
  10840. 1090.70 s [really-safe-money-gen] -compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
  10841. 1090.70 s [really-safe-money-gen] +compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
  10842. 1090.70 s [really-safe-money-gen]
  10843. 1090.70 s [really-safe-money-gen] -- | The factor to multiply by when converting currencies.
  10844. 1090.70 s [really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
  10845. 1090.70 s [really-safe-money-gen]
  10846. 1090.70 s [really-safe-money-gen] RemoveCase at src/Money/AccountOf.hs:180:30-115
  10847. 1090.70 s [really-safe-money-gen] @@ -177,11 +177,10 @@
  10848. 1090.70 s [really-safe-money-gen]
  10849. 1090.70 s [really-safe-money-gen] -- | See 'Account.distribute'
  10850. 1090.70 s [really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
  10851. 1090.70 s [really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
  10852. 1090.70 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  10853. 1090.70 s [really-safe-money-gen] DistributedZero -> DistributedZero
  10854. 1090.70 s [really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
  10855. 1090.70 s [really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
  10856. 1090.70 s [really-safe-money-gen]
  10857. 1090.70 s [really-safe-money-gen] -- | The result of 'distribute'
  10858. 1090.70 s [really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
  10859. 1090.70 s [really-safe-money-gen]
  10860. 1090.70 s [really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
  10861. 1090.70 s [really-safe-money-gen] @@ -109,9 +109,8 @@
  10862. 1090.70 s [really-safe-money-gen]
  10863. 1090.70 s [really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
  10864. 1090.70 s [really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
  10865. 1090.70 s [really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
  10866. 1090.70 s [really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
  10867. 1090.70 s [really-safe-money-gen] - Just dl -> pure dl
  10868. 1090.70 s [really-safe-money-gen]
  10869. 1090.70 s [really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
  10870. 1090.70 s [really-safe-money-gen] decimalLiteralP = do
  10871. 1090.70 s [really-safe-money-gen]
  10872. 1090.70 s [really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
  10873. 1090.70 s [really-safe-money-gen] @@ -284,9 +284,8 @@
  10874. 1090.70 s [really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
  10875. 1090.70 s [really-safe-money-gen] -- Nothing
  10876. 1090.70 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  10877. 1090.70 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  10878. 1090.70 s [really-safe-money-gen] - Just False -> Nothing
  10879. 1090.70 s [really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
  10880. 1090.70 s [really-safe-money-gen]
  10881. 1090.70 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  10882. 1090.70 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  10883. 1090.70 s [really-safe-money-gen]
  10884. 1090.70 s [really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
  10885. 1090.70 s [really-safe-money-gen] @@ -286,7 +286,7 @@
  10886. 1090.70 s [really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
  10887. 1090.70 s [really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
  10888. 1090.70 s [really-safe-money-gen] Just False -> Nothing
  10889. 1090.70 s [really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
  10890. 1090.70 s [really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
  10891. 1090.70 s [really-safe-money-gen]
  10892. 1090.70 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
  10893. 1090.70 s [really-safe-money-gen] fromWord :: Word -> DecimalLiteral
  10894. 1090.70 s [really-safe-money-gen]
  10895. 1090.70 s [really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
  10896. 1090.70 s [really-safe-money-gen] @@ -296,7 +296,6 @@
  10897. 1090.70 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  10898. 1090.70 s [really-safe-money-gen] toWord dl = do
  10899. 1090.70 s [really-safe-money-gen] n <- toNatural dl
  10900. 1090.70 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  10901. 1090.70 s [really-safe-money-gen] pure $ fromIntegral n
  10902. 1090.71 s [really-safe-money-gen]
  10903. 1090.71 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  10904. 1090.71 s [really-safe-money-gen]
  10905. 1090.71 s [really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
  10906. 1090.71 s [really-safe-money-gen] @@ -296,7 +296,7 @@
  10907. 1090.71 s [really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
  10908. 1090.71 s [really-safe-money-gen] toWord dl = do
  10909. 1090.71 s [really-safe-money-gen] n <- toNatural dl
  10910. 1090.71 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
  10911. 1090.71 s [really-safe-money-gen] + guard $ True
  10912. 1090.71 s [really-safe-money-gen] pure $ fromIntegral n
  10913. 1090.71 s [really-safe-money-gen]
  10914. 1090.71 s [really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
  10915. 1090.71 s [really-safe-money-gen]
  10916. 1090.71 s [really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
  10917. 1090.71 s [really-safe-money-gen] @@ -329,7 +329,6 @@
  10918. 1090.71 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  10919. 1090.71 s [really-safe-money-gen] toInt dl = do
  10920. 1090.71 s [really-safe-money-gen] n <- toInteger dl
  10921. 1090.71 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  10922. 1090.71 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  10923. 1090.71 s [really-safe-money-gen] pure $ fromIntegral n
  10924. 1090.71 s [really-safe-money-gen]
  10925. 1090.71 s [really-safe-money-gen]
  10926. 1090.71 s [really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
  10927. 1090.71 s [really-safe-money-gen] @@ -330,7 +330,6 @@
  10928. 1090.71 s [really-safe-money-gen] toInt dl = do
  10929. 1090.71 s [really-safe-money-gen] n <- toInteger dl
  10930. 1090.71 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  10931. 1090.71 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  10932. 1090.71 s [really-safe-money-gen] pure $ fromIntegral n
  10933. 1090.71 s [really-safe-money-gen]
  10934. 1090.71 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10935. 1090.71 s [really-safe-money-gen]
  10936. 1090.71 s [really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
  10937. 1090.71 s [really-safe-money-gen] @@ -330,7 +330,7 @@
  10938. 1090.71 s [really-safe-money-gen] toInt dl = do
  10939. 1090.71 s [really-safe-money-gen] n <- toInteger dl
  10940. 1090.71 s [really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
  10941. 1090.71 s [really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
  10942. 1090.71 s [really-safe-money-gen] + guard $ True
  10943. 1090.71 s [really-safe-money-gen] pure $ fromIntegral n
  10944. 1090.71 s [really-safe-money-gen]
  10945. 1090.71 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10946. 1090.71 s [really-safe-money-gen]
  10947. 1090.71 s [really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
  10948. 1090.71 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10949. 1090.71 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  10950. 1090.71 s [really-safe-money-gen] toInt dl = do
  10951. 1090.71 s [really-safe-money-gen] n <- toInteger dl
  10952. 1090.71 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  10953. 1090.71 s [really-safe-money-gen] + guard $ True
  10954. 1090.71 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  10955. 1090.71 s [really-safe-money-gen] pure $ fromIntegral n
  10956. 1090.71 s [really-safe-money-gen]
  10957. 1090.71 s [really-safe-money-gen]
  10958. 1090.71 s [really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
  10959. 1090.71 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  10960. 1090.71 s [really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
  10961. 1090.72 s [really-safe-money-gen] toInt dl = do
  10962. 1090.72 s [really-safe-money-gen] n <- toInteger dl
  10963. 1090.72 s [really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
  10964. 1090.72 s [really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
  10965. 1090.72 s [really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
  10966. 1090.72 s [really-safe-money-gen] pure $ fromIntegral n
  10967. 1090.72 s [really-safe-money-gen]
  10968. 1090.72 s [really-safe-money-gen]
  10969. 1090.72 s [really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
  10970. 1090.72 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  10971. 1090.72 s [really-safe-money-gen] pure $ fromIntegral n
  10972. 1090.72 s [really-safe-money-gen]
  10973. 1090.72 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10974. 1090.72 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  10975. 1090.72 s [really-safe-money-gen] +numSign a = if a > 0 then Nothing else Just False
  10976. 1090.72 s [really-safe-money-gen]
  10977. 1090.72 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  10978. 1090.72 s [really-safe-money-gen] signSignum = \case
  10979. 1090.72 s [really-safe-money-gen]
  10980. 1090.72 s [really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
  10981. 1090.72 s [really-safe-money-gen] @@ -334,7 +334,7 @@
  10982. 1090.72 s [really-safe-money-gen] pure $ fromIntegral n
  10983. 1090.72 s [really-safe-money-gen]
  10984. 1090.72 s [really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
  10985. 1090.72 s [really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
  10986. 1090.72 s [really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
  10987. 1090.72 s [really-safe-money-gen]
  10988. 1090.72 s [really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
  10989. 1090.72 s [really-safe-money-gen] signSignum = \case
  10990. 1090.72 s [really-safe-money-gen]
  10991. 1090.72 s [really-safe-money-gen] Cmp at src/Money/Account.hs:131:20-26
  10992. 1090.72 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  10993. 1090.72 s [really-safe-money-gen] amount :: Amount
  10994. 1090.72 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  10995. 1090.72 s [really-safe-money-gen] in Just $
  10996. 1090.72 s [really-safe-money-gen] - if i >= 0
  10997. 1090.73 s [really-safe-money-gen] + if i > 0
  10998. 1090.73 s [really-safe-money-gen] then Positive amount
  10999. 1090.73 s [really-safe-money-gen] else Negative amount
  11000. 1090.73 s [really-safe-money-gen]
  11001. 1090.73 s [really-safe-money-gen]
  11002. 1090.73 s [really-safe-money-gen] IntLit at src/Money/Account.hs:131:25-26
  11003. 1090.73 s [really-safe-money-gen] @@ -128,7 +128,7 @@
  11004. 1090.73 s [really-safe-money-gen] amount :: Amount
  11005. 1090.73 s [really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
  11006. 1090.73 s [really-safe-money-gen] in Just $
  11007. 1090.73 s [really-safe-money-gen] - if i >= 0
  11008. 1090.73 s [really-safe-money-gen] + if i >= 1
  11009. 1090.73 s [really-safe-money-gen] then Positive amount
  11010. 1090.73 s [really-safe-money-gen] else Negative amount
  11011. 1090.73 s [really-safe-money-gen]
  11012. 1090.73 s [really-safe-money-gen]
  11013. 1090.73 s [really-safe-money-gen] ConstBool at src/Money/Account.hs:123:10-23
  11014. 1090.73 s [really-safe-money-gen] @@ -120,7 +120,7 @@
  11015. 1090.73 s [really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
  11016. 1090.73 s [really-safe-money-gen] a :: Integer
  11017. 1090.73 s [really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
  11018. 1090.73 s [really-safe-money-gen] - in if a > maxBoundI
  11019. 1090.73 s [really-safe-money-gen] + in if False
  11020. 1090.73 s [really-safe-money-gen] then Nothing
  11021. 1090.73 s [really-safe-money-gen] else
  11022. 1090.73 s [really-safe-money-gen] let w :: Word64
  11023. 1090.73 s [really-safe-money-gen]
  11024. 1090.73 s [really-safe-money-gen] Cmp at src/Money/Account.hs:197:14-20
  11025. 1090.73 s [really-safe-money-gen] @@ -194,7 +194,7 @@
  11026. 1090.73 s [really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
  11027. 1090.73 s [really-safe-money-gen] fromDouble quantisationFactor d =
  11028. 1090.73 s [really-safe-money-gen] let d' = Prelude.abs d
  11029. 1090.73 s [really-safe-money-gen] - f = if d >= 0 then Positive else Negative
  11030. 1090.73 s [really-safe-money-gen] + f = if d > 0 then Positive else Negative
  11031. 1090.73 s [really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
  11032. 1090.73 s [really-safe-money-gen]
  11033. 1090.73 s [really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
  11034. 1090.73 s [really-safe-money-gen]
  11035. 1090.74 s [really-safe-money-gen] Cmp at src/Money/Account.hs:503:10-16
  11036. 1090.74 s [really-safe-money-gen] @@ -500,7 +500,7 @@
  11037. 1090.74 s [really-safe-money-gen] RoundNearest -> RoundNearest
  11038. 1090.74 s [really-safe-money-gen] (ma, ar) = fractionRatio ro account af
  11039. 1090.74 s [really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
  11040. 1090.74 s [really-safe-money-gen] - in if f >= 0
  11041. 1090.74 s [really-safe-money-gen] + in if f > 0
  11042. 1090.74 s [really-safe-money-gen] then (ma, r)
  11043. 1090.74 s [really-safe-money-gen] else (negate <$> ma, -r)
  11044. 1090.74 s [really-safe-money-gen]
  11045. 1090.74 s [really-safe-money-gen]
  11046. 1090.74 s [really-safe-money-gen] Cmp at src/Money/Account.hs:495:12-18
  11047. 1090.74 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  11048. 1090.74 s [really-safe-money-gen] fraction rounding account f =
  11049. 1090.74 s [really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
  11050. 1090.74 s [really-safe-money-gen] ro =
  11051. 1090.74 s [really-safe-money-gen] - if f >= 0
  11052. 1090.74 s [really-safe-money-gen] + if f > 0
  11053. 1090.74 s [really-safe-money-gen] then rounding
  11054. 1090.74 s [really-safe-money-gen] else case rounding of
  11055. 1090.74 s [really-safe-money-gen] RoundUp -> RoundDown
  11056. 1090.74 s [really-safe-money-gen]
  11057. 1090.74 s [really-safe-money-gen] MaybeOp at src/Money/Account.hs:523:16-25
  11058. 1090.74 s [really-safe-money-gen] @@ -520,7 +520,7 @@
  11059. 1090.74 s [really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
  11060. 1090.74 s [really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
  11061. 1090.74 s [really-safe-money-gen] func ma r = case compare account zero of
  11062. 1090.74 s [really-safe-money-gen] - EQ -> (Just zero, r)
  11063. 1090.74 s [really-safe-money-gen] + EQ -> (Nothing, r)
  11064. 1090.74 s [really-safe-money-gen] GT -> (Positive <$> ma, r)
  11065. 1090.74 s [really-safe-money-gen] LT -> (Negative <$> ma, r)
  11066. 1090.74 s [really-safe-money-gen] in func amount actualFraction
  11067. 1090.74 s [really-safe-money-gen]
  11068. 1090.74 s [really-safe-money-gen] Cmp at src/Money/Account.hs:455:14-23
  11069. 1090.74 s [really-safe-money-gen] @@ -452,7 +452,7 @@
  11070. 1090.74 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  11071. 1090.74 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  11072. 1090.74 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  11073. 1090.74 s [really-safe-money-gen] - if a >= zero
  11074. 1090.74 s [really-safe-money-gen] + if a > zero
  11075. 1090.75 s [really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
  11076. 1090.75 s [really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
  11077. 1090.75 s [really-safe-money-gen]
  11078. 1090.75 s [really-safe-money-gen]
  11079. 1090.75 s [really-safe-money-gen] Cmp at src/Money/Account.hs:451:14-23
  11080. 1090.75 s [really-safe-money-gen] @@ -448,7 +448,7 @@
  11081. 1090.75 s [really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
  11082. 1090.75 s [really-safe-money-gen] DistributedZero -> DistributedZero
  11083. 1090.75 s [really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
  11084. 1090.75 s [really-safe-money-gen] - if a >= zero
  11085. 1090.75 s [really-safe-money-gen] + if a > zero
  11086. 1090.75 s [really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
  11087. 1090.75 s [really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
  11088. 1090.75 s [really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
  11089. 1090.75 s [really-safe-money-gen] checkPhase completed in 16 minutes 58 seconds
  11090. 1090.75 s [really-safe-money-gen] Phase: haddockPhase
  11091. 1091.40 s [really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
  11092. 1091.40 s [really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
  11093. 1091.41 s [really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
  11094. 1091.41 s [really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
  11095. 1092.18 s [really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
  11096. 1092.70 s [really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
  11097. 1092.74 s [really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
  11098. 1092.77 s [really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
  11099. 1092.79 s [really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
  11100. 1092.85 s [really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
  11101. 1092.88 s [really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
  11102. 1092.90 s [really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
  11103. 1092.92 s [really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
  11104. 1092.98 s [really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
  11105. 1093.01 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
  11106. 1093.02 s [really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
  11107. 1093.05 s [really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
  11108. 1093.14 s [really-safe-money-gen] Haddock coverage:
  11109. 1093.14 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
  11110. 1093.14 s [really-safe-money-gen] Missing documentation for:
  11111. 1093.14 s [really-safe-money-gen] Module header
  11112. 1093.14 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
  11113. 1093.14 s [really-safe-money-gen] Missing documentation for:
  11114. 1093.14 s [really-safe-money-gen] Module header
  11115. 1093.14 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
  11116. 1093.14 s [really-safe-money-gen] Missing documentation for:
  11117. 1093.14 s [really-safe-money-gen] Module header
  11118. 1093.14 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
  11119. 1093.14 s [really-safe-money-gen] Missing documentation for:
  11120. 1093.14 s [really-safe-money-gen] Module header
  11121. 1093.14 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
  11122. 1093.14 s [really-safe-money-gen] Missing documentation for:
  11123. 1093.14 s [really-safe-money-gen] Module header
  11124. 1093.14 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
  11125. 1093.14 s [really-safe-money-gen] Missing documentation for:
  11126. 1093.15 s [really-safe-money-gen] Module header
  11127. 1093.15 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
  11128. 1093.15 s [really-safe-money-gen] Missing documentation for:
  11129. 1093.15 s [really-safe-money-gen] Module header
  11130. 1093.15 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
  11131. 1093.15 s [really-safe-money-gen] Missing documentation for:
  11132. 1093.15 s [really-safe-money-gen] Module header
  11133. 1093.15 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
  11134. 1093.15 s [really-safe-money-gen] Missing documentation for:
  11135. 1093.15 s [really-safe-money-gen] Module header
  11136. 1093.15 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
  11137. 1093.15 s [really-safe-money-gen] Missing documentation for:
  11138. 1093.15 s [really-safe-money-gen] Module header
  11139. 1093.15 s [really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
  11140. 1093.15 s [really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
  11141. 1093.15 s [really-safe-money-gen] Missing documentation for:
  11142. 1093.15 s [really-safe-money-gen] Module header
  11143. 1093.15 s [really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
  11144. 1093.15 s [really-safe-money-gen] Missing documentation for:
  11145. 1093.15 s [really-safe-money-gen] Module header
  11146. 1093.15 s [really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
  11147. 1093.52 s [really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
  11148. 1093.52 s [really-safe-money-gen] - Money.Amount.Amount
  11149. 1093.52 s [really-safe-money-gen] - Money.Amount.Distribution
  11150. 1093.52 s [really-safe-money-gen] - Money.Amount.Rounding
  11151. 1093.52 s [really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
  11152. 1093.52 s [really-safe-money-gen] - Money.Account.Account
  11153. 1093.52 s [really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
  11154. 1093.52 s [really-safe-money-gen] - Money.AccountOf.AccountOf
  11155. 1093.52 s [really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
  11156. 1093.52 s [really-safe-money-gen] - Money.AmountOf.AmountOf
  11157. 1093.52 s [really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
  11158. 1093.52 s [really-safe-money-gen] - Money.ConversionRate.ConversionRate
  11159. 1093.52 s [really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
  11160. 1093.52 s [really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
  11161. 1093.52 s [really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
  11162. 1093.52 s [really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
  11163. 1093.52 s [really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
  11164. 1093.52 s [really-safe-money-gen] - Money.Currency.Currency
  11165. 1093.52 s [really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
  11166. 1093.52 s [really-safe-money-gen] - Money.MultiAmount.MultiAmount
  11167. 1093.52 s [really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
  11168. 1093.52 s [really-safe-money-gen] - Money.MultiAccount.MultiAccount
  11169. 1093.52 s [really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
  11170. 1093.52 s [really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
  11171. 1106.70 s [really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
  11172. 1106.70 s [really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
  11173. 1106.88 s [really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  11174. 1106.91 s [really-safe-money-gen] Phase: installPhase
  11175. 1107.22 s [really-safe-money-gen] Installing library in /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-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
  11176. 1108.24 s [really-safe-money-gen] Phase: fixupPhase
  11177. 1108.28 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0
  11178. 1108.30 s [really-safe-money-gen] shrinking /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-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
  11179. 1108.32 s [really-safe-money-gen] checking for references to /build/ in /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0...
  11180. 1108.38 s [really-safe-money-gen] patching script interpreter paths in /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0
  11181. 1108.39 s [really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0/lib
  11182. 1108.53 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc
  11183. 1108.55 s [really-safe-money-gen] checking for references to /build/ in /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc...
  11184. 1108.59 s [really-safe-money-gen] patching script interpreter paths in /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc
  11185. 1108.60 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report
  11186. 1108.63 s [really-safe-money-gen] checking for references to /build/ in /nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report...
  11187. 1108.69 s [really-safe-money-gen] patching script interpreter paths in /nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report
  11188. 1109.01 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0 /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc /nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report
  11189. 1110.10 s [post-build-hook] Pushing 3 paths (196 are already present) using zstd to cache sydtest ⏳
  11190. 1110.11 s [post-build-hook]
  11191. 1110.51 s [post-build-hook] Pushing /nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report (422.91 KiB)
  11192. 1110.53 s [post-build-hook] Pushing /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0 (1.52 MiB)
  11193. 1110.90 s [post-build-hook] Pushing /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc (288.17 KiB)
  11194. 1112.17 s [post-build-hook]
  11195. 1112.17 s [post-build-hook] All done.
  11196. 1112.26 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0 /nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc /nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report
  11197. 1112.40 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  11198. 1112.69 s [post-build-hook] copying 3 paths...
  11199. 1112.69 s [post-build-hook] copying path '/nix/store/8730vddj29ahfbhwvq3zg3k4mg8bgavw-really-safe-money-gen-0.0.0.0-doc' to 'https://cache.staging.nix-ci.com'...
  11200. 1112.70 s [post-build-hook] copying path '/nix/store/hrdi78hj8y4kxjl1i64lk7vbbmzmy8m6-really-safe-money-gen-0.0.0.0-report' to 'https://cache.staging.nix-ci.com'...
  11201. 1113.04 s [post-build-hook] copying path '/nix/store/19blz65zqka9gkbs7bp26zx92m50vzp2-really-safe-money-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  11202. 1114.02 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  11203. 1114.42 s [post-build-hook] copying 1 paths...
  11204. 1114.42 s [post-build-hook] copying path '/nix/store/95dikkf9gr45c4h8rrm8sqw74h5224ww-really-safe-money-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  11205. 1114.68 s Progress: 7 of 8 built