1. 0.10 s $ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 7200s /nix/store/86n4l5yri6hys3zk2mwy2azcv9prqb8j-nix-2.31.4/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://github.com/NorfairKing/cursor?ref=master&rev=b2e56d65881e2c0a2514b58fdcef3f68b32e0a0e#packages.x86_64-linux.default --print-build-logs
  2. 0.12 s warning: ignoring untrusted flake configuration setting 'extra-substituters'.
  3. 0.12 s Pass '--accept-flake-config' to trust it
  4. 0.12 s warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
  5. 0.12 s Pass '--accept-flake-config' to trust it
  6. 0.12 s
  7. 1.85 s Downloading cached microlens-0.4.13.1-doc from https://cache.staging.nix-ci.com
  8. 1.85 s Downloading cached validity-0.12.1.0-doc from https://cache.staging.nix-ci.com
  9. 2.03 s Progress: 0 of 14 built, 1 of 20 downloaded from cache (1 downloading)
  10. 2.03 s Downloading cached genvalidity-1.1.1.0-doc from https://cache.staging.nix-ci.com
  11. 2.03 s Downloading cached validity from https://cache.staging.nix-ci.com
  12. 2.03 s Downloading cached validity-containers-0.5.0.5-doc from https://cache.staging.nix-ci.com
  13. 2.03 s Downloading cached validity-text-0.3.1.3-doc from https://cache.staging.nix-ci.com
  14. 2.17 s Progress: 0 of 14 built, 2 of 20 downloaded from cache (4 downloading)
  15. 2.17 s Downloading cached genvalidity-property-1.0.0.0-doc from https://cache.staging.nix-ci.com
  16. 2.18 s Progress: 0 of 14 built, 3 of 20 downloaded from cache (4 downloading)
  17. 2.18 s Downloading cached genvalidity-text-1.0.0.1-doc from https://cache.staging.nix-ci.com
  18. 2.18 s Progress: 0 of 14 built, 4 of 20 downloaded from cache (4 downloading)
  19. 2.18 s Downloading cached genvalidity from https://cache.staging.nix-ci.com
  20. 2.18 s Downloading cached validity-text from https://cache.staging.nix-ci.com
  21. 2.19 s Progress: 0 of 13 built, 5 of 20 downloaded from cache (5 downloading)
  22. 2.19 s Downloading cached validity-containers from https://cache.staging.nix-ci.com
  23. 2.20 s Progress: 0 of 13 built, 6 of 20 downloaded from cache (6 downloading)
  24. 2.20 s Downloading cached microlens from https://cache.staging.nix-ci.com
  25. 2.22 s Downloading cached genvalidity-containers-1.0.0.2-doc from https://cache.staging.nix-ci.com
  26. 2.33 s Progress: 0 of 13 built, 7 of 20 downloaded from cache (6 downloading)
  27. 2.33 s Downloading cached genvalidity-hspec-1.0.0.3-doc from https://cache.staging.nix-ci.com
  28. 2.33 s Progress: 0 of 13 built, 8 of 20 downloaded from cache (6 downloading)
  29. 2.34 s Progress: 0 of 13 built, 9 of 20 downloaded from cache (5 downloading)
  30. 2.34 s Progress: 0 of 12 built, 10 of 20 downloaded from cache (4 downloading)
  31. 2.35 s Downloading cached genvalidity-property from https://cache.staging.nix-ci.com
  32. 2.35 s Progress: 0 of 11 built, 11 of 20 downloaded from cache (4 downloading)
  33. 2.35 s Downloading cached genvalidity-text from https://cache.staging.nix-ci.com
  34. 2.38 s Progress: 0 of 10 built, 12 of 20 downloaded from cache (4 downloading)
  35. 2.48 s Building cursor-source
  36. 2.49 s Progress: 0 of 9 built (1 building), 13 of 20 downloaded from cache (3 downloading)
  37. 2.49 s Progress: 0 of 8 built (1 building), 14 of 20 downloaded from cache (2 downloading)
  38. 2.49 s Downloading cached genvalidity-containers from https://cache.staging.nix-ci.com
  39. 2.55 s [cursor-source] Phase: setupCompilerEnvironmentPhase
  40. 2.56 s [cursor-source] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
  41. 2.61 s Progress: 0 of 8 built (1 building), 15 of 20 downloaded from cache (2 downloading)
  42. 2.63 s Progress: 0 of 8 built (1 building), 16 of 20 downloaded from cache (1 downloading)
  43. 2.63 s Downloading cached genvalidity-hspec from https://cache.staging.nix-ci.com
  44. 2.63 s Downloading cached genvalidity-hspec-optics-1.0.0.0-doc from https://cache.staging.nix-ci.com
  45. 2.68 s [cursor-source] Phase: unpackPhase
  46. 2.70 s [cursor-source] unpacking source archive /nix/store/qr40r9gasc3qyg92cxgyvj69jz7qw20y-cursor
  47. 2.71 s [cursor-source] source root is cursor
  48. 2.72 s [cursor-source] Phase: patchPhase
  49. 2.73 s [cursor-source] Phase: compileBuildDriverPhase
  50. 2.73 s [cursor-source] setupCompileFlags: -package-db=/build/tmp.iGYgwpUUoR/setup-package.conf.d -threaded
  51. 2.77 s [cursor-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.iGYgwpUUoR/Main.o )
  52. 2.86 s Progress: 0 of 8 built (1 building), 17 of 20 downloaded from cache (2 downloading)
  53. 2.86 s Progress: 0 of 7 built (1 building), 18 of 20 downloaded from cache (1 downloading)
  54. 2.87 s [cursor-source] [2 of 2] Linking Setup
  55. 2.90 s Progress: 0 of 6 built (1 building), 19 of 20 downloaded from cache
  56. 2.90 s Downloading cached genvalidity-hspec-optics from https://cache.staging.nix-ci.com
  57. 3.15 s Progress: 0 of 6 built (1 building), 20 of 20 downloaded from cache
  58. 5.18 s [cursor-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  59. 5.21 s [cursor-source] Phase: configurePhase
  60. 5.21 s [cursor-source] configureFlags: --verbose --prefix=/nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/cursor-0.3.2.0 --with-gcc=gcc --package-db=/build/tmp.iGYgwpUUoR/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
  61. 5.21 s [cursor-source] Using Parsec parser
  62. 5.21 s [cursor-source] Configuring cursor-0.3.2.0...
  63. 5.49 s [cursor-source] Dependency base <5: using base-4.19.2.0
  64. 5.49 s [cursor-source] Dependency containers: using containers-0.6.8
  65. 5.49 s [cursor-source] Dependency deepseq: using deepseq-1.5.1.0
  66. 5.49 s [cursor-source] Dependency microlens: using microlens-0.4.13.1
  67. 5.49 s [cursor-source] Dependency text: using text-2.1.1
  68. 5.49 s [cursor-source] Dependency validity >=0.8.0.0: using validity-0.12.1.0
  69. 5.49 s [cursor-source] Dependency validity-containers: using validity-containers-0.5.0.5
  70. 5.49 s [cursor-source] Dependency validity-text: using validity-text-0.3.1.3
  71. 5.77 s [cursor-source] Source component graph: component lib
  72. 5.77 s [cursor-source] Configured component graph:
  73. 5.77 s [cursor-source] component cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  74. 5.77 s [cursor-source] include base-4.19.2.0-213b
  75. 5.77 s [cursor-source] include containers-0.6.8-70da
  76. 5.77 s [cursor-source] include deepseq-1.5.1.0-ab54
  77. 5.77 s [cursor-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  78. 5.77 s [cursor-source] include text-2.1.1-c123
  79. 5.77 s [cursor-source] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
  80. 5.77 s [cursor-source] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
  81. 5.77 s [cursor-source] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
  82. 5.77 s [cursor-source] Linked component graph:
  83. 5.77 s [cursor-source] unit cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  84. 5.77 s [cursor-source] include base-4.19.2.0-213b
  85. 5.77 s [cursor-source] include containers-0.6.8-70da
  86. 5.77 s [cursor-source] include deepseq-1.5.1.0-ab54
  87. 5.77 s [cursor-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  88. 5.78 s [cursor-source] include text-2.1.1-c123
  89. 5.78 s [cursor-source] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
  90. 5.78 s [cursor-source] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
  91. 5.78 s [cursor-source] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
  92. 5.78 s [cursor-source] Cursor.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Forest,Cursor.List=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Types
  93. 5.78 s [cursor-source] Ready component graph:
  94. 5.78 s [cursor-source] definite cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  95. 5.78 s [cursor-source] depends base-4.19.2.0-213b
  96. 5.78 s [cursor-source] depends containers-0.6.8-70da
  97. 5.78 s [cursor-source] depends deepseq-1.5.1.0-ab54
  98. 5.78 s [cursor-source] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  99. 5.78 s [cursor-source] depends text-2.1.1-c123
  100. 5.78 s [cursor-source] depends validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
  101. 5.78 s [cursor-source] depends validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
  102. 5.78 s [cursor-source] depends validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
  103. 5.78 s [cursor-source] Using Cabal-3.10.3.0 compiled by ghc-9.8
  104. 5.78 s [cursor-source] Using compiler: ghc-9.8.4
  105. 5.78 s [cursor-source] Using install prefix:
  106. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0
  107. 5.78 s [cursor-source] Executables installed in:
  108. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/bin
  109. 5.78 s [cursor-source] Libraries installed in:
  110. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  111. 5.78 s [cursor-source] Dynamic Libraries installed in:
  112. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
  113. 5.78 s [cursor-source] Private executables installed in:
  114. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/libexec/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
  115. 5.78 s [cursor-source] Data files installed in:
  116. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/share/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
  117. 5.78 s [cursor-source] Documentation installed in: /share/doc/cursor-0.3.2.0
  118. 5.78 s [cursor-source] Configuration files installed in:
  119. 5.78 s [cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/etc
  120. 5.78 s [cursor-source] No alex found
  121. 5.78 s [cursor-source] Using ar found on system at:
  122. 5.78 s [cursor-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
  123. 5.78 s [cursor-source] No c2hs found
  124. 5.78 s [cursor-source] No cpphs found
  125. 5.78 s [cursor-source] No doctest found
  126. 5.78 s [cursor-source] Using gcc version 14.2.1 given by user at:
  127. 5.78 s [cursor-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
  128. 5.78 s [cursor-source] Using ghc version 9.8.4 found on system at:
  129. 5.78 s [cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
  130. 5.78 s [cursor-source] Using ghc-pkg version 9.8.4 found on system at:
  131. 5.78 s [cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
  132. 5.78 s [cursor-source] No ghcjs found
  133. 5.78 s [cursor-source] No ghcjs-pkg found
  134. 5.78 s [cursor-source] No greencard found
  135. 5.78 s [cursor-source] Using haddock version 2.30.0 found on system at:
  136. 5.78 s [cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
  137. 5.78 s [cursor-source] No happy found
  138. 5.78 s [cursor-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  139. 5.78 s [cursor-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  140. 5.78 s [cursor-source] No hmake found
  141. 5.78 s [cursor-source] Using hpc version 0.69 found on system at:
  142. 5.78 s [cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
  143. 5.78 s [cursor-source] Using hsc2hs version 0.68.10 found on system at:
  144. 5.78 s [cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
  145. 5.78 s [cursor-source] Using hscolour version 1.25 found on system at:
  146. 5.78 s [cursor-source] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
  147. 5.78 s [cursor-source] No jhc found
  148. 5.78 s [cursor-source] Using ld found on system at:
  149. 5.78 s [cursor-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
  150. 5.78 s [cursor-source] No pkg-config found
  151. 5.78 s [cursor-source] Using runghc version 9.8.4 found on system at:
  152. 5.78 s [cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
  153. 5.78 s [cursor-source] Using strip version 2.44 found on system at:
  154. 5.78 s [cursor-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
  155. 5.78 s [cursor-source] Using tar found on system at:
  156. 5.78 s [cursor-source] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
  157. 5.78 s [cursor-source] No uhc found
  158. 5.86 s [cursor-source] Phase: buildPhase
  159. 5.87 s [cursor-source] Building source dist for cursor-0.3.2.0...
  160. 5.89 s [cursor-source] Source tarball created: dist/cursor-0.3.2.0.tar.gz
  161. 5.89 s [cursor-source] Phase: checkPhase
  162. 5.90 s [cursor-source] Phase: haddockPhase
  163. 5.90 s [cursor-source] Phase: installPhase
  164. 5.91 s [cursor-source] Phase: fixupPhase
  165. 6.03 s [post-build-hook] Uploading to cachix cache "cursor": /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0
  166. 6.39 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
  167. 6.39 s [post-build-hook]
  168. 6.79 s [post-build-hook] Pushing /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0 (23.73 KiB)
  169. 7.87 s [post-build-hook]
  170. 7.87 s [post-build-hook] All done.
  171. 7.88 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0
  172. 7.94 s [post-build-hook] copying 1 paths...
  173. 7.94 s [post-build-hook] copying path '/nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
  174. 8.48 s [post-build-hook] copying 1 paths...
  175. 8.48 s [post-build-hook] copying path '/nix/store/rgwpp87hpndya6dq2sh5sr383f4gj484-cursor-source-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
  176. 8.69 s Progress: 1 of 6 built, 20 of 20 downloaded from cache
  177. 8.74 s Building cursor
  178. 8.81 s [cursor] Phase: setupCompilerEnvironmentPhase
  179. 8.81 s [cursor] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
  180. 8.93 s [cursor] Phase: unpackPhase
  181. 8.93 s [cursor] unpacking source archive /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/cursor-0.3.2.0.tar.gz
  182. 8.94 s [cursor] source root is cursor-0.3.2.0
  183. 8.94 s [cursor] setting SOURCE_DATE_EPOCH to timestamp 1780346359 of file "cursor-0.3.2.0/src/Cursor/Types.hs"
  184. 8.94 s [cursor] warning: file "cursor-0.3.2.0/src/Cursor/Types.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
  185. 8.95 s [cursor] Phase: patchPhase
  186. 8.95 s [cursor] Phase: compileBuildDriverPhase
  187. 8.96 s [cursor] setupCompileFlags: -package-db=/build/tmp.3xNRVVZvlN/setup-package.conf.d -threaded
  188. 8.99 s [cursor] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.3xNRVVZvlN/Main.o )
  189. 9.06 s [cursor] [2 of 2] Linking Setup
  190. 10.11 s [cursor] Phase: updateAutotoolsGnuConfigScriptsPhase
  191. 10.12 s [cursor] Phase: configurePhase
  192. 10.12 s [cursor] configureFlags: --verbose --prefix=/nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0 --with-gcc=gcc --package-db=/build/tmp.3xNRVVZvlN/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
  193. 10.13 s [cursor] Using Parsec parser
  194. 10.13 s [cursor] Configuring cursor-0.3.2.0...
  195. 10.40 s [cursor] Dependency base <5: using base-4.19.2.0
  196. 10.40 s [cursor] Dependency containers: using containers-0.6.8
  197. 10.48 s [cursor] Dependency deepseq: using deepseq-1.5.1.0
  198. 10.48 s [cursor] Dependency microlens: using microlens-0.4.13.1
  199. 10.48 s [cursor] Dependency text: using text-2.1.1
  200. 10.48 s [cursor] Dependency validity >=0.8.0.0: using validity-0.12.1.0
  201. 10.48 s [cursor] Dependency validity-containers: using validity-containers-0.5.0.5
  202. 10.48 s [cursor] Dependency validity-text: using validity-text-0.3.1.3
  203. 10.59 s [cursor] Source component graph: component lib
  204. 10.59 s [cursor] Configured component graph:
  205. 10.59 s [cursor] component cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  206. 10.59 s [cursor] include base-4.19.2.0-213b
  207. 10.59 s [cursor] include containers-0.6.8-70da
  208. 10.59 s [cursor] include deepseq-1.5.1.0-ab54
  209. 10.59 s [cursor] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  210. 10.59 s [cursor] include text-2.1.1-c123
  211. 10.59 s [cursor] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
  212. 10.59 s [cursor] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
  213. 10.59 s [cursor] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
  214. 10.59 s [cursor] Linked component graph:
  215. 10.59 s [cursor] unit cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  216. 10.59 s [cursor] include base-4.19.2.0-213b
  217. 10.59 s [cursor] include containers-0.6.8-70da
  218. 10.59 s [cursor] include deepseq-1.5.1.0-ab54
  219. 10.59 s [cursor] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  220. 10.59 s [cursor] include text-2.1.1-c123
  221. 10.59 s [cursor] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
  222. 10.59 s [cursor] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
  223. 10.60 s [cursor] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
  224. 10.60 s [cursor] Cursor.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Forest,Cursor.List=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Types
  225. 10.60 s [cursor] Ready component graph:
  226. 10.60 s [cursor] definite cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  227. 10.60 s [cursor] depends base-4.19.2.0-213b
  228. 10.60 s [cursor] depends containers-0.6.8-70da
  229. 10.60 s [cursor] depends deepseq-1.5.1.0-ab54
  230. 10.60 s [cursor] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  231. 10.60 s [cursor] depends text-2.1.1-c123
  232. 10.60 s [cursor] depends validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
  233. 10.60 s [cursor] depends validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
  234. 10.60 s [cursor] depends validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
  235. 10.60 s [cursor] Using Cabal-3.10.3.0 compiled by ghc-9.8
  236. 10.60 s [cursor] Using compiler: ghc-9.8.4
  237. 10.60 s [cursor] Using install prefix:
  238. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0
  239. 10.60 s [cursor] Executables installed in:
  240. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/bin
  241. 10.60 s [cursor] Libraries installed in:
  242. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  243. 10.60 s [cursor] Dynamic Libraries installed in:
  244. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
  245. 10.60 s [cursor] Private executables installed in:
  246. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/libexec/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
  247. 10.60 s [cursor] Data files installed in:
  248. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/share/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
  249. 10.60 s [cursor] Documentation installed in:
  250. 10.60 s [cursor] /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0
  251. 10.60 s [cursor] Configuration files installed in:
  252. 10.60 s [cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/etc
  253. 10.60 s [cursor] No alex found
  254. 10.60 s [cursor] Using ar found on system at:
  255. 10.60 s [cursor] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
  256. 10.60 s [cursor] No c2hs found
  257. 10.60 s [cursor] No cpphs found
  258. 10.60 s [cursor] No doctest found
  259. 10.60 s [cursor] Using gcc version 14.2.1 given by user at:
  260. 10.60 s [cursor] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
  261. 10.60 s [cursor] Using ghc version 9.8.4 found on system at:
  262. 10.60 s [cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
  263. 10.60 s [cursor] Using ghc-pkg version 9.8.4 found on system at:
  264. 10.60 s [cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
  265. 10.60 s [cursor] No ghcjs found
  266. 10.60 s [cursor] No ghcjs-pkg found
  267. 10.60 s [cursor] No greencard found
  268. 10.60 s [cursor] Using haddock version 2.30.0 found on system at:
  269. 10.60 s [cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
  270. 10.60 s [cursor] No happy found
  271. 10.60 s [cursor] Using haskell-suite found on system at: haskell-suite-dummy-location
  272. 10.60 s [cursor] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  273. 10.60 s [cursor] No hmake found
  274. 10.60 s [cursor] Using hpc version 0.69 found on system at:
  275. 10.60 s [cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
  276. 10.60 s [cursor] Using hsc2hs version 0.68.10 found on system at:
  277. 10.60 s [cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
  278. 10.60 s [cursor] Using hscolour version 1.25 found on system at:
  279. 10.60 s [cursor] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
  280. 10.60 s [cursor] No jhc found
  281. 10.60 s [cursor] Using ld found on system at:
  282. 10.60 s [cursor] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
  283. 10.60 s [cursor] No pkg-config found
  284. 10.60 s [cursor] Using runghc version 9.8.4 found on system at:
  285. 10.60 s [cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
  286. 10.60 s [cursor] Using strip version 2.44 found on system at:
  287. 10.60 s [cursor] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
  288. 10.60 s [cursor] Using tar found on system at:
  289. 10.60 s [cursor] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
  290. 10.60 s [cursor] No uhc found
  291. 10.68 s [cursor] Phase: buildPhase
  292. 10.72 s [cursor] Preprocessing library for cursor-0.3.2.0..
  293. 10.72 s [cursor] Building library for cursor-0.3.2.0..
  294. 10.83 s [cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, dist/build/Cursor/Map/KeyValue.o, dist/build/Cursor/Map/KeyValue.dyn_o )
  295. 11.16 s [cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, dist/build/Cursor/Simple/Map/KeyValue.o, dist/build/Cursor/Simple/Map/KeyValue.dyn_o )
  296. 11.20 s [cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, dist/build/Cursor/Tree/Types.o, dist/build/Cursor/Tree/Types.dyn_o )
  297. 11.86 s [cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, dist/build/Cursor/Tree/Swap.o, dist/build/Cursor/Tree/Swap.dyn_o )
  298. 11.95 s [cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, dist/build/Cursor/Tree/Insert.o, dist/build/Cursor/Tree/Insert.dyn_o )
  299. 12.05 s [cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, dist/build/Cursor/Tree/Draw.o, dist/build/Cursor/Tree/Draw.dyn_o )
  300. 12.05 s [cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, dist/build/Cursor/Tree/Collapse.o, dist/build/Cursor/Tree/Collapse.dyn_o )
  301. 12.05 s [cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, dist/build/Cursor/Tree/Base.o, dist/build/Cursor/Tree/Base.dyn_o )
  302. 12.05 s [cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, dist/build/Cursor/Tree/Promote.o, dist/build/Cursor/Tree/Promote.dyn_o )
  303. 12.16 s [cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, dist/build/Cursor/Tree/Movement.o, dist/build/Cursor/Tree/Movement.dyn_o )
  304. 12.16 s [cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, dist/build/Cursor/Tree/Demote.o, dist/build/Cursor/Tree/Demote.dyn_o )
  305. 12.16 s [cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.o, dist/build/Cursor/Types.dyn_o )
  306. 12.16 s [cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, dist/build/Cursor/Tree/Delete.o, dist/build/Cursor/Tree/Delete.dyn_o )
  307. 12.16 s [cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.o, dist/build/Cursor/Tree.dyn_o )
  308. 12.18 s [cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, dist/build/Cursor/Simple/Tree.o, dist/build/Cursor/Simple/Tree.dyn_o )
  309. 12.33 s [cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, dist/build/Cursor/List/NonEmpty.o, dist/build/Cursor/List/NonEmpty.dyn_o )
  310. 12.33 s [cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, dist/build/Cursor/Simple/List/NonEmpty.o, dist/build/Cursor/Simple/List/NonEmpty.dyn_o )
  311. 12.33 s [cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.o, dist/build/Cursor/Map.dyn_o )
  312. 12.33 s [cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, dist/build/Cursor/Simple/Map.o, dist/build/Cursor/Simple/Map.dyn_o )
  313. 12.33 s [cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.o, dist/build/Cursor/List.dyn_o )
  314. 12.33 s [cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.o, dist/build/Cursor/Text.dyn_o )
  315. 12.33 s [cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.o, dist/build/Cursor/TextField.dyn_o )
  316. 12.33 s [cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.o, dist/build/Cursor/Forest.dyn_o )
  317. 12.86 s [cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, dist/build/Cursor/Simple/Forest.o, dist/build/Cursor/Simple/Forest.dyn_o )
  318. 13.05 s [cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, dist/build/Paths_cursor.o, dist/build/Paths_cursor.dyn_o )
  319. 13.28 s [cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, dist/build/Cursor/Map/KeyValue.p_o )
  320. 13.68 s [cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, dist/build/Cursor/Simple/Map/KeyValue.p_o )
  321. 13.82 s [cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, dist/build/Cursor/Tree/Types.p_o )
  322. 14.36 s [cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, dist/build/Cursor/Tree/Swap.p_o )
  323. 14.53 s [cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, dist/build/Cursor/Tree/Insert.p_o )
  324. 14.61 s [cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, dist/build/Cursor/Tree/Draw.p_o )
  325. 14.61 s [cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, dist/build/Cursor/Tree/Collapse.p_o )
  326. 14.61 s [cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, dist/build/Cursor/Tree/Base.p_o )
  327. 14.61 s [cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, dist/build/Cursor/Tree/Promote.p_o )
  328. 14.80 s [cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, dist/build/Cursor/Tree/Movement.p_o )
  329. 14.80 s [cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, dist/build/Cursor/Tree/Demote.p_o )
  330. 14.80 s [cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.p_o )
  331. 14.80 s [cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, dist/build/Cursor/Tree/Delete.p_o )
  332. 14.80 s [cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.p_o )
  333. 14.90 s [cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, dist/build/Cursor/Simple/Tree.p_o )
  334. 15.12 s [cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, dist/build/Cursor/List/NonEmpty.p_o )
  335. 15.12 s [cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, dist/build/Cursor/Simple/List/NonEmpty.p_o )
  336. 15.12 s [cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.p_o )
  337. 15.12 s [cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, dist/build/Cursor/Simple/Map.p_o )
  338. 15.12 s [cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.p_o )
  339. 15.12 s [cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.p_o )
  340. 15.12 s [cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.p_o )
  341. 15.12 s [cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.p_o )
  342. 15.51 s [cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, dist/build/Cursor/Simple/Forest.p_o )
  343. 15.69 s [cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, dist/build/Paths_cursor.p_o )
  344. 16.68 s [cursor] Phase: checkPhase
  345. 16.70 s [cursor] Package has no test suites.
  346. 16.71 s [cursor] Phase: haddockPhase
  347. 16.80 s [cursor] Preprocessing library for cursor-0.3.2.0..
  348. 16.80 s [cursor] Running Haddock on library for cursor-0.3.2.0..
  349. 16.83 s [cursor] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
  350. 16.94 s [cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, nothing )
  351. 17.04 s [cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, nothing )
  352. 17.04 s [cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, nothing )
  353. 17.19 s [cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, nothing )
  354. 17.19 s [cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, nothing )
  355. 17.22 s [cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, nothing )
  356. 17.22 s [cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, nothing )
  357. 17.23 s [cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, nothing )
  358. 17.24 s [cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, nothing )
  359. 17.26 s [cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, nothing )
  360. 17.28 s [cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, nothing )
  361. 17.29 s [cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, nothing )
  362. 17.30 s [cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, nothing )
  363. 17.36 s [cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, nothing )
  364. 17.37 s [cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, nothing )
  365. 17.38 s [cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, nothing )
  366. 17.42 s [cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, nothing )
  367. 17.42 s [cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, nothing )
  368. 17.46 s [cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, nothing )
  369. 17.47 s [cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, nothing )
  370. 17.49 s [cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, nothing )
  371. 17.56 s [cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, nothing )
  372. 17.59 s [cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, nothing )
  373. 17.67 s [cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, nothing )
  374. 17.69 s [cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, nothing )
  375. 17.69 s [cursor] Haddock coverage:
  376. 17.69 s [cursor] 0% ( 0 / 15) in 'Cursor.Map.KeyValue'
  377. 17.69 s [cursor] Missing documentation for:
  378. 17.69 s [cursor] Module header
  379. 17.69 s [cursor] KeyValueCursor (src/Cursor/Map/KeyValue.hs:28)
  380. 17.70 s [cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:40)
  381. 17.70 s [cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:43)
  382. 17.70 s [cursor] rebuildKeyValueCursor (src/Cursor/Map/KeyValue.hs:46)
  383. 17.70 s [cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:50)
  384. 17.70 s [cursor] mapKeyValueCursor (src/Cursor/Map/KeyValue.hs:60)
  385. 17.70 s [cursor] keyValueCursorSelectKey (src/Cursor/Map/KeyValue.hs:67)
  386. 17.70 s [cursor] keyValueCursorSelectValue (src/Cursor/Map/KeyValue.hs:74)
  387. 17.70 s [cursor] keyValueCursorToggleSelected (src/Cursor/Map/KeyValue.hs:86)
  388. 17.70 s [cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
  389. 17.70 s [cursor] traverseKeyValueCursor (src/Cursor/Map/KeyValue.hs:99)
  390. 17.70 s [cursor] keyValueCursorTraverseKeyCase (src/Cursor/Map/KeyValue.hs:106)
  391. 17.70 s [cursor] keyValueCursorTraverseValueCase (src/Cursor/Map/KeyValue.hs:116)
  392. 17.70 s [cursor] foldKeyValueCursor (src/Cursor/Map/KeyValue.hs:122)
  393. 17.70 s [cursor] 0% ( 0 / 13) in 'Cursor.Simple.Map.KeyValue'
  394. 17.70 s [cursor] Missing documentation for:
  395. 17.70 s [cursor] Module header
  396. 17.70 s [cursor] KeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:21)
  397. 17.70 s [cursor] KeyValueCursorKey
  398. 17.70 s [cursor] KeyValueCursorValue
  399. 17.70 s [cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:40)
  400. 17.77 s [cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:43)
  401. 17.77 s [cursor] rebuildKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:24)
  402. 17.77 s [cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:50)
  403. 17.77 s [cursor] mapKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:27)
  404. 17.77 s [cursor] keyValueCursorSelectKey (src/Cursor/Simple/Map/KeyValue.hs:30)
  405. 17.77 s [cursor] keyValueCursorSelectValue (src/Cursor/Simple/Map/KeyValue.hs:33)
  406. 17.77 s [cursor] keyValueCursorToggleSelected (src/Cursor/Simple/Map/KeyValue.hs:36)
  407. 17.77 s [cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
  408. 17.77 s [cursor] 3% ( 1 / 26) in 'Cursor.Tree.Types'
  409. 17.77 s [cursor] Missing documentation for:
  410. 17.77 s [cursor] Module header
  411. 17.77 s [cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
  412. 17.77 s [cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:57)
  413. 17.77 s [cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:60)
  414. 17.77 s [cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:63)
  415. 17.77 s [cursor] treeCursorCurrentSubTreeL (src/Cursor/Tree/Types.hs:66)
  416. 17.77 s [cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
  417. 17.77 s [cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:82)
  418. 17.77 s [cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:85)
  419. 17.77 s [cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:88)
  420. 17.77 s [cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:91)
  421. 17.77 s [cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
  422. 17.77 s [cursor] CTree (src/Cursor/Tree/Types.hs:102)
  423. 17.77 s [cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
  424. 17.77 s [cursor] cTree (src/Cursor/Tree/Types.hs:120)
  425. 17.77 s [cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
  426. 17.77 s [cursor] CForest (src/Cursor/Tree/Types.hs:125)
  427. 17.77 s [cursor] makeCForest (src/Cursor/Tree/Types.hs:148)
  428. 17.77 s [cursor] cForest (src/Cursor/Tree/Types.hs:151)
  429. 17.77 s [cursor] rebuildCForest (src/Cursor/Tree/Types.hs:157)
  430. 17.77 s [cursor] emptyCForest (src/Cursor/Tree/Types.hs:162)
  431. 17.77 s [cursor] openForest (src/Cursor/Tree/Types.hs:165)
  432. 17.77 s [cursor] closedForest (src/Cursor/Tree/Types.hs:168)
  433. 17.77 s [cursor] lengthCForest (src/Cursor/Tree/Types.hs:171)
  434. 17.77 s [cursor] unpackCForest (src/Cursor/Tree/Types.hs:176)
  435. 17.77 s [cursor] 50% ( 2 / 4) in 'Cursor.Tree.Swap'
  436. 17.77 s [cursor] Missing documentation for:
  437. 17.77 s [cursor] Module header
  438. 17.77 s [cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
  439. 17.77 s [cursor] 0% ( 0 / 21) in 'Cursor.Tree.Insert'
  440. 17.77 s [cursor] Missing documentation for:
  441. 17.77 s [cursor] Module header
  442. 17.77 s [cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:34)
  443. 17.77 s [cursor] treeCursorInsertAndSelect (src/Cursor/Tree/Insert.hs:41)
  444. 17.77 s [cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:45)
  445. 17.77 s [cursor] treeCursorInsertNodeAndSelect (src/Cursor/Tree/Insert.hs:49)
  446. 17.77 s [cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:56)
  447. 17.77 s [cursor] treeCursorAppendAndSelect (src/Cursor/Tree/Insert.hs:63)
  448. 17.77 s [cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:67)
  449. 17.77 s [cursor] treeCursorAppendNodeAndSelect (src/Cursor/Tree/Insert.hs:71)
  450. 17.77 s [cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:79)
  451. 17.77 s [cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:90)
  452. 17.77 s [cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:97)
  453. 17.77 s [cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Tree/Insert.hs:105)
  454. 17.77 s [cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Tree/Insert.hs:109)
  455. 17.77 s [cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Tree/Insert.hs:113)
  456. 17.77 s [cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Tree/Insert.hs:117)
  457. 17.77 s [cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Tree/Insert.hs:121)
  458. 17.77 s [cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Tree/Insert.hs:125)
  459. 17.77 s [cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Tree/Insert.hs:129)
  460. 17.77 s [cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Tree/Insert.hs:146)
  461. 17.77 s [cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Tree/Insert.hs:162)
  462. 17.77 s [cursor] 0% ( 0 / 7) in 'Cursor.Tree.Draw'
  463. 17.77 s [cursor] Missing documentation for:
  464. 17.77 s [cursor] Module header
  465. 17.77 s [cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:19)
  466. 17.77 s [cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:22)
  467. 17.77 s [cursor] showCForest (src/Cursor/Tree/Draw.hs:33)
  468. 17.77 s [cursor] showCTree (src/Cursor/Tree/Draw.hs:38)
  469. 17.77 s [cursor] showForest (src/Cursor/Tree/Draw.hs:41)
  470. 17.77 s [cursor] showTree (src/Cursor/Tree/Draw.hs:44)
  471. 17.77 s [cursor] 0% ( 0 / 6) in 'Cursor.Tree.Collapse'
  472. 17.77 s [cursor] Missing documentation for:
  473. 17.77 s [cursor] Module header
  474. 17.77 s [cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:14)
  475. 17.77 s [cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:21)
  476. 17.77 s [cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:28)
  477. 17.77 s [cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:35)
  478. 17.77 s [cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:42)
  479. 17.77 s [cursor] 0% ( 0 / 11) in 'Cursor.Tree.Base'
  480. 17.77 s [cursor] Missing documentation for:
  481. 17.77 s [cursor] Module header
  482. 17.77 s [cursor] singletonTreeCursor (src/Cursor/Tree/Base.hs:23)
  483. 17.77 s [cursor] makeTreeCursor (src/Cursor/Tree/Base.hs:26)
  484. 17.77 s [cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:29)
  485. 17.77 s [cursor] makeTreeCursorWithSelection (src/Cursor/Tree/Base.hs:33)
  486. 17.77 s [cursor] rebuildTreeCursor (src/Cursor/Tree/Base.hs:52)
  487. 17.77 s [cursor] mapTreeCursor (src/Cursor/Tree/Base.hs:62)
  488. 17.77 s [cursor] currentTree (src/Cursor/Tree/Base.hs:70)
  489. 17.77 s [cursor] makeTreeCursorWithAbove (src/Cursor/Tree/Base.hs:73)
  490. 17.77 s [cursor] traverseTreeCursor (src/Cursor/Tree/Base.hs:83)
  491. 17.77 s [cursor] foldTreeCursor (src/Cursor/Tree/Base.hs:99)
  492. 17.77 s [cursor] 40% ( 2 / 5) in 'Cursor.Tree.Promote'
  493. 17.77 s [cursor] Missing documentation for:
  494. 17.77 s [cursor] Module header
  495. 17.77 s [cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
  496. 17.77 s [cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
  497. 17.77 s [cursor] 10% ( 2 / 20) in 'Cursor.Tree.Movement'
  498. 17.77 s [cursor] Missing documentation for:
  499. 17.77 s [cursor] Module header
  500. 17.77 s [cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:35)
  501. 17.77 s [cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
  502. 17.77 s [cursor] treeCursorSelect (src/Cursor/Tree/Movement.hs:43)
  503. 17.77 s [cursor] treeCursorSelectPrev (src/Cursor/Tree/Movement.hs:46)
  504. 17.77 s [cursor] treeCursorSelectNext (src/Cursor/Tree/Movement.hs:52)
  505. 17.77 s [cursor] treeCursorSelectFirst (src/Cursor/Tree/Movement.hs:58)
  506. 17.77 s [cursor] treeCursorSelectLast (src/Cursor/Tree/Movement.hs:61)
  507. 17.77 s [cursor] treeCursorSelectAbove (src/Cursor/Tree/Movement.hs:64)
  508. 17.77 s [cursor] treeCursorSelectBelowAtPos (src/Cursor/Tree/Movement.hs:74)
  509. 17.77 s [cursor] treeCursorSelectBelowAtStart (src/Cursor/Tree/Movement.hs:93)
  510. 17.77 s [cursor] treeCursorSelectBelowAtEnd (src/Cursor/Tree/Movement.hs:96)
  511. 17.77 s [cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Tree/Movement.hs:104)
  512. 17.77 s [cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Tree/Movement.hs:110)
  513. 17.77 s [cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Tree/Movement.hs:115)
  514. 17.77 s [cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Tree/Movement.hs:124)
  515. 17.77 s [cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Tree/Movement.hs:133)
  516. 17.77 s [cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Tree/Movement.hs:139)
  517. 17.77 s [cursor] 66% ( 4 / 6) in 'Cursor.Tree.Demote'
  518. 17.77 s [cursor] Missing documentation for:
  519. 17.77 s [cursor] Module header
  520. 17.77 s [cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
  521. 17.77 s [cursor] 0% ( 0 / 9) in 'Cursor.Types'
  522. 17.77 s [cursor] Missing documentation for:
  523. 17.77 s [cursor] Module header
  524. 17.77 s [cursor] isSafeChar (src/Cursor/Types.hs:13)
  525. 17.77 s [cursor] DeleteOrUpdate (src/Cursor/Types.hs:15)
  526. 17.77 s [cursor] joinDeletes (src/Cursor/Types.hs:43)
  527. 17.77 s [cursor] joinDeletes3 (src/Cursor/Types.hs:54)
  528. 17.77 s [cursor] joinPossibleDeletes (src/Cursor/Types.hs:63)
  529. 17.77 s [cursor] focusPossibleDeleteOrUpdate (src/Cursor/Types.hs:70)
  530. 17.77 s [cursor] dullMDelete (src/Cursor/Types.hs:73)
  531. 17.77 s [cursor] dullDelete (src/Cursor/Types.hs:77)
  532. 17.77 s [cursor] 0% ( 0 / 11) in 'Cursor.Tree.Delete'
  533. 17.77 s [cursor] Missing documentation for:
  534. 17.77 s [cursor] Module header
  535. 17.77 s [cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Tree/Delete.hs:28)
  536. 17.77 s [cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Tree/Delete.hs:38)
  537. 17.77 s [cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Tree/Delete.hs:48)
  538. 17.77 s [cursor] treeCursorRemoveSubTree (src/Cursor/Tree/Delete.hs:60)
  539. 17.77 s [cursor] treeCursorDeleteSubTree (src/Cursor/Tree/Delete.hs:67)
  540. 17.77 s [cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Tree/Delete.hs:75)
  541. 17.77 s [cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Tree/Delete.hs:94)
  542. 17.77 s [cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Tree/Delete.hs:132)
  543. 17.77 s [cursor] treeCursorRemoveElem (src/Cursor/Tree/Delete.hs:149)
  544. 17.77 s [cursor] treeCursorDeleteElem (src/Cursor/Tree/Delete.hs:156)
  545. 17.77 s [cursor] 86% ( 20 / 23) in 'Cursor.Tree'
  546. 17.77 s [cursor] Missing documentation for:
  547. 17.77 s [cursor] Module header
  548. 17.77 s [cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
  549. 17.77 s [cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
  550. 17.77 s [cursor] 6% ( 6 / 89) in 'Cursor.Simple.Tree'
  551. 17.77 s [cursor] Missing documentation for:
  552. 17.77 s [cursor] Module header
  553. 17.77 s [cursor] TreeCursor (src/Cursor/Simple/Tree.hs:100)
  554. 17.77 s [cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
  555. 17.77 s [cursor] singletonTreeCursor (src/Cursor/Simple/Tree.hs:109)
  556. 17.77 s [cursor] makeTreeCursor (src/Cursor/Simple/Tree.hs:103)
  557. 17.77 s [cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:29)
  558. 17.77 s [cursor] makeTreeCursorWithSelection (src/Cursor/Simple/Tree.hs:106)
  559. 17.77 s [cursor] rebuildTreeCursor (src/Cursor/Simple/Tree.hs:112)
  560. 17.77 s [cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:19)
  561. 17.77 s [cursor] mapTreeCursor (src/Cursor/Simple/Tree.hs:115)
  562. 17.77 s [cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:57)
  563. 17.77 s [cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:60)
  564. 17.77 s [cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:63)
  565. 17.77 s [cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:82)
  566. 17.77 s [cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:85)
  567. 17.77 s [cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:88)
  568. 17.77 s [cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:91)
  569. 17.77 s [cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:22)
  570. 17.77 s [cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:35)
  571. 17.77 s [cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
  572. 17.77 s [cursor] treeCursorSelect (src/Cursor/Simple/Tree.hs:118)
  573. 17.77 s [cursor] treeCursorSelectPrev (src/Cursor/Simple/Tree.hs:121)
  574. 17.77 s [cursor] treeCursorSelectNext (src/Cursor/Simple/Tree.hs:124)
  575. 17.77 s [cursor] treeCursorSelectFirst (src/Cursor/Simple/Tree.hs:127)
  576. 17.77 s [cursor] treeCursorSelectLast (src/Cursor/Simple/Tree.hs:130)
  577. 17.77 s [cursor] treeCursorSelectAbove (src/Cursor/Simple/Tree.hs:133)
  578. 17.77 s [cursor] treeCursorSelectBelowAtPos (src/Cursor/Simple/Tree.hs:136)
  579. 17.77 s [cursor] treeCursorSelectBelowAtStart (src/Cursor/Simple/Tree.hs:139)
  580. 17.77 s [cursor] treeCursorSelectBelowAtEnd (src/Cursor/Simple/Tree.hs:142)
  581. 17.77 s [cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Simple/Tree.hs:145)
  582. 17.77 s [cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Simple/Tree.hs:148)
  583. 17.77 s [cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Simple/Tree.hs:151)
  584. 17.77 s [cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Simple/Tree.hs:154)
  585. 17.77 s [cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Simple/Tree.hs:157)
  586. 17.77 s [cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Simple/Tree.hs:160)
  587. 17.77 s [cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:14)
  588. 17.77 s [cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:21)
  589. 17.77 s [cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:28)
  590. 17.77 s [cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:35)
  591. 17.77 s [cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:42)
  592. 17.77 s [cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:34)
  593. 17.77 s [cursor] treeCursorInsertAndSelect (src/Cursor/Simple/Tree.hs:173)
  594. 17.77 s [cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:176)
  595. 17.77 s [cursor] treeCursorInsertNodeAndSelect (src/Cursor/Simple/Tree.hs:179)
  596. 17.77 s [cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:56)
  597. 17.77 s [cursor] treeCursorAppendAndSelect (src/Cursor/Simple/Tree.hs:182)
  598. 17.77 s [cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:185)
  599. 17.77 s [cursor] treeCursorAppendNodeAndSelect (src/Cursor/Simple/Tree.hs:188)
  600. 17.77 s [cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:79)
  601. 17.77 s [cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:90)
  602. 17.77 s [cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:97)
  603. 17.77 s [cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Simple/Tree.hs:191)
  604. 17.77 s [cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Simple/Tree.hs:194)
  605. 17.77 s [cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Simple/Tree.hs:197)
  606. 17.77 s [cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Simple/Tree.hs:200)
  607. 17.77 s [cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Simple/Tree.hs:203)
  608. 17.77 s [cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Simple/Tree.hs:206)
  609. 17.77 s [cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Simple/Tree.hs:209)
  610. 17.77 s [cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Simple/Tree.hs:212)
  611. 17.77 s [cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Simple/Tree.hs:215)
  612. 17.77 s [cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Simple/Tree.hs:218)
  613. 17.77 s [cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Tree.hs:221)
  614. 17.77 s [cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Simple/Tree.hs:224)
  615. 17.77 s [cursor] treeCursorRemoveSubTree (src/Cursor/Simple/Tree.hs:227)
  616. 17.77 s [cursor] treeCursorDeleteSubTree (src/Cursor/Simple/Tree.hs:230)
  617. 17.77 s [cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Simple/Tree.hs:233)
  618. 17.77 s [cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Simple/Tree.hs:236)
  619. 17.77 s [cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Simple/Tree.hs:239)
  620. 17.77 s [cursor] treeCursorRemoveElem (src/Cursor/Simple/Tree.hs:242)
  621. 17.77 s [cursor] treeCursorDeleteElem (src/Cursor/Simple/Tree.hs:245)
  622. 17.77 s [cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
  623. 17.77 s [cursor] treeCursorPromoteElem (src/Cursor/Simple/Tree.hs:248)
  624. 17.77 s [cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
  625. 17.77 s [cursor] treeCursorPromoteSubTree (src/Cursor/Simple/Tree.hs:251)
  626. 17.77 s [cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
  627. 17.77 s [cursor] treeCursorDemoteElem (src/Cursor/Simple/Tree.hs:254)
  628. 17.77 s [cursor] treeCursorDemoteSubTree (src/Cursor/Simple/Tree.hs:257)
  629. 17.77 s [cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
  630. 17.77 s [cursor] CTree (src/Cursor/Tree/Types.hs:102)
  631. 17.77 s [cursor] CForest (src/Cursor/Tree/Types.hs:125)
  632. 17.77 s [cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
  633. 17.77 s [cursor] cTree (src/Cursor/Tree/Types.hs:120)
  634. 17.77 s [cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
  635. 17.77 s [cursor] 3% ( 1 / 33) in 'Cursor.List.NonEmpty'
  636. 17.77 s [cursor] Missing documentation for:
  637. 17.77 s [cursor] Module header
  638. 17.77 s [cursor] makeNonEmptyCursor (src/Cursor/List/NonEmpty.hs:65)
  639. 17.77 s [cursor] makeNonEmptyCursorWithSelection (src/Cursor/List/NonEmpty.hs:68)
  640. 17.77 s [cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:87)
  641. 17.77 s [cursor] rebuildNonEmptyCursor (src/Cursor/List/NonEmpty.hs:91)
  642. 17.77 s [cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:103)
  643. 17.77 s [cursor] mapNonEmptyCursor (src/Cursor/List/NonEmpty.hs:95)
  644. 17.77 s [cursor] nonEmptyCursorSelectPrev (src/Cursor/List/NonEmpty.hs:106)
  645. 17.77 s [cursor] nonEmptyCursorSelectNext (src/Cursor/List/NonEmpty.hs:118)
  646. 17.77 s [cursor] nonEmptyCursorSelectFirst (src/Cursor/List/NonEmpty.hs:130)
  647. 17.77 s [cursor] nonEmptyCursorSelectLast (src/Cursor/List/NonEmpty.hs:136)
  648. 17.77 s [cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:142)
  649. 17.77 s [cursor] nonEmptyCursorSelectIndex (src/Cursor/List/NonEmpty.hs:146)
  650. 17.77 s [cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:154)
  651. 17.77 s [cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:157)
  652. 17.77 s [cursor] nonEmptyCursorInsertAndSelect (src/Cursor/List/NonEmpty.hs:160)
  653. 17.77 s [cursor] nonEmptyCursorAppendAndSelect (src/Cursor/List/NonEmpty.hs:167)
  654. 17.77 s [cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:174)
  655. 17.77 s [cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:177)
  656. 17.77 s [cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/List/NonEmpty.hs:181)
  657. 17.77 s [cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/List/NonEmpty.hs:186)
  658. 17.77 s [cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/List/NonEmpty.hs:191)
  659. 17.77 s [cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/List/NonEmpty.hs:201)
  660. 17.77 s [cursor] nonEmptyCursorRemoveElem (src/Cursor/List/NonEmpty.hs:210)
  661. 17.77 s [cursor] nonEmptyCursorDeleteElem (src/Cursor/List/NonEmpty.hs:216)
  662. 17.77 s [cursor] nonEmptyCursorSearch (src/Cursor/List/NonEmpty.hs:223)
  663. 17.77 s [cursor] nonEmptyCursorSelectOrAdd (src/Cursor/List/NonEmpty.hs:238)
  664. 17.77 s [cursor] renderNonEmptyCursor (src/Cursor/List/NonEmpty.hs:244)
  665. 17.77 s [cursor] nonemptyPrepend (src/Cursor/List/NonEmpty.hs:248)
  666. 17.77 s [cursor] nonemptyAppend (src/Cursor/List/NonEmpty.hs:251)
  667. 17.77 s [cursor] traverseNonEmptyCursor (src/Cursor/List/NonEmpty.hs:254)
  668. 17.77 s [cursor] foldNonEmptyCursor (src/Cursor/List/NonEmpty.hs:257)
  669. 17.77 s [cursor] 3% ( 1 / 31) in 'Cursor.Simple.List.NonEmpty'
  670. 17.77 s [cursor] Missing documentation for:
  671. 17.78 s [cursor] Module header
  672. 17.78 s [cursor] nonEmptyCursorPrev
  673. 17.78 s [cursor] nonEmptyCursorCurrent
  674. 17.78 s [cursor] nonEmptyCursorNext
  675. 17.78 s [cursor] makeNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:45)
  676. 17.78 s [cursor] makeNonEmptyCursorWithSelection (src/Cursor/Simple/List/NonEmpty.hs:48)
  677. 17.78 s [cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:87)
  678. 17.78 s [cursor] rebuildNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:51)
  679. 17.78 s [cursor] mapNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:54)
  680. 17.78 s [cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:103)
  681. 17.78 s [cursor] nonEmptyCursorSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:57)
  682. 17.78 s [cursor] nonEmptyCursorSelectNext (src/Cursor/Simple/List/NonEmpty.hs:60)
  683. 17.78 s [cursor] nonEmptyCursorSelectFirst (src/Cursor/Simple/List/NonEmpty.hs:63)
  684. 17.78 s [cursor] nonEmptyCursorSelectLast (src/Cursor/Simple/List/NonEmpty.hs:66)
  685. 17.78 s [cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:142)
  686. 17.78 s [cursor] nonEmptyCursorSelectIndex (src/Cursor/Simple/List/NonEmpty.hs:69)
  687. 17.78 s [cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:154)
  688. 17.78 s [cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:157)
  689. 17.78 s [cursor] nonEmptyCursorInsertAndSelect (src/Cursor/Simple/List/NonEmpty.hs:72)
  690. 17.78 s [cursor] nonEmptyCursorAppendAndSelect (src/Cursor/Simple/List/NonEmpty.hs:75)
  691. 17.78 s [cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:174)
  692. 17.78 s [cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:177)
  693. 17.78 s [cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/Simple/List/NonEmpty.hs:78)
  694. 17.78 s [cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/Simple/List/NonEmpty.hs:81)
  695. 17.78 s [cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:85)
  696. 17.78 s [cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/Simple/List/NonEmpty.hs:89)
  697. 17.78 s [cursor] nonEmptyCursorRemoveElem (src/Cursor/Simple/List/NonEmpty.hs:92)
  698. 17.78 s [cursor] nonEmptyCursorDeleteElem (src/Cursor/Simple/List/NonEmpty.hs:95)
  699. 17.78 s [cursor] nonEmptyCursorSearch (src/Cursor/Simple/List/NonEmpty.hs:98)
  700. 17.78 s [cursor] nonEmptyCursorSelectOrAdd (src/Cursor/Simple/List/NonEmpty.hs:101)
  701. 17.78 s [cursor] 2% ( 1 / 37) in 'Cursor.Map'
  702. 17.78 s [cursor] Missing documentation for:
  703. 17.78 s [cursor] Module header
  704. 17.78 s [cursor] MapCursor (src/Cursor/Map.hs:56)
  705. 17.78 s [cursor] makeMapCursor (src/Cursor/Map.hs:66)
  706. 17.78 s [cursor] makeMapCursorWithSelection (src/Cursor/Map.hs:69)
  707. 17.78 s [cursor] singletonMapCursorKey (src/Cursor/Map.hs:73)
  708. 17.78 s [cursor] singletonMapCursorValue (src/Cursor/Map.hs:77)
  709. 17.78 s [cursor] rebuildMapCursor (src/Cursor/Map.hs:81)
  710. 17.78 s [cursor] mapMapCursor (src/Cursor/Map.hs:85)
  711. 17.78 s [cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:104)
  712. 17.78 s [cursor] mapCursorElemL (src/Cursor/Map.hs:108)
  713. 17.78 s [cursor] mapCursorElemSelection (src/Cursor/Map.hs:111)
  714. 17.78 s [cursor] mapCursorSelectKey (src/Cursor/Map.hs:114)
  715. 17.78 s [cursor] mapCursorSelectValue (src/Cursor/Map.hs:117)
  716. 17.78 s [cursor] mapCursorToggleSelected (src/Cursor/Map.hs:121)
  717. 17.78 s [cursor] mapCursorSelectPrev (src/Cursor/Map.hs:125)
  718. 17.78 s [cursor] mapCursorSelectNext (src/Cursor/Map.hs:130)
  719. 17.78 s [cursor] mapCursorSelectFirst (src/Cursor/Map.hs:135)
  720. 17.78 s [cursor] mapCursorSelectLast (src/Cursor/Map.hs:140)
  721. 17.78 s [cursor] mapCursorSelection (src/Cursor/Map.hs:144)
  722. 17.78 s [cursor] mapCursorSelectIndex (src/Cursor/Map.hs:153)
  723. 17.78 s [cursor] mapCursorInsert (src/Cursor/Map.hs:157)
  724. 17.78 s [cursor] mapCursorAppend (src/Cursor/Map.hs:160)
  725. 17.78 s [cursor] mapCursorInsertAndSelectKey (src/Cursor/Map.hs:164)
  726. 17.78 s [cursor] mapCursorAppendAndSelectKey (src/Cursor/Map.hs:170)
  727. 17.78 s [cursor] mapCursorInsertAndSelectValue (src/Cursor/Map.hs:176)
  728. 17.78 s [cursor] mapCursorAppendAndSelectValue (src/Cursor/Map.hs:182)
  729. 17.78 s [cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Map.hs:188)
  730. 17.78 s [cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Map.hs:194)
  731. 17.78 s [cursor] mapCursorRemoveElem (src/Cursor/Map.hs:199)
  732. 17.78 s [cursor] mapCursorDeleteElem (src/Cursor/Map.hs:202)
  733. 17.78 s [cursor] mapCursorSearch (src/Cursor/Map.hs:211)
  734. 17.78 s [cursor] mapCursorSelectOrAdd (src/Cursor/Map.hs:222)
  735. 17.78 s [cursor] traverseMapCursor (src/Cursor/Map.hs:234)
  736. 17.78 s [cursor] mapCursorTraverseKeyCase (src/Cursor/Map.hs:238)
  737. 17.78 s [cursor] mapCursorTraverseValueCase (src/Cursor/Map.hs:242)
  738. 17.78 s [cursor] foldMapCursor (src/Cursor/Map.hs:245)
  739. 17.78 s [cursor] 3% ( 1 / 33) in 'Cursor.Simple.Map'
  740. 17.78 s [cursor] Missing documentation for:
  741. 17.78 s [cursor] Module header
  742. 17.78 s [cursor] MapCursor (src/Cursor/Simple/Map.hs:45)
  743. 17.78 s [cursor] mapCursorList
  744. 17.78 s [cursor] makeMapCursor (src/Cursor/Simple/Map.hs:48)
  745. 17.78 s [cursor] makeMapCursorWithSelection (src/Cursor/Simple/Map.hs:51)
  746. 17.78 s [cursor] singletonMapCursorKey (src/Cursor/Map.hs:73)
  747. 17.78 s [cursor] singletonMapCursorValue (src/Cursor/Map.hs:77)
  748. 17.78 s [cursor] rebuildMapCursor (src/Cursor/Simple/Map.hs:54)
  749. 17.78 s [cursor] mapMapCursor (src/Cursor/Simple/Map.hs:57)
  750. 17.78 s [cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:104)
  751. 17.78 s [cursor] mapCursorElemL (src/Cursor/Map.hs:108)
  752. 17.78 s [cursor] mapCursorSelectKey (src/Cursor/Simple/Map.hs:60)
  753. 17.78 s [cursor] mapCursorSelectValue (src/Cursor/Simple/Map.hs:63)
  754. 17.78 s [cursor] mapCursorToggleSelected (src/Cursor/Simple/Map.hs:66)
  755. 17.78 s [cursor] mapCursorSelectPrev (src/Cursor/Simple/Map.hs:69)
  756. 17.78 s [cursor] mapCursorSelectNext (src/Cursor/Simple/Map.hs:72)
  757. 17.78 s [cursor] mapCursorSelectFirst (src/Cursor/Simple/Map.hs:75)
  758. 17.78 s [cursor] mapCursorSelectLast (src/Cursor/Simple/Map.hs:78)
  759. 17.78 s [cursor] mapCursorSelection (src/Cursor/Map.hs:144)
  760. 17.78 s [cursor] mapCursorSelectIndex (src/Cursor/Simple/Map.hs:81)
  761. 17.78 s [cursor] mapCursorInsert (src/Cursor/Map.hs:157)
  762. 17.78 s [cursor] mapCursorAppend (src/Cursor/Map.hs:160)
  763. 17.78 s [cursor] mapCursorInsertAndSelectKey (src/Cursor/Simple/Map.hs:84)
  764. 17.78 s [cursor] mapCursorAppendAndSelectKey (src/Cursor/Simple/Map.hs:87)
  765. 17.78 s [cursor] mapCursorInsertAndSelectValue (src/Cursor/Simple/Map.hs:90)
  766. 17.78 s [cursor] mapCursorAppendAndSelectValue (src/Cursor/Simple/Map.hs:93)
  767. 17.78 s [cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Map.hs:96)
  768. 17.78 s [cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Simple/Map.hs:99)
  769. 17.78 s [cursor] mapCursorRemoveElem (src/Cursor/Simple/Map.hs:102)
  770. 17.78 s [cursor] mapCursorDeleteElem (src/Cursor/Simple/Map.hs:105)
  771. 17.78 s [cursor] mapCursorSearch (src/Cursor/Simple/Map.hs:108)
  772. 17.78 s [cursor] mapCursorSelectOrAdd (src/Cursor/Simple/Map.hs:111)
  773. 17.78 s [cursor] 0% ( 0 / 28) in 'Cursor.List'
  774. 17.78 s [cursor] Missing documentation for:
  775. 17.78 s [cursor] Module header
  776. 17.78 s [cursor] ListCursor (src/Cursor/List.hs:42)
  777. 17.78 s [cursor] emptyListCursor (src/Cursor/List.hs:54)
  778. 17.78 s [cursor] makeListCursor (src/Cursor/List.hs:57)
  779. 17.78 s [cursor] makeListCursorWithSelection (src/Cursor/List.hs:60)
  780. 17.78 s [cursor] rebuildListCursor (src/Cursor/List.hs:66)
  781. 17.78 s [cursor] listCursorNull (src/Cursor/List.hs:69)
  782. 17.78 s [cursor] listCursorLength (src/Cursor/List.hs:72)
  783. 17.78 s [cursor] listCursorIndex (src/Cursor/List.hs:75)
  784. 17.78 s [cursor] listCursorSelectPrev (src/Cursor/List.hs:78)
  785. 17.78 s [cursor] listCursorSelectNext (src/Cursor/List.hs:84)
  786. 17.78 s [cursor] listCursorSelectIndex (src/Cursor/List.hs:90)
  787. 17.78 s [cursor] listCursorSelectStart (src/Cursor/List.hs:96)
  788. 17.78 s [cursor] listCursorSelectEnd (src/Cursor/List.hs:102)
  789. 17.78 s [cursor] listCursorPrevItem (src/Cursor/List.hs:108)
  790. 17.78 s [cursor] listCursorNextItem (src/Cursor/List.hs:114)
  791. 17.78 s [cursor] listCursorPrevUntil (src/Cursor/List.hs:120)
  792. 17.78 s [cursor] listCursorNextUntil (src/Cursor/List.hs:130)
  793. 17.78 s [cursor] listCursorInsert (src/Cursor/List.hs:140)
  794. 17.78 s [cursor] listCursorAppend (src/Cursor/List.hs:143)
  795. 17.78 s [cursor] listCursorInsertList (src/Cursor/List.hs:146)
  796. 17.78 s [cursor] listCursorAppendList (src/Cursor/List.hs:149)
  797. 17.78 s [cursor] listCursorRemove (src/Cursor/List.hs:152)
  798. 17.78 s [cursor] listCursorDelete (src/Cursor/List.hs:161)
  799. 17.78 s [cursor] listCursorSplit (src/Cursor/List.hs:170)
  800. 17.78 s [cursor] listCursorCombine (src/Cursor/List.hs:176)
  801. 17.78 s [cursor] traverseListCursor (src/Cursor/List.hs:183)
  802. 17.78 s [cursor] foldListCursor (src/Cursor/List.hs:186)
  803. 17.78 s [cursor] 16% ( 5 / 30) in 'Cursor.Text'
  804. 17.78 s [cursor] Missing documentation for:
  805. 17.78 s [cursor] Module header
  806. 17.78 s [cursor] emptyTextCursor (src/Cursor/Text.hs:67)
  807. 17.78 s [cursor] makeTextCursor (src/Cursor/Text.hs:70)
  808. 17.78 s [cursor] makeTextCursorWithSelection (src/Cursor/Text.hs:73)
  809. 17.78 s [cursor] rebuildTextCursor (src/Cursor/Text.hs:79)
  810. 17.78 s [cursor] textCursorNull (src/Cursor/Text.hs:86)
  811. 17.78 s [cursor] textCursorLength (src/Cursor/Text.hs:89)
  812. 17.78 s [cursor] textCursorIndex (src/Cursor/Text.hs:92)
  813. 17.78 s [cursor] textCursorSelectPrev (src/Cursor/Text.hs:95)
  814. 17.78 s [cursor] textCursorSelectNext (src/Cursor/Text.hs:98)
  815. 17.78 s [cursor] textCursorSelectIndex (src/Cursor/Text.hs:101)
  816. 17.78 s [cursor] textCursorSelectStart (src/Cursor/Text.hs:104)
  817. 17.78 s [cursor] textCursorSelectEnd (src/Cursor/Text.hs:107)
  818. 17.78 s [cursor] textCursorPrevChar (src/Cursor/Text.hs:110)
  819. 17.78 s [cursor] textCursorNextChar (src/Cursor/Text.hs:113)
  820. 17.78 s [cursor] textCursorInsert (src/Cursor/Text.hs:190)
  821. 17.78 s [cursor] textCursorAppend (src/Cursor/Text.hs:197)
  822. 17.78 s [cursor] textCursorInsertString (src/Cursor/Text.hs:204)
  823. 17.78 s [cursor] textCursorAppendString (src/Cursor/Text.hs:210)
  824. 17.78 s [cursor] textCursorInsertText (src/Cursor/Text.hs:216)
  825. 17.78 s [cursor] textCursorAppendText (src/Cursor/Text.hs:219)
  826. 17.78 s [cursor] textCursorRemove (src/Cursor/Text.hs:222)
  827. 17.78 s [cursor] textCursorDelete (src/Cursor/Text.hs:225)
  828. 17.78 s [cursor] textCursorSplit (src/Cursor/Text.hs:228)
  829. 17.78 s [cursor] textCursorCombine (src/Cursor/Text.hs:233)
  830. 17.78 s [cursor] 6% ( 2 / 31) in 'Cursor.TextField'
  831. 17.78 s [cursor] Missing documentation for:
  832. 17.78 s [cursor] Module header
  833. 17.78 s [cursor] TextFieldCursor (src/Cursor/TextField.hs:55)
  834. 17.78 s [cursor] makeTextFieldCursor (src/Cursor/TextField.hs:73)
  835. 17.78 s [cursor] makeTextFieldCursorWithSelection (src/Cursor/TextField.hs:76)
  836. 17.78 s [cursor] rebuildTextFieldCursorLines (src/Cursor/TextField.hs:86)
  837. 17.78 s [cursor] rebuildTextFieldCursor (src/Cursor/TextField.hs:89)
  838. 17.78 s [cursor] emptyTextFieldCursor (src/Cursor/TextField.hs:92)
  839. 17.78 s [cursor] nullTextFieldCursor (src/Cursor/TextField.hs:96)
  840. 17.78 s [cursor] textFieldCursorSelection (src/Cursor/TextField.hs:99)
  841. 17.78 s [cursor] textFieldCursorNonEmptyCursorL (src/Cursor/TextField.hs:105)
  842. 17.78 s [cursor] textFieldCursorSelectedL (src/Cursor/TextField.hs:109)
  843. 17.78 s [cursor] textFieldCursorSelectPrevLine (src/Cursor/TextField.hs:112)
  844. 17.78 s [cursor] textFieldCursorSelectNextLine (src/Cursor/TextField.hs:116)
  845. 17.78 s [cursor] textFieldCursorSelectFirstLine (src/Cursor/TextField.hs:130)
  846. 17.78 s [cursor] textFieldCursorSelectLastLine (src/Cursor/TextField.hs:134)
  847. 17.78 s [cursor] textFieldCursorSelectPrevChar (src/Cursor/TextField.hs:148)
  848. 17.78 s [cursor] textFieldCursorSelectNextChar (src/Cursor/TextField.hs:151)
  849. 17.78 s [cursor] textFieldCursorSelectPrevWord (src/Cursor/TextField.hs:160)
  850. 17.78 s [cursor] textFieldCursorSelectNextWord (src/Cursor/TextField.hs:163)
  851. 17.78 s [cursor] textFieldCursorSelectBeginWord (src/Cursor/TextField.hs:154)
  852. 17.78 s [cursor] textFieldCursorSelectEndWord (src/Cursor/TextField.hs:157)
  853. 17.78 s [cursor] textFieldCursorIndexOnLine (src/Cursor/TextField.hs:166)
  854. 17.78 s [cursor] textFieldCursorSelectIndexOnLine (src/Cursor/TextField.hs:169)
  855. 17.78 s [cursor] textFieldCursorInsertNewline (src/Cursor/TextField.hs:200)
  856. 17.78 s [cursor] textFieldCursorAppendNewline (src/Cursor/TextField.hs:213)
  857. 17.78 s [cursor] textFieldCursorRemove (src/Cursor/TextField.hs:226)
  858. 17.78 s [cursor] textFieldCursorDelete (src/Cursor/TextField.hs:250)
  859. 17.78 s [cursor] textFieldCursorSelectStartOfLine (src/Cursor/TextField.hs:274)
  860. 17.78 s [cursor] textFieldCursorSelectEndOfLine (src/Cursor/TextField.hs:277)
  861. 17.78 s [cursor] 8% ( 8 / 93) in 'Cursor.Forest'
  862. 17.78 s [cursor] Missing documentation for:
  863. 17.78 s [cursor] Module header
  864. 17.78 s [cursor] ForestCursor (src/Cursor/Forest.hs:114)
  865. 17.78 s [cursor] singletonForestCursor (src/Cursor/Forest.hs:124)
  866. 17.78 s [cursor] makeForestCursor (src/Cursor/Forest.hs:127)
  867. 17.78 s [cursor] rebuildForestCursor (src/Cursor/Forest.hs:130)
  868. 17.78 s [cursor] drawForestCursor (src/Cursor/Forest.hs:133)
  869. 17.78 s [cursor] mapForestCursor (src/Cursor/Forest.hs:140)
  870. 17.78 s [cursor] forestCursorListCursorL (src/Cursor/Forest.hs:144)
  871. 17.78 s [cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:147)
  872. 17.78 s [cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Forest.hs:151)
  873. 17.78 s [cursor] forestCursorSelectNextTreeCursor (src/Cursor/Forest.hs:156)
  874. 17.78 s [cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Forest.hs:160)
  875. 17.78 s [cursor] forestCursorSelectLastTreeCursor (src/Cursor/Forest.hs:164)
  876. 17.78 s [cursor] forestCursorSelectPrev (src/Cursor/Forest.hs:173)
  877. 17.78 s [cursor] forestCursorSelectNext (src/Cursor/Forest.hs:168)
  878. 17.78 s [cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Forest.hs:188)
  879. 17.78 s [cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Forest.hs:182)
  880. 17.78 s [cursor] forestCursorSelectFirst (src/Cursor/Forest.hs:205)
  881. 17.78 s [cursor] forestCursorSelectLast (src/Cursor/Forest.hs:214)
  882. 17.78 s [cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Forest.hs:199)
  883. 17.78 s [cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Forest.hs:193)
  884. 17.78 s [cursor] forestCursorSelectAbove (src/Cursor/Forest.hs:223)
  885. 17.78 s [cursor] forestCursorSelectBelowAtPos (src/Cursor/Forest.hs:227)
  886. 17.78 s [cursor] forestCursorSelectBelowAtStart (src/Cursor/Forest.hs:231)
  887. 17.78 s [cursor] forestCursorSelectBelowAtEnd (src/Cursor/Forest.hs:234)
  888. 17.78 s [cursor] forestCursorSelection (src/Cursor/Forest.hs:237)
  889. 17.78 s [cursor] forestCursorSelectIndex (src/Cursor/Forest.hs:241)
  890. 17.78 s [cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:245)
  891. 17.78 s [cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:248)
  892. 17.78 s [cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:251)
  893. 17.78 s [cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:254)
  894. 17.78 s [cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:258)
  895. 17.78 s [cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:262)
  896. 17.78 s [cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:270)
  897. 17.78 s [cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Forest.hs:266)
  898. 17.78 s [cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Forest.hs:274)
  899. 17.78 s [cursor] forestCursorInsertTree (src/Cursor/Forest.hs:278)
  900. 17.78 s [cursor] forestCursorAppendTree (src/Cursor/Forest.hs:288)
  901. 17.78 s [cursor] forestCursorInsertAndSelectTree (src/Cursor/Forest.hs:284)
  902. 17.78 s [cursor] forestCursorAppendAndSelectTree (src/Cursor/Forest.hs:294)
  903. 17.78 s [cursor] forestCursorInsert (src/Cursor/Forest.hs:298)
  904. 17.78 s [cursor] forestCursorAppend (src/Cursor/Forest.hs:312)
  905. 17.78 s [cursor] forestCursorInsertAndSelect (src/Cursor/Forest.hs:301)
  906. 17.78 s [cursor] forestCursorAppendAndSelect (src/Cursor/Forest.hs:315)
  907. 17.78 s [cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Forest.hs:304)
  908. 17.78 s [cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Forest.hs:318)
  909. 17.78 s [cursor] forestCursorInsertNodeAndSelect (src/Cursor/Forest.hs:307)
  910. 17.78 s [cursor] forestCursorAppendNodeAndSelect (src/Cursor/Forest.hs:321)
  911. 17.78 s [cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:326)
  912. 17.78 s [cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:329)
  913. 17.78 s [cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:332)
  914. 17.78 s [cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:336)
  915. 17.78 s [cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:339)
  916. 17.78 s [cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:342)
  917. 17.78 s [cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Forest.hs:346)
  918. 17.78 s [cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Forest.hs:351)
  919. 17.78 s [cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Forest.hs:356)
  920. 17.78 s [cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Forest.hs:361)
  921. 17.78 s [cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Forest.hs:366)
  922. 17.78 s [cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Forest.hs:371)
  923. 17.78 s [cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Forest.hs:376)
  924. 17.78 s [cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Forest.hs:380)
  925. 17.78 s [cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Forest.hs:384)
  926. 17.78 s [cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Forest.hs:388)
  927. 17.78 s [cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Forest.hs:392)
  928. 17.78 s [cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Forest.hs:396)
  929. 17.78 s [cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Forest.hs:400)
  930. 17.78 s [cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Forest.hs:414)
  931. 17.78 s [cursor] forestCursorRemoveElem (src/Cursor/Forest.hs:425)
  932. 17.78 s [cursor] forestCursorDeleteElem (src/Cursor/Forest.hs:430)
  933. 17.78 s [cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Forest.hs:436)
  934. 17.78 s [cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Forest.hs:451)
  935. 17.78 s [cursor] forestCursorRemoveSubTree (src/Cursor/Forest.hs:463)
  936. 17.78 s [cursor] forestCursorDeleteSubTree (src/Cursor/Forest.hs:468)
  937. 17.78 s [cursor] forestCursorAddRoot (src/Cursor/Forest.hs:473)
  938. 17.78 s [cursor] CTree (src/Cursor/Tree/Types.hs:102)
  939. 17.78 s [cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
  940. 17.78 s [cursor] cTree (src/Cursor/Tree/Types.hs:120)
  941. 17.78 s [cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
  942. 17.78 s [cursor] CForest (src/Cursor/Tree/Types.hs:125)
  943. 17.78 s [cursor] makeCForest (src/Cursor/Tree/Types.hs:148)
  944. 17.78 s [cursor] cForest (src/Cursor/Tree/Types.hs:151)
  945. 17.78 s [cursor] rebuildCForest (src/Cursor/Tree/Types.hs:157)
  946. 17.78 s [cursor] traverseForestCursor (src/Cursor/Forest.hs:751)
  947. 17.78 s [cursor] foldForestCursor (src/Cursor/Forest.hs:754)
  948. 17.78 s [cursor] 4% ( 4 / 91) in 'Cursor.Simple.Forest'
  949. 17.78 s [cursor] Missing documentation for:
  950. 17.78 s [cursor] Module header
  951. 17.78 s [cursor] ForestCursor (src/Cursor/Simple/Forest.hs:104)
  952. 17.78 s [cursor] singletonForestCursor (src/Cursor/Forest.hs:124)
  953. 17.78 s [cursor] makeForestCursor (src/Cursor/Simple/Forest.hs:107)
  954. 17.78 s [cursor] rebuildForestCursor (src/Cursor/Simple/Forest.hs:110)
  955. 17.78 s [cursor] drawForestCursor (src/Cursor/Forest.hs:133)
  956. 17.78 s [cursor] mapForestCursor (src/Cursor/Simple/Forest.hs:113)
  957. 17.78 s [cursor] forestCursorListCursorL (src/Cursor/Forest.hs:144)
  958. 17.79 s [cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:147)
  959. 17.79 s [cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Simple/Forest.hs:116)
  960. 17.79 s [cursor] forestCursorSelectNextTreeCursor (src/Cursor/Simple/Forest.hs:119)
  961. 17.79 s [cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Simple/Forest.hs:122)
  962. 17.79 s [cursor] forestCursorSelectLastTreeCursor (src/Cursor/Simple/Forest.hs:125)
  963. 17.79 s [cursor] forestCursorSelectPrev (src/Cursor/Simple/Forest.hs:131)
  964. 17.79 s [cursor] forestCursorSelectNext (src/Cursor/Simple/Forest.hs:128)
  965. 17.79 s [cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Simple/Forest.hs:137)
  966. 17.79 s [cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Simple/Forest.hs:134)
  967. 17.79 s [cursor] forestCursorSelectFirst (src/Cursor/Simple/Forest.hs:140)
  968. 17.79 s [cursor] forestCursorSelectLast (src/Cursor/Simple/Forest.hs:143)
  969. 17.79 s [cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Simple/Forest.hs:146)
  970. 17.79 s [cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Simple/Forest.hs:149)
  971. 17.79 s [cursor] forestCursorSelectAbove (src/Cursor/Simple/Forest.hs:152)
  972. 17.79 s [cursor] forestCursorSelectBelowAtPos (src/Cursor/Simple/Forest.hs:155)
  973. 17.79 s [cursor] forestCursorSelectBelowAtStart (src/Cursor/Simple/Forest.hs:158)
  974. 17.79 s [cursor] forestCursorSelectBelowAtEnd (src/Cursor/Simple/Forest.hs:161)
  975. 17.79 s [cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:245)
  976. 17.79 s [cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:248)
  977. 17.79 s [cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:251)
  978. 17.79 s [cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:254)
  979. 17.79 s [cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:258)
  980. 17.79 s [cursor] forestCursorSelection (src/Cursor/Forest.hs:237)
  981. 17.79 s [cursor] forestCursorSelectIndex (src/Cursor/Simple/Forest.hs:164)
  982. 17.79 s [cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:262)
  983. 17.79 s [cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:167)
  984. 17.79 s [cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:270)
  985. 17.79 s [cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:170)
  986. 17.79 s [cursor] forestCursorInsertTree (src/Cursor/Forest.hs:278)
  987. 17.79 s [cursor] forestCursorAppendTree (src/Cursor/Forest.hs:288)
  988. 17.79 s [cursor] forestCursorInsertAndSelectTree (src/Cursor/Simple/Forest.hs:173)
  989. 17.79 s [cursor] forestCursorAppendAndSelectTree (src/Cursor/Simple/Forest.hs:176)
  990. 17.79 s [cursor] forestCursorInsert (src/Cursor/Forest.hs:298)
  991. 17.79 s [cursor] forestCursorAppend (src/Cursor/Forest.hs:312)
  992. 17.79 s [cursor] forestCursorInsertAndSelect (src/Cursor/Simple/Forest.hs:179)
  993. 17.79 s [cursor] forestCursorAppendAndSelect (src/Cursor/Simple/Forest.hs:188)
  994. 17.79 s [cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:182)
  995. 17.79 s [cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:191)
  996. 17.79 s [cursor] forestCursorInsertNodeAndSelect (src/Cursor/Simple/Forest.hs:185)
  997. 17.79 s [cursor] forestCursorAppendNodeAndSelect (src/Cursor/Simple/Forest.hs:194)
  998. 17.79 s [cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:326)
  999. 17.79 s [cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:329)
  1000. 17.79 s [cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:332)
  1001. 17.79 s [cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:336)
  1002. 17.79 s [cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:339)
  1003. 17.79 s [cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:342)
  1004. 17.79 s [cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:197)
  1005. 17.79 s [cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:200)
  1006. 17.79 s [cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:204)
  1007. 17.79 s [cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:207)
  1008. 17.79 s [cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:210)
  1009. 17.79 s [cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:213)
  1010. 17.79 s [cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:216)
  1011. 17.79 s [cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:219)
  1012. 17.79 s [cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:222)
  1013. 17.79 s [cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:225)
  1014. 17.79 s [cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:228)
  1015. 17.79 s [cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:231)
  1016. 17.79 s [cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Forest.hs:234)
  1017. 17.79 s [cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Simple/Forest.hs:237)
  1018. 17.79 s [cursor] forestCursorRemoveElem (src/Cursor/Simple/Forest.hs:240)
  1019. 17.79 s [cursor] forestCursorDeleteElem (src/Cursor/Simple/Forest.hs:243)
  1020. 17.79 s [cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Simple/Forest.hs:246)
  1021. 17.79 s [cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Forest.hs:249)
  1022. 17.79 s [cursor] forestCursorRemoveSubTree (src/Cursor/Simple/Forest.hs:252)
  1023. 17.79 s [cursor] forestCursorDeleteSubTree (src/Cursor/Simple/Forest.hs:255)
  1024. 17.79 s [cursor] forestCursorAddRoot (src/Cursor/Simple/Forest.hs:258)
  1025. 17.79 s [cursor] forestCursorPromoteElem (src/Cursor/Simple/Forest.hs:261)
  1026. 17.79 s [cursor] forestCursorPromoteSubTree (src/Cursor/Simple/Forest.hs:264)
  1027. 17.79 s [cursor] forestCursorDemoteElem (src/Cursor/Simple/Forest.hs:267)
  1028. 17.79 s [cursor] forestCursorDemoteSubTree (src/Cursor/Simple/Forest.hs:270)
  1029. 17.79 s [cursor] CTree (src/Cursor/Tree/Types.hs:102)
  1030. 17.79 s [cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
  1031. 17.79 s [cursor] cTree (src/Cursor/Tree/Types.hs:120)
  1032. 17.79 s [cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
  1033. 17.79 s [cursor] CForest (src/Cursor/Tree/Types.hs:125)
  1034. 17.79 s [cursor] makeCForest (src/Cursor/Tree/Types.hs:148)
  1035. 17.79 s [cursor] cForest (src/Cursor/Tree/Types.hs:151)
  1036. 17.79 s [cursor] rebuildCForest (src/Cursor/Tree/Types.hs:157)
  1037. 17.92 s [cursor] Warning: Cursor.Map.KeyValue: could not find link destinations for:
  1038. 17.92 s [cursor] - Cursor.Map.KeyValue.Rep_KeyValueToggle
  1039. 17.92 s [cursor] - Cursor.Map.KeyValue.Rep_KeyValueCursor
  1040. 17.92 s [cursor] Warning: Cursor.Simple.Map.KeyValue: could not find link destinations for:
  1041. 17.92 s [cursor] - Cursor.Map.KeyValue.Rep_KeyValueToggle
  1042. 17.93 s [cursor] Warning: Cursor.Tree.Types: could not find link destinations for:
  1043. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeCursor
  1044. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeAbove
  1045. 17.93 s [cursor] - Cursor.Tree.Types.Rep_CForest
  1046. 17.93 s [cursor] - Cursor.Tree.Types.Rep_CTree
  1047. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeCursorSelection
  1048. 17.93 s [cursor] Warning: Cursor.Tree.Swap: could not find link destinations for:
  1049. 17.93 s [cursor] - Cursor.Tree.Swap.Rep_SwapResult
  1050. 17.93 s [cursor] Warning: Cursor.Tree.Promote: could not find link destinations for:
  1051. 17.93 s [cursor] - Cursor.Tree.Promote.Rep_PromoteResult
  1052. 17.93 s [cursor] - Cursor.Tree.Promote.Rep_PromoteElemResult
  1053. 17.93 s [cursor] Warning: Cursor.Tree.Movement: could not find link destinations for:
  1054. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeCursorSelection
  1055. 17.93 s [cursor] Warning: Cursor.Tree.Demote: could not find link destinations for:
  1056. 17.93 s [cursor] - Cursor.Tree.Demote.Rep_DemoteResult
  1057. 17.93 s [cursor] Warning: Cursor.Types: could not find link destinations for:
  1058. 17.93 s [cursor] - Cursor.Types.Rep_DeleteOrUpdate
  1059. 17.93 s [cursor] Warning: Cursor.Tree: could not find link destinations for:
  1060. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeCursor
  1061. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeAbove
  1062. 17.93 s [cursor] Warning: Cursor.Simple.Tree: could not find link destinations for:
  1063. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeAbove
  1064. 17.93 s [cursor] - Cursor.Tree.Types.Rep_CForest
  1065. 17.93 s [cursor] - Cursor.Tree.Types.Rep_CTree
  1066. 17.93 s [cursor] - Cursor.Tree.Types.Rep_TreeCursorSelection
  1067. 17.94 s [cursor] - Cursor.Tree.Swap.Rep_SwapResult
  1068. 17.94 s [cursor] - Cursor.Tree.Promote.Rep_PromoteResult
  1069. 17.94 s [cursor] - Cursor.Tree.Promote.Rep_PromoteElemResult
  1070. 17.94 s [cursor] - Cursor.Tree.Demote.Rep_DemoteResult
  1071. 17.94 s [cursor] Warning: Cursor.List.NonEmpty: could not find link destinations for:
  1072. 17.94 s [cursor] - Cursor.List.NonEmpty.Rep_NonEmptyCursor
  1073. 17.94 s [cursor] Warning: Cursor.Map: could not find link destinations for:
  1074. 17.94 s [cursor] - Cursor.Map.Rep_MapCursor
  1075. 17.94 s [cursor] Warning: Cursor.List: could not find link destinations for:
  1076. 17.94 s [cursor] - Cursor.List.Rep_ListCursor
  1077. 17.94 s [cursor] Warning: Cursor.Text: could not find link destinations for:
  1078. 17.94 s [cursor] - Cursor.Text.Rep_TextCursor
  1079. 17.94 s [cursor] Warning: Cursor.TextField: could not find link destinations for:
  1080. 17.94 s [cursor] - Cursor.TextField.Rep_TextFieldCursor
  1081. 17.94 s [cursor] Warning: Cursor.Forest: could not find link destinations for:
  1082. 17.94 s [cursor] - Cursor.Tree.Types.Rep_CForest
  1083. 17.94 s [cursor] - Cursor.Tree.Types.Rep_CTree
  1084. 17.94 s [cursor] - Cursor.Forest.Rep_ForestCursor
  1085. 17.95 s [cursor] Warning: Cursor.Simple.Forest: could not find link destinations for:
  1086. 17.95 s [cursor] - Cursor.Tree.Types.Rep_CForest
  1087. 17.95 s [cursor] - Cursor.Tree.Types.Rep_CTree
  1088. 20.44 s [cursor] Documentation created: dist/doc/html/cursor/, dist/doc/html/cursor/cursor.txt
  1089. 20.50 s [cursor] Phase: installPhase
  1090. 20.55 s [cursor] Installing library in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1091. 20.99 s [cursor] Phase: fixupPhase
  1092. 21.01 s [cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0
  1093. 21.11 s [cursor] shrinking /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHScursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl-ghc9.8.4.so
  1094. 21.11 s [cursor] checking for references to /build/ in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0...
  1095. 21.11 s [cursor] patching script interpreter paths in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0
  1096. 21.11 s [cursor] stripping (with command strip and flags -S -p) in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib
  1097. 21.24 s [cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
  1098. 21.26 s [cursor] checking for references to /build/ in /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc...
  1099. 21.27 s [cursor] patching script interpreter paths in /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
  1100. 21.34 s [post-build-hook] Uploading to cachix cache "cursor": /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
  1101. 21.74 s [post-build-hook] Pushing 2 paths (74 are already present) using zstd to cache cursor ⏳
  1102. 21.74 s [post-build-hook]
  1103. 22.14 s [post-build-hook] Pushing /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 (10.74 MiB)
  1104. 22.28 s [post-build-hook] Pushing /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc (5.09 MiB)
  1105. 23.64 s [post-build-hook]
  1106. 23.64 s [post-build-hook] All done.
  1107. 23.65 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
  1108. 23.88 s [post-build-hook] copying 2 paths...
  1109. 23.88 s [post-build-hook] copying path '/nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc' to 'https://cache.staging.nix-ci.com'...
  1110. 24.60 s [post-build-hook] copying path '/nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
  1111. 27.45 s [post-build-hook] copying 1 paths...
  1112. 27.45 s [post-build-hook] copying path '/nix/store/hw6yx5ixsrrdxiyhn2scnd5qygcscl35-cursor-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
  1113. 27.69 s Progress: 2 of 6 built, 20 of 20 downloaded from cache
  1114. 27.73 s Building cursor-gen-source
  1115. 27.87 s [cursor-gen-source] Phase: setupCompilerEnvironmentPhase
  1116. 27.87 s [cursor-gen-source] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
  1117. 28.05 s [cursor-gen-source] Phase: unpackPhase
  1118. 28.06 s [cursor-gen-source] unpacking source archive /nix/store/zr91qcy7vh6f07g44v03gchz5zlvgwpq-cursor-gen
  1119. 28.08 s [cursor-gen-source] source root is cursor-gen
  1120. 28.09 s [cursor-gen-source] Phase: patchPhase
  1121. 28.10 s [cursor-gen-source] Phase: compileBuildDriverPhase
  1122. 28.10 s [cursor-gen-source] setupCompileFlags: -package-db=/build/tmp.Ndea4TMSRV/setup-package.conf.d -threaded
  1123. 28.14 s [cursor-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.Ndea4TMSRV/Main.o )
  1124. 28.20 s [cursor-gen-source] [2 of 2] Linking Setup
  1125. 29.40 s [cursor-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
  1126. 29.41 s [cursor-gen-source] Phase: configurePhase
  1127. 29.42 s [cursor-gen-source] configureFlags: --verbose --prefix=/nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/cursor-gen-0.4.0.0 --with-gcc=gcc --package-db=/build/tmp.Ndea4TMSRV/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
  1128. 29.43 s [cursor-gen-source] Using Parsec parser
  1129. 29.43 s [cursor-gen-source] Configuring cursor-gen-0.4.0.0...
  1130. 29.70 s [cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
  1131. 29.70 s [cursor-gen-source] Dependency base <5: using base-4.19.2.0
  1132. 29.70 s [cursor-gen-source] Dependency containers: using containers-0.6.8
  1133. 29.70 s [cursor-gen-source] Dependency cursor >=0.2: using cursor-0.3.2.0
  1134. 29.70 s [cursor-gen-source] Dependency genvalidity >=0.8: using genvalidity-1.1.1.0
  1135. 29.70 s [cursor-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  1136. 29.70 s [cursor-gen-source] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
  1137. 29.70 s [cursor-gen-source] Dependency text: using text-2.1.1
  1138. 29.70 s [cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
  1139. 29.70 s [cursor-gen-source] Dependency base <5: using base-4.19.2.0
  1140. 29.70 s [cursor-gen-source] Dependency containers: using containers-0.6.8
  1141. 29.70 s [cursor-gen-source] Dependency cursor: using cursor-0.3.2.0
  1142. 29.70 s [cursor-gen-source] Dependency cursor-gen: using cursor-gen-0.4.0.0
  1143. 29.70 s [cursor-gen-source] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
  1144. 29.70 s [cursor-gen-source] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
  1145. 29.70 s [cursor-gen-source] Dependency hspec: using hspec-2.11.12
  1146. 29.70 s [cursor-gen-source] Dependency microlens: using microlens-0.4.13.1
  1147. 29.70 s [cursor-gen-source] Dependency pretty-show: using pretty-show-1.10
  1148. 29.70 s [cursor-gen-source] Dependency text: using text-2.1.1
  1149. 29.93 s [cursor-gen-source] Source component graph:
  1150. 29.93 s [cursor-gen-source] component lib
  1151. 29.93 s [cursor-gen-source] component test:cursor-test dependency lib
  1152. 29.93 s [cursor-gen-source] Configured component graph:
  1153. 29.93 s [cursor-gen-source] component cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1154. 29.93 s [cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1155. 29.93 s [cursor-gen-source] include base-4.19.2.0-213b
  1156. 29.93 s [cursor-gen-source] include containers-0.6.8-70da
  1157. 29.93 s [cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1158. 29.93 s [cursor-gen-source] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
  1159. 29.93 s [cursor-gen-source] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
  1160. 29.93 s [cursor-gen-source] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
  1161. 29.93 s [cursor-gen-source] include text-2.1.1-c123
  1162. 29.93 s [cursor-gen-source] component cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
  1163. 29.93 s [cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1164. 29.93 s [cursor-gen-source] include base-4.19.2.0-213b
  1165. 29.93 s [cursor-gen-source] include containers-0.6.8-70da
  1166. 29.93 s [cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1167. 29.93 s [cursor-gen-source] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1168. 29.93 s [cursor-gen-source] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
  1169. 29.93 s [cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
  1170. 29.93 s [cursor-gen-source] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
  1171. 29.93 s [cursor-gen-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  1172. 29.93 s [cursor-gen-source] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
  1173. 29.93 s [cursor-gen-source] include text-2.1.1-c123
  1174. 29.93 s [cursor-gen-source] Linked component graph:
  1175. 29.93 s [cursor-gen-source] unit cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1176. 29.93 s [cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1177. 29.93 s [cursor-gen-source] include base-4.19.2.0-213b
  1178. 29.93 s [cursor-gen-source] include containers-0.6.8-70da
  1179. 29.93 s [cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1180. 29.93 s [cursor-gen-source] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
  1181. 29.93 s [cursor-gen-source] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
  1182. 29.93 s [cursor-gen-source] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
  1183. 29.93 s [cursor-gen-source] include text-2.1.1-c123
  1184. 29.93 s [cursor-gen-source] Cursor.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Tree.Gen
  1185. 29.93 s [cursor-gen-source] unit cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
  1186. 29.93 s [cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1187. 29.93 s [cursor-gen-source] include base-4.19.2.0-213b
  1188. 29.93 s [cursor-gen-source] include containers-0.6.8-70da
  1189. 29.93 s [cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1190. 29.93 s [cursor-gen-source] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1191. 29.93 s [cursor-gen-source] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
  1192. 29.93 s [cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
  1193. 29.93 s [cursor-gen-source] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
  1194. 29.93 s [cursor-gen-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  1195. 29.93 s [cursor-gen-source] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
  1196. 29.93 s [cursor-gen-source] include text-2.1.1-c123
  1197. 29.93 s [cursor-gen-source] Ready component graph:
  1198. 29.93 s [cursor-gen-source] definite cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1199. 29.93 s [cursor-gen-source] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1200. 29.93 s [cursor-gen-source] depends base-4.19.2.0-213b
  1201. 29.93 s [cursor-gen-source] depends containers-0.6.8-70da
  1202. 29.93 s [cursor-gen-source] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1203. 29.93 s [cursor-gen-source] depends genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
  1204. 29.93 s [cursor-gen-source] depends genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
  1205. 29.93 s [cursor-gen-source] depends genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
  1206. 29.93 s [cursor-gen-source] depends text-2.1.1-c123
  1207. 29.93 s [cursor-gen-source] definite cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
  1208. 29.93 s [cursor-gen-source] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1209. 29.93 s [cursor-gen-source] depends base-4.19.2.0-213b
  1210. 29.93 s [cursor-gen-source] depends containers-0.6.8-70da
  1211. 29.93 s [cursor-gen-source] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1212. 29.93 s [cursor-gen-source] depends cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1213. 29.93 s [cursor-gen-source] depends genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
  1214. 29.93 s [cursor-gen-source] depends genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
  1215. 29.93 s [cursor-gen-source] depends hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
  1216. 29.93 s [cursor-gen-source] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  1217. 29.93 s [cursor-gen-source] depends pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
  1218. 29.93 s [cursor-gen-source] depends text-2.1.1-c123
  1219. 29.93 s [cursor-gen-source] Using Cabal-3.10.3.0 compiled by ghc-9.8
  1220. 29.93 s [cursor-gen-source] Using compiler: ghc-9.8.4
  1221. 29.93 s [cursor-gen-source] Using install prefix:
  1222. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0
  1223. 29.93 s [cursor-gen-source] Executables installed in:
  1224. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/bin
  1225. 29.93 s [cursor-gen-source] Libraries installed in:
  1226. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1227. 29.93 s [cursor-gen-source] Dynamic Libraries installed in:
  1228. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
  1229. 29.93 s [cursor-gen-source] Private executables installed in:
  1230. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/libexec/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
  1231. 29.93 s [cursor-gen-source] Data files installed in:
  1232. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/share/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
  1233. 29.93 s [cursor-gen-source] Documentation installed in: /share/doc/cursor-gen-0.4.0.0
  1234. 29.93 s [cursor-gen-source] Configuration files installed in:
  1235. 29.93 s [cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/etc
  1236. 29.93 s [cursor-gen-source] No alex found
  1237. 29.93 s [cursor-gen-source] Using ar found on system at:
  1238. 29.93 s [cursor-gen-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
  1239. 29.93 s [cursor-gen-source] No c2hs found
  1240. 29.93 s [cursor-gen-source] No cpphs found
  1241. 29.93 s [cursor-gen-source] No doctest found
  1242. 29.93 s [cursor-gen-source] Using gcc version 14.2.1 given by user at:
  1243. 29.93 s [cursor-gen-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
  1244. 29.93 s [cursor-gen-source] Using ghc version 9.8.4 found on system at:
  1245. 29.93 s [cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
  1246. 29.93 s [cursor-gen-source] Using ghc-pkg version 9.8.4 found on system at:
  1247. 29.93 s [cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
  1248. 29.93 s [cursor-gen-source] No ghcjs found
  1249. 29.93 s [cursor-gen-source] No ghcjs-pkg found
  1250. 29.93 s [cursor-gen-source] No greencard found
  1251. 29.93 s [cursor-gen-source] Using haddock version 2.30.0 found on system at:
  1252. 29.93 s [cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
  1253. 29.93 s [cursor-gen-source] No happy found
  1254. 29.93 s [cursor-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
  1255. 29.93 s [cursor-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  1256. 29.93 s [cursor-gen-source] No hmake found
  1257. 29.93 s [cursor-gen-source] Using hpc version 0.69 found on system at:
  1258. 29.93 s [cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
  1259. 29.93 s [cursor-gen-source] Using hsc2hs version 0.68.10 found on system at:
  1260. 29.93 s [cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
  1261. 29.93 s [cursor-gen-source] Using hscolour version 1.25 found on system at:
  1262. 29.93 s [cursor-gen-source] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
  1263. 29.93 s [cursor-gen-source] No jhc found
  1264. 29.93 s [cursor-gen-source] Using ld found on system at:
  1265. 29.93 s [cursor-gen-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
  1266. 29.93 s [cursor-gen-source] No pkg-config found
  1267. 29.93 s [cursor-gen-source] Using runghc version 9.8.4 found on system at:
  1268. 29.93 s [cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
  1269. 29.93 s [cursor-gen-source] Using strip version 2.44 found on system at:
  1270. 29.93 s [cursor-gen-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
  1271. 29.93 s [cursor-gen-source] Using tar found on system at:
  1272. 29.93 s [cursor-gen-source] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
  1273. 29.93 s [cursor-gen-source] No uhc found
  1274. 30.38 s [cursor-gen-source] Phase: buildPhase
  1275. 30.39 s [cursor-gen-source] Building source dist for cursor-gen-0.4.0.0...
  1276. 30.41 s [cursor-gen-source] Source tarball created: dist/cursor-gen-0.4.0.0.tar.gz
  1277. 30.42 s [cursor-gen-source] Phase: checkPhase
  1278. 30.42 s [cursor-gen-source] Phase: haddockPhase
  1279. 30.43 s [cursor-gen-source] Phase: installPhase
  1280. 30.44 s [cursor-gen-source] Phase: fixupPhase
  1281. 30.46 s [post-build-hook] Uploading to cachix cache "cursor": /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0
  1282. 30.82 s [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
  1283. 30.82 s [post-build-hook]
  1284. 31.26 s [post-build-hook] Pushing /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0 (19.01 KiB)
  1285. 32.41 s [post-build-hook]
  1286. 32.41 s [post-build-hook] All done.
  1287. 32.43 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0
  1288. 32.49 s [post-build-hook] copying 1 paths...
  1289. 32.49 s [post-build-hook] copying path '/nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
  1290. 33.96 s [post-build-hook] copying 3 paths...
  1291. 33.96 s [post-build-hook] copying path '/nix/store/9il6slbp1q0vsnbx6vzs45yhmkgya63i-genvalidity-hspec-optics-1.0.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
  1292. 34.14 s [post-build-hook] copying path '/nix/store/1lc4fmik98ylwh0ydlw23aywb4kir4i2-genvalidity-hspec-optics-1.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  1293. 34.35 s [post-build-hook] copying path '/nix/store/2hav4aykhjs98c2jn1207kh5n84m2x2z-cursor-gen-source-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  1294. 35.86 s Progress: 3 of 6 built, 20 of 20 downloaded from cache
  1295. 35.90 s Building cursor-gen
  1296. 36.03 s [cursor-gen] Phase: setupCompilerEnvironmentPhase
  1297. 36.03 s [cursor-gen] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
  1298. 36.20 s [cursor-gen] Phase: unpackPhase
  1299. 36.20 s [cursor-gen] unpacking source archive /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/cursor-gen-0.4.0.0.tar.gz
  1300. 36.21 s [cursor-gen] source root is cursor-gen-0.4.0.0
  1301. 36.22 s [cursor-gen] setting SOURCE_DATE_EPOCH to timestamp 1780346383 of file "cursor-gen-0.4.0.0/test/Spec.hs"
  1302. 36.22 s [cursor-gen] warning: file "cursor-gen-0.4.0.0/test/Spec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
  1303. 36.22 s [cursor-gen] Phase: patchPhase
  1304. 36.23 s [cursor-gen] Phase: compileBuildDriverPhase
  1305. 36.23 s [cursor-gen] setupCompileFlags: -package-db=/build/tmp.VKIqAPgwJs/setup-package.conf.d -threaded
  1306. 36.26 s [cursor-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.VKIqAPgwJs/Main.o )
  1307. 36.32 s [cursor-gen] [2 of 2] Linking Setup
  1308. 37.38 s [cursor-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
  1309. 37.39 s [cursor-gen] Phase: configurePhase
  1310. 37.40 s [cursor-gen] configureFlags: --verbose --prefix=/nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0 --with-gcc=gcc --package-db=/build/tmp.VKIqAPgwJs/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
  1311. 37.40 s [cursor-gen] Using Parsec parser
  1312. 37.40 s [cursor-gen] Configuring cursor-gen-0.4.0.0...
  1313. 37.66 s [cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
  1314. 37.68 s [cursor-gen] Dependency base <5: using base-4.19.2.0
  1315. 37.68 s [cursor-gen] Dependency containers: using containers-0.6.8
  1316. 37.68 s [cursor-gen] Dependency cursor >=0.2: using cursor-0.3.2.0
  1317. 37.68 s [cursor-gen] Dependency genvalidity >=0.8: using genvalidity-1.1.1.0
  1318. 37.68 s [cursor-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  1319. 37.68 s [cursor-gen] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
  1320. 37.68 s [cursor-gen] Dependency text: using text-2.1.1
  1321. 37.68 s [cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
  1322. 37.68 s [cursor-gen] Dependency base <5: using base-4.19.2.0
  1323. 37.68 s [cursor-gen] Dependency containers: using containers-0.6.8
  1324. 37.68 s [cursor-gen] Dependency cursor: using cursor-0.3.2.0
  1325. 37.68 s [cursor-gen] Dependency cursor-gen: using cursor-gen-0.4.0.0
  1326. 37.68 s [cursor-gen] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
  1327. 37.68 s [cursor-gen] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
  1328. 37.68 s [cursor-gen] Dependency hspec: using hspec-2.11.12
  1329. 37.68 s [cursor-gen] Dependency microlens: using microlens-0.4.13.1
  1330. 37.68 s [cursor-gen] Dependency pretty-show: using pretty-show-1.10
  1331. 37.68 s [cursor-gen] Dependency text: using text-2.1.1
  1332. 37.86 s [cursor-gen] Source component graph:
  1333. 37.86 s [cursor-gen] component lib
  1334. 37.86 s [cursor-gen] component test:cursor-test dependency lib
  1335. 37.86 s [cursor-gen] Configured component graph:
  1336. 37.86 s [cursor-gen] component cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1337. 37.86 s [cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1338. 37.86 s [cursor-gen] include base-4.19.2.0-213b
  1339. 37.86 s [cursor-gen] include containers-0.6.8-70da
  1340. 37.86 s [cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1341. 37.86 s [cursor-gen] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
  1342. 37.86 s [cursor-gen] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
  1343. 37.86 s [cursor-gen] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
  1344. 37.86 s [cursor-gen] include text-2.1.1-c123
  1345. 37.86 s [cursor-gen] component cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
  1346. 37.86 s [cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1347. 37.86 s [cursor-gen] include base-4.19.2.0-213b
  1348. 37.86 s [cursor-gen] include containers-0.6.8-70da
  1349. 37.86 s [cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1350. 37.86 s [cursor-gen] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1351. 37.86 s [cursor-gen] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
  1352. 37.86 s [cursor-gen] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
  1353. 37.86 s [cursor-gen] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
  1354. 37.86 s [cursor-gen] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  1355. 37.86 s [cursor-gen] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
  1356. 37.86 s [cursor-gen] include text-2.1.1-c123
  1357. 37.86 s [cursor-gen] Linked component graph:
  1358. 37.86 s [cursor-gen] unit cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1359. 37.86 s [cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1360. 37.86 s [cursor-gen] include base-4.19.2.0-213b
  1361. 37.86 s [cursor-gen] include containers-0.6.8-70da
  1362. 37.86 s [cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1363. 37.86 s [cursor-gen] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
  1364. 37.86 s [cursor-gen] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
  1365. 37.86 s [cursor-gen] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
  1366. 37.86 s [cursor-gen] include text-2.1.1-c123
  1367. 37.86 s [cursor-gen] Cursor.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Tree.Gen
  1368. 37.86 s [cursor-gen] unit cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
  1369. 37.86 s [cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1370. 37.86 s [cursor-gen] include base-4.19.2.0-213b
  1371. 37.86 s [cursor-gen] include containers-0.6.8-70da
  1372. 37.86 s [cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1373. 37.86 s [cursor-gen] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1374. 37.86 s [cursor-gen] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
  1375. 37.86 s [cursor-gen] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
  1376. 37.86 s [cursor-gen] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
  1377. 37.86 s [cursor-gen] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  1378. 37.86 s [cursor-gen] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
  1379. 37.86 s [cursor-gen] include text-2.1.1-c123
  1380. 37.86 s [cursor-gen] Ready component graph:
  1381. 37.86 s [cursor-gen] definite cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1382. 37.86 s [cursor-gen] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1383. 37.86 s [cursor-gen] depends base-4.19.2.0-213b
  1384. 37.86 s [cursor-gen] depends containers-0.6.8-70da
  1385. 37.86 s [cursor-gen] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1386. 37.86 s [cursor-gen] depends genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
  1387. 37.86 s [cursor-gen] depends genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
  1388. 37.86 s [cursor-gen] depends genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
  1389. 37.86 s [cursor-gen] depends text-2.1.1-c123
  1390. 37.86 s [cursor-gen] definite cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
  1391. 37.86 s [cursor-gen] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
  1392. 37.86 s [cursor-gen] depends base-4.19.2.0-213b
  1393. 37.86 s [cursor-gen] depends containers-0.6.8-70da
  1394. 37.86 s [cursor-gen] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
  1395. 37.86 s [cursor-gen] depends cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1396. 37.86 s [cursor-gen] depends genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
  1397. 37.86 s [cursor-gen] depends genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
  1398. 37.86 s [cursor-gen] depends hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
  1399. 37.86 s [cursor-gen] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
  1400. 37.86 s [cursor-gen] depends pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
  1401. 37.86 s [cursor-gen] depends text-2.1.1-c123
  1402. 37.86 s [cursor-gen] Using Cabal-3.10.3.0 compiled by ghc-9.8
  1403. 37.86 s [cursor-gen] Using compiler: ghc-9.8.4
  1404. 37.86 s [cursor-gen] Using install prefix:
  1405. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
  1406. 37.86 s [cursor-gen] Executables installed in:
  1407. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/bin
  1408. 37.86 s [cursor-gen] Libraries installed in:
  1409. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  1410. 37.86 s [cursor-gen] Dynamic Libraries installed in:
  1411. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
  1412. 37.86 s [cursor-gen] Private executables installed in:
  1413. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/libexec/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
  1414. 37.86 s [cursor-gen] Data files installed in:
  1415. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/share/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
  1416. 37.86 s [cursor-gen] Documentation installed in:
  1417. 37.86 s [cursor-gen] /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0
  1418. 37.86 s [cursor-gen] Configuration files installed in:
  1419. 37.86 s [cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/etc
  1420. 37.86 s [cursor-gen] No alex found
  1421. 37.86 s [cursor-gen] Using ar found on system at:
  1422. 37.86 s [cursor-gen] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
  1423. 37.86 s [cursor-gen] No c2hs found
  1424. 37.86 s [cursor-gen] No cpphs found
  1425. 37.86 s [cursor-gen] No doctest found
  1426. 37.86 s [cursor-gen] Using gcc version 14.2.1 given by user at:
  1427. 37.86 s [cursor-gen] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
  1428. 37.86 s [cursor-gen] Using ghc version 9.8.4 found on system at:
  1429. 37.86 s [cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
  1430. 37.86 s [cursor-gen] Using ghc-pkg version 9.8.4 found on system at:
  1431. 37.86 s [cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
  1432. 37.86 s [cursor-gen] No ghcjs found
  1433. 37.86 s [cursor-gen] No ghcjs-pkg found
  1434. 37.86 s [cursor-gen] No greencard found
  1435. 37.86 s [cursor-gen] Using haddock version 2.30.0 found on system at:
  1436. 37.86 s [cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
  1437. 37.86 s [cursor-gen] No happy found
  1438. 37.86 s [cursor-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
  1439. 37.86 s [cursor-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  1440. 37.86 s [cursor-gen] No hmake found
  1441. 37.86 s [cursor-gen] Using hpc version 0.69 found on system at:
  1442. 37.86 s [cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
  1443. 37.86 s [cursor-gen] Using hsc2hs version 0.68.10 found on system at:
  1444. 37.86 s [cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
  1445. 37.86 s [cursor-gen] Using hscolour version 1.25 found on system at:
  1446. 37.86 s [cursor-gen] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
  1447. 37.86 s [cursor-gen] No jhc found
  1448. 37.86 s [cursor-gen] Using ld found on system at:
  1449. 37.86 s [cursor-gen] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
  1450. 37.86 s [cursor-gen] No pkg-config found
  1451. 37.86 s [cursor-gen] Using runghc version 9.8.4 found on system at:
  1452. 37.86 s [cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
  1453. 37.86 s [cursor-gen] Using strip version 2.44 found on system at:
  1454. 37.86 s [cursor-gen] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
  1455. 37.86 s [cursor-gen] Using tar found on system at:
  1456. 37.86 s [cursor-gen] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
  1457. 37.86 s [cursor-gen] No uhc found
  1458. 37.97 s [cursor-gen] Phase: buildPhase
  1459. 38.01 s [cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
  1460. 38.02 s [cursor-gen] Building library for cursor-gen-0.4.0.0..
  1461. 38.10 s [cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, dist/build/Cursor/List/Gen.o, dist/build/Cursor/List/Gen.dyn_o )
  1462. 38.32 s [cursor-gen] [ 2 of 14] Compiling Cursor.List.NonEmpty.Gen ( src/Cursor/List/NonEmpty/Gen.hs, dist/build/Cursor/List/NonEmpty/Gen.o, dist/build/Cursor/List/NonEmpty/Gen.dyn_o )
  1463. 38.49 s [cursor-gen] [ 3 of 14] Compiling Cursor.Map.KeyValue.Gen ( src/Cursor/Map/KeyValue/Gen.hs, dist/build/Cursor/Map/KeyValue/Gen.o, dist/build/Cursor/Map/KeyValue/Gen.dyn_o )
  1464. 38.49 s [cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, dist/build/Cursor/Map/Gen.o, dist/build/Cursor/Map/Gen.dyn_o )
  1465. 38.57 s [cursor-gen] [ 5 of 14] Compiling Cursor.Simple.List.NonEmpty.Gen ( src/Cursor/Simple/List/NonEmpty/Gen.hs, dist/build/Cursor/Simple/List/NonEmpty/Gen.o, dist/build/Cursor/Simple/List/NonEmpty/Gen.dyn_o )
  1466. 38.57 s [cursor-gen] [ 6 of 14] Compiling Cursor.Simple.Map.Gen ( src/Cursor/Simple/Map/Gen.hs, dist/build/Cursor/Simple/Map/Gen.o, dist/build/Cursor/Simple/Map/Gen.dyn_o )
  1467. 38.59 s [cursor-gen] [ 7 of 14] Compiling Cursor.Simple.Map.KeyValue.Gen ( src/Cursor/Simple/Map/KeyValue/Gen.hs, dist/build/Cursor/Simple/Map/KeyValue/Gen.o, dist/build/Cursor/Simple/Map/KeyValue/Gen.dyn_o )
  1468. 38.59 s [cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, dist/build/Cursor/Text/Gen.o, dist/build/Cursor/Text/Gen.dyn_o )
  1469. 38.59 s [cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, dist/build/Cursor/TextField/Gen.o, dist/build/Cursor/TextField/Gen.dyn_o )
  1470. 38.59 s [cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, dist/build/Cursor/Tree/Gen.o, dist/build/Cursor/Tree/Gen.dyn_o )
  1471. 38.81 s [cursor-gen] [11 of 14] Compiling Cursor.Simple.Tree.Gen ( src/Cursor/Simple/Tree/Gen.hs, dist/build/Cursor/Simple/Tree/Gen.o, dist/build/Cursor/Simple/Tree/Gen.dyn_o )
  1472. 38.83 s [cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, dist/build/Cursor/Forest/Gen.o, dist/build/Cursor/Forest/Gen.dyn_o )
  1473. 38.84 s [cursor-gen] [13 of 14] Compiling Cursor.Simple.Forest.Gen ( src/Cursor/Simple/Forest/Gen.hs, dist/build/Cursor/Simple/Forest/Gen.o, dist/build/Cursor/Simple/Forest/Gen.dyn_o )
  1474. 38.86 s [cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, dist/build/Paths_cursor_gen.o, dist/build/Paths_cursor_gen.dyn_o )
  1475. 39.05 s [cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, dist/build/Cursor/List/Gen.p_o )
  1476. 39.30 s [cursor-gen] [ 2 of 14] Compiling Cursor.List.NonEmpty.Gen ( src/Cursor/List/NonEmpty/Gen.hs, dist/build/Cursor/List/NonEmpty/Gen.p_o )
  1477. 39.46 s [cursor-gen] [ 3 of 14] Compiling Cursor.Map.KeyValue.Gen ( src/Cursor/Map/KeyValue/Gen.hs, dist/build/Cursor/Map/KeyValue/Gen.p_o )
  1478. 39.46 s [cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, dist/build/Cursor/Map/Gen.p_o )
  1479. 39.62 s [cursor-gen] [ 5 of 14] Compiling Cursor.Simple.List.NonEmpty.Gen ( src/Cursor/Simple/List/NonEmpty/Gen.hs, dist/build/Cursor/Simple/List/NonEmpty/Gen.p_o )
  1480. 39.62 s [cursor-gen] [ 6 of 14] Compiling Cursor.Simple.Map.Gen ( src/Cursor/Simple/Map/Gen.hs, dist/build/Cursor/Simple/Map/Gen.p_o )
  1481. 39.71 s [cursor-gen] [ 7 of 14] Compiling Cursor.Simple.Map.KeyValue.Gen ( src/Cursor/Simple/Map/KeyValue/Gen.hs, dist/build/Cursor/Simple/Map/KeyValue/Gen.p_o )
  1482. 39.72 s [cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, dist/build/Cursor/Text/Gen.p_o )
  1483. 39.72 s [cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, dist/build/Cursor/TextField/Gen.p_o )
  1484. 39.72 s [cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, dist/build/Cursor/Tree/Gen.p_o )
  1485. 39.77 s [cursor-gen] [11 of 14] Compiling Cursor.Simple.Tree.Gen ( src/Cursor/Simple/Tree/Gen.hs, dist/build/Cursor/Simple/Tree/Gen.p_o )
  1486. 39.99 s [cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, dist/build/Cursor/Forest/Gen.p_o )
  1487. 39.99 s [cursor-gen] [13 of 14] Compiling Cursor.Simple.Forest.Gen ( src/Cursor/Simple/Forest/Gen.hs, dist/build/Cursor/Simple/Forest/Gen.p_o )
  1488. 40.08 s [cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, dist/build/Paths_cursor_gen.p_o )
  1489. 41.12 s [cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
  1490. 41.12 s [cursor-gen] Building test suite 'cursor-test' for cursor-gen-0.4.0.0..
  1491. 41.24 s [cursor-gen] [ 1 of 22] Compiling Cursor.List.NonEmptySpec ( test/Cursor/List/NonEmptySpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/List/NonEmptySpec.o )
  1492. 42.18 s [cursor-gen] [ 2 of 22] Compiling Cursor.ListSpec ( test/Cursor/ListSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/ListSpec.o )
  1493. 43.27 s [cursor-gen] [ 3 of 22] Compiling Cursor.Map.KeyValueSpec ( test/Cursor/Map/KeyValueSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Map/KeyValueSpec.o )
  1494. 43.32 s [cursor-gen] [ 4 of 22] Compiling Cursor.MapSpec ( test/Cursor/MapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/MapSpec.o )
  1495. 43.32 s [cursor-gen] [ 5 of 22] Compiling Cursor.Simple.ForestSpec ( test/Cursor/Simple/ForestSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/ForestSpec.o )
  1496. 45.30 s [cursor-gen] [ 6 of 22] Compiling Cursor.Simple.List.NonEmptySpec ( test/Cursor/Simple/List/NonEmptySpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/List/NonEmptySpec.o )
  1497. 45.30 s [cursor-gen] [ 7 of 22] Compiling Cursor.Simple.Map.KeyValueSpec ( test/Cursor/Simple/Map/KeyValueSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Map/KeyValueSpec.o )
  1498. 45.30 s [cursor-gen] [ 8 of 22] Compiling Cursor.Simple.MapSpec ( test/Cursor/Simple/MapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/MapSpec.o )
  1499. 45.30 s [cursor-gen] [ 9 of 22] Compiling Cursor.Simple.Tree.CollapseSpec ( test/Cursor/Simple/Tree/CollapseSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/CollapseSpec.o )
  1500. 45.30 s [cursor-gen] [10 of 22] Compiling Cursor.Simple.Tree.InsertSpec ( test/Cursor/Simple/Tree/InsertSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/InsertSpec.o )
  1501. 45.30 s [cursor-gen] [11 of 22] Compiling Cursor.Simple.Tree.TestUtils ( test/Cursor/Simple/Tree/TestUtils.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/TestUtils.o )
  1502. 45.30 s [cursor-gen] [12 of 22] Compiling Cursor.Simple.Tree.SwapSpec ( test/Cursor/Simple/Tree/SwapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/SwapSpec.o )
  1503. 45.30 s [cursor-gen] [13 of 22] Compiling Cursor.Simple.Tree.PromoteSpec ( test/Cursor/Simple/Tree/PromoteSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/PromoteSpec.o )
  1504. 45.30 s [cursor-gen] [14 of 22] Compiling Cursor.Simple.Tree.MovementSpec ( test/Cursor/Simple/Tree/MovementSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/MovementSpec.o )
  1505. 45.30 s [cursor-gen] [15 of 22] Compiling Cursor.Simple.Tree.DemoteSpec ( test/Cursor/Simple/Tree/DemoteSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/DemoteSpec.o )
  1506. 45.30 s [cursor-gen] [16 of 22] Compiling Cursor.Simple.Tree.DeleteSpec ( test/Cursor/Simple/Tree/DeleteSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/DeleteSpec.o )
  1507. 45.30 s [cursor-gen] [17 of 22] Compiling Cursor.Simple.Tree.BaseSpec ( test/Cursor/Simple/Tree/BaseSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/BaseSpec.o )
  1508. 45.30 s [cursor-gen] [18 of 22] Compiling Cursor.TextFieldSpec ( test/Cursor/TextFieldSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextFieldSpec.o )
  1509. 45.30 s [cursor-gen] [19 of 22] Compiling Cursor.TextSpec ( test/Cursor/TextSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextSpec.o )
  1510. 45.38 s [cursor-gen] [20 of 22] Compiling Cursor.Tree.TypesSpec ( test/Cursor/Tree/TypesSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Tree/TypesSpec.o )
  1511. 45.38 s [cursor-gen] [21 of 22] Compiling Main ( test/Spec.hs, dist/build/cursor-test/cursor-test-tmp/Main.o )
  1512. 45.39 s [cursor-gen] [22 of 22] Compiling Paths_cursor_gen ( dist/build/cursor-test/autogen/Paths_cursor_gen.hs, dist/build/cursor-test/cursor-test-tmp/Paths_cursor_gen.o )
  1513. 45.69 s [cursor-gen] [23 of 23] Linking dist/build/cursor-test/cursor-test
  1514. 46.56 s [cursor-gen] Phase: checkPhase
  1515. 46.59 s [cursor-gen] Running 1 test suites...
  1516. 46.59 s [cursor-gen] Test suite cursor-test: RUNNING...
  1517. 46.63 s [cursor-gen]
  1518. 46.64 s [cursor-gen] Cursor.List
  1519. 46.64 s [cursor-gen] Eq (ListCursor Bool)
  1520. 46.64 s [cursor-gen] (==) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
  1521. 46.64 s [cursor-gen] is reflexive for "valid (ListCursor Bool)"s [✔]
  1522. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1523. 46.64 s [cursor-gen] is symmetric for "valid (ListCursor Bool)"s [✔]
  1524. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1525. 46.64 s [cursor-gen] is transitive for "valid (ListCursor Bool)"s [✔]
  1526. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1527. 46.64 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ListCursor Bool)"s [✔]
  1528. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1529. 46.64 s [cursor-gen] (/=) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
  1530. 46.64 s [cursor-gen] is antireflexive for "valid (ListCursor Bool)"s [✔]
  1531. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1532. 46.64 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ListCursor Bool)"s [✔]
  1533. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1534. 46.64 s [cursor-gen] Functor ListCursor
  1535. 46.64 s [cursor-gen] fmap :: (a -> b) -> ListCursor a -> ListCursor b
  1536. 46.64 s [cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "ListCursor of ints :: (ListCursor Int)" [✔]
  1537. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1538. 46.64 s [cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "ListCursor of ints :: (ListCursor Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
  1539. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1540. 46.64 s [cursor-gen] (<$) :: a -> ListCursor b -> ListCursor a
  1541. 46.64 s [cursor-gen] is equivalent to its default implementation for "int :: Int" and "ListCursor of ints :: (ListCursor Int)" [✔]
  1542. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1543. 46.64 s [cursor-gen] GenValid (ListCursor Bool)
  1544. 46.64 s [cursor-gen] genValid :: Gen (ListCursor Bool)
  1545. 46.64 s [cursor-gen] only generates valid '(ListCursor Bool)'s [✔]
  1546. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1547. 46.64 s [cursor-gen] emptyListCursor
  1548. 46.64 s [cursor-gen] is valid [✔]
  1549. 46.64 s [cursor-gen] makeListCursor
  1550. 46.64 s [cursor-gen] produces valid list cursors [✔]
  1551. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1552. 46.64 s [cursor-gen] makeListCursorWithSelection
  1553. 46.64 s [cursor-gen] produces valid list cursors [✔]
  1554. 46.64 s [cursor-gen] +++ OK, passed 100 tests.
  1555. 46.65 s [cursor-gen] rebuildListCursor
  1556. 46.65 s [cursor-gen] produces valid lists [✔]
  1557. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1558. 46.65 s [cursor-gen] is the inverse of makeListCursor [✔]
  1559. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1560. 46.65 s [cursor-gen] is the inverse of makeListCursorWithSelection for any index [✔]
  1561. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1562. 46.65 s [cursor-gen] listCursorNull
  1563. 46.65 s [cursor-gen] produces valid bools [✔]
  1564. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1565. 46.65 s [cursor-gen] listCursorLength
  1566. 46.65 s [cursor-gen] produces valid bools [✔]
  1567. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1568. 46.65 s [cursor-gen] listCursorIndex
  1569. 46.65 s [cursor-gen] produces valid indices [✔]
  1570. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1571. 46.65 s [cursor-gen] listCursorSelectPrev
  1572. 46.65 s [cursor-gen] produces valid cursors [✔]
  1573. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1574. 46.65 s [cursor-gen] is a movement [✔]
  1575. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1576. 46.65 s [cursor-gen] selects the previous position [‐]
  1577. 46.65 s [cursor-gen] # PENDING: No reason given
  1578. 46.65 s [cursor-gen] listCursorSelectNext
  1579. 46.65 s [cursor-gen] produces valid cursors [✔]
  1580. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1581. 46.65 s [cursor-gen] is a movement [✔]
  1582. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1583. 46.65 s [cursor-gen] selects the next position [‐]
  1584. 46.65 s [cursor-gen] # PENDING: No reason given
  1585. 46.65 s [cursor-gen] listCursorSelectIndex
  1586. 46.65 s [cursor-gen] produces valid cursors [✔]
  1587. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1588. 46.65 s [cursor-gen] is a movement [✔]
  1589. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1590. 46.65 s [cursor-gen] selects the position at the given index [‐]
  1591. 46.65 s [cursor-gen] # PENDING: No reason given
  1592. 46.65 s [cursor-gen] listCursorPrevItem
  1593. 46.65 s [cursor-gen] produces valid items [✔]
  1594. 46.65 s [cursor-gen] +++ OK, passed 100 tests.
  1595. 46.65 s [cursor-gen] returns the item before the position [‐]
  1596. 46.65 s [cursor-gen] # PENDING: No reason given
  1597. 46.65 s [cursor-gen] listCursorNextItem
  1598. 46.66 s [cursor-gen] produces valid items [✔]
  1599. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1600. 46.66 s [cursor-gen] returns the item after the position [‐]
  1601. 46.66 s [cursor-gen] # PENDING: No reason given
  1602. 46.66 s [cursor-gen] listCursorPrevUntil
  1603. 46.66 s [cursor-gen] produces valid cursors [✔]
  1604. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1605. 46.66 s [cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
  1606. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1607. 46.66 s [cursor-gen] listCursorNextUntil
  1608. 46.66 s [cursor-gen] produces valid cursors [✔]
  1609. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1610. 46.66 s [cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
  1611. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1612. 46.66 s [cursor-gen] listCursorSelectStart
  1613. 46.66 s [cursor-gen] produces valid cursors [✔]
  1614. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1615. 46.66 s [cursor-gen] is a movement [✔]
  1616. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1617. 46.66 s [cursor-gen] is idempotent [✔]
  1618. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1619. 46.66 s [cursor-gen] selects the starting position [‐]
  1620. 46.66 s [cursor-gen] # PENDING: No reason given
  1621. 46.66 s [cursor-gen] listCursorSelectEnd
  1622. 46.66 s [cursor-gen] produces valid cursors [✔]
  1623. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1624. 46.66 s [cursor-gen] is a movement [✔]
  1625. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1626. 46.66 s [cursor-gen] is idempotent [✔]
  1627. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1628. 46.66 s [cursor-gen] selects the end position [‐]
  1629. 46.66 s [cursor-gen] # PENDING: No reason given
  1630. 46.66 s [cursor-gen] listCursorInsert
  1631. 46.66 s [cursor-gen] produces valids [✔]
  1632. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1633. 46.66 s [cursor-gen] inserts an item before the cursor [‐]
  1634. 46.66 s [cursor-gen] # PENDING: No reason given
  1635. 46.66 s [cursor-gen] listCursorAppend
  1636. 46.66 s [cursor-gen] produces valids [✔]
  1637. 46.66 s [cursor-gen] +++ OK, passed 100 tests.
  1638. 46.66 s [cursor-gen] inserts an item after the cursor [‐]
  1639. 46.66 s [cursor-gen] # PENDING: No reason given
  1640. 46.66 s [cursor-gen] listCursorInsertList
  1641. 46.67 s [cursor-gen] produces valids [✔]
  1642. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1643. 46.67 s [cursor-gen] listCursorAppendList
  1644. 46.67 s [cursor-gen] produces valids [✔]
  1645. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1646. 46.67 s [cursor-gen] listCursorRemove
  1647. 46.67 s [cursor-gen] produces valids [✔]
  1648. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1649. 46.67 s [cursor-gen] removes an item before the cursor [‐]
  1650. 46.67 s [cursor-gen] # PENDING: No reason given
  1651. 46.67 s [cursor-gen] listCursorDelete
  1652. 46.67 s [cursor-gen] produces valids [✔]
  1653. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1654. 46.67 s [cursor-gen] removes an item before the cursor [‐]
  1655. 46.67 s [cursor-gen] # PENDING: No reason given
  1656. 46.67 s [cursor-gen] listCursorSplit
  1657. 46.67 s [cursor-gen] produces valids [✔]
  1658. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1659. 46.67 s [cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
  1660. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1661. 46.67 s [cursor-gen] listCursorCombine
  1662. 46.67 s [cursor-gen] produces valids [✔]
  1663. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1664. 46.67 s [cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
  1665. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1666. 46.67 s [cursor-gen] Cursor.List.NonEmpty
  1667. 46.67 s [cursor-gen] nonemptyPrepend
  1668. 46.67 s [cursor-gen] is equivalent to regular prepend [✔]
  1669. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1670. 46.67 s [cursor-gen] nonemptyAppend
  1671. 46.67 s [cursor-gen] is equivalent to regular append [✔]
  1672. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1673. 46.67 s [cursor-gen] Cursor.Map
  1674. 46.67 s [cursor-gen] Eq (MapCursor Bool Bool Bool Bool)
  1675. 46.67 s [cursor-gen] (==) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
  1676. 46.67 s [cursor-gen] is reflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
  1677. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1678. 46.67 s [cursor-gen] is symmetric for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
  1679. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1680. 46.67 s [cursor-gen] is transitive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
  1681. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1682. 46.67 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
  1683. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1684. 46.67 s [cursor-gen] (/=) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
  1685. 46.67 s [cursor-gen] is antireflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
  1686. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1687. 46.67 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
  1688. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1689. 46.67 s [cursor-gen] GenValid (MapCursor Bool Bool Bool Bool)
  1690. 46.67 s [cursor-gen] genValid :: Gen (MapCursor Bool Bool Bool Bool)
  1691. 46.67 s [cursor-gen] only generates valid '(MapCursor Bool Bool Bool Bool)'s [✔]
  1692. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1693. 46.67 s [cursor-gen] Cursor.Map.KeyValue
  1694. 46.67 s [cursor-gen] Eq (KeyValueCursor Bool Bool Bool Bool)
  1695. 46.67 s [cursor-gen] (==) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
  1696. 46.67 s [cursor-gen] is reflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
  1697. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1698. 46.67 s [cursor-gen] is symmetric for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
  1699. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1700. 46.67 s [cursor-gen] is transitive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
  1701. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1702. 46.67 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
  1703. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1704. 46.67 s [cursor-gen] (/=) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
  1705. 46.67 s [cursor-gen] is antireflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
  1706. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1707. 46.67 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
  1708. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1709. 46.67 s [cursor-gen] GenValid (KeyValueCursor Bool Bool Bool Bool)
  1710. 46.67 s [cursor-gen] genValid :: Gen (KeyValueCursor Bool Bool Bool Bool)
  1711. 46.67 s [cursor-gen] only generates valid '(KeyValueCursor Bool Bool Bool Bool)'s [✔]
  1712. 46.67 s [cursor-gen] +++ OK, passed 100 tests.
  1713. 46.68 s [cursor-gen] Eq KeyValueToggle
  1714. 46.68 s [cursor-gen] (==) :: KeyValueToggle -> KeyValueToggle -> Bool
  1715. 46.68 s [cursor-gen] is reflexive for "valid KeyValueToggle"s [✔]
  1716. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1717. 46.68 s [cursor-gen] is symmetric for "valid KeyValueToggle"s [✔]
  1718. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1719. 46.68 s [cursor-gen] is transitive for "valid KeyValueToggle"s [✔]
  1720. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1721. 46.68 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid KeyValueToggle"s [✔]
  1722. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1723. 46.68 s [cursor-gen] (/=) :: KeyValueToggle -> KeyValueToggle -> Bool
  1724. 46.68 s [cursor-gen] is antireflexive for "valid KeyValueToggle"s [✔]
  1725. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1726. 46.68 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid KeyValueToggle"s [✔]
  1727. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1728. 46.68 s [cursor-gen] GenValid KeyValueToggle
  1729. 46.68 s [cursor-gen] genValid :: Gen KeyValueToggle
  1730. 46.68 s [cursor-gen] only generates valid 'KeyValueToggle's [✔]
  1731. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1732. 46.68 s [cursor-gen] Cursor.Simple.Forest
  1733. 46.68 s [cursor-gen] Eq (ForestCursor Int Int)
  1734. 46.68 s [cursor-gen] (==) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
  1735. 46.68 s [cursor-gen] is reflexive for "valid (ForestCursor Int Int)"s [✔]
  1736. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1737. 46.68 s [cursor-gen] is symmetric for "valid (ForestCursor Int Int)"s [✔]
  1738. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1739. 46.68 s [cursor-gen] is transitive for "valid (ForestCursor Int Int)"s [✔]
  1740. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1741. 46.68 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ForestCursor Int Int)"s [✔]
  1742. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1743. 46.68 s [cursor-gen] (/=) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
  1744. 46.68 s [cursor-gen] is antireflexive for "valid (ForestCursor Int Int)"s [✔]
  1745. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1746. 46.68 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ForestCursor Int Int)"s [✔]
  1747. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1748. 46.68 s [cursor-gen] GenValid (ForestCursor Bool Bool)
  1749. 46.68 s [cursor-gen] genValid :: Gen (ForestCursor Bool Bool)
  1750. 46.68 s [cursor-gen] only generates valid '(ForestCursor Bool Bool)'s [✔]
  1751. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1752. 46.68 s [cursor-gen] shrinkValid :: (ForestCursor Bool Bool -> [ForestCursor Bool Bool])
  1753. 46.68 s [cursor-gen] preserves validity for the first 10 elements [✔]
  1754. 46.68 s [cursor-gen] +++ OK, passed 50 tests.
  1755. 46.68 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  1756. 46.68 s [cursor-gen] +++ OK, passed 50 tests.
  1757. 46.68 s [cursor-gen] singletonForestCursor
  1758. 46.68 s [cursor-gen] produces valid cursors [✔]
  1759. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1760. 46.68 s [cursor-gen] makeForestCursor
  1761. 46.68 s [cursor-gen] produces valid cursors [✔]
  1762. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1763. 46.68 s [cursor-gen] rebuildForestCursor
  1764. 46.68 s [cursor-gen] produces valid forests [✔]
  1765. 46.68 s [cursor-gen] +++ OK, passed 100 tests.
  1766. 46.69 s [cursor-gen] is the inverse of makeForestCursor for integers [✔]
  1767. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1768. 46.69 s [cursor-gen] forestCursorLestCursorL
  1769. 46.69 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  1770. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1771. 46.69 s [cursor-gen] satisfies the second lens law for valid values [✔]
  1772. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1773. 46.69 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  1774. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1775. 46.69 s [cursor-gen] gets valid values from valid values values [✔]
  1776. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1777. 46.69 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  1778. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1779. 46.69 s [cursor-gen] forestCursorSelectedTreeL
  1780. 46.69 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  1781. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1782. 46.69 s [cursor-gen] satisfies the second lens law for valid values [✔]
  1783. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1784. 46.69 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  1785. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1786. 46.69 s [cursor-gen] gets valid values from valid values values [✔]
  1787. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1788. 46.69 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  1789. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1790. 46.69 s [cursor-gen] forestCursorSelection
  1791. 46.69 s [cursor-gen] produces valid ints [✔]
  1792. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1793. 46.69 s [cursor-gen] returns the index of the currently selected element [‐]
  1794. 46.69 s [cursor-gen] # PENDING: No reason given
  1795. 46.69 s [cursor-gen] forestCursorSelectIndex
  1796. 46.69 s [cursor-gen] produces valid cursors [✔]
  1797. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1798. 46.69 s [cursor-gen] is the identity function when given the current selection [✔]
  1799. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1800. 46.69 s [cursor-gen] returns selects the element at the given index [‐]
  1801. 46.69 s [cursor-gen] # PENDING: No reason given
  1802. 46.69 s [cursor-gen] forestCursorSelectPrevTreeCursor
  1803. 46.69 s [cursor-gen] produces valid cursors [✔]
  1804. 46.69 s [cursor-gen] +++ OK, passed 100 tests.
  1805. 46.70 s [cursor-gen] is a movement [✔]
  1806. 46.70 s [cursor-gen] +++ OK, passed 100 tests.
  1807. 46.70 s [cursor-gen] selects the previous tree cursor [‐]
  1808. 46.70 s [cursor-gen] # PENDING: No reason given
  1809. 46.70 s [cursor-gen] forestCursorSelectNextTreeCursor
  1810. 46.70 s [cursor-gen] produces valid cursors [✔]
  1811. 46.70 s [cursor-gen] +++ OK, passed 100 tests.
  1812. 46.70 s [cursor-gen] is a movement [✔]
  1813. 46.70 s [cursor-gen] +++ OK, passed 100 tests.
  1814. 46.70 s [cursor-gen] selects the next tree [‐]
  1815. 46.70 s [cursor-gen] # PENDING: No reason given
  1816. 46.70 s [cursor-gen] forestCursorSelectFirstTreeCursor
  1817. 46.71 s [cursor-gen] produces valid cursors [✔]
  1818. 46.71 s [cursor-gen] +++ OK, passed 100 tests.
  1819. 46.71 s [cursor-gen] is a movement [✔]
  1820. 46.71 s [cursor-gen] +++ OK, passed 100 tests.
  1821. 46.71 s [cursor-gen] selects the first tree [‐]
  1822. 46.71 s [cursor-gen] # PENDING: No reason given
  1823. 46.71 s [cursor-gen] forestCursorSelectLastTreeCursor
  1824. 46.71 s [cursor-gen] produces valid cursors [✔]
  1825. 46.71 s [cursor-gen] +++ OK, passed 100 tests.
  1826. 46.71 s [cursor-gen] is a movement [✔]
  1827. 46.71 s [cursor-gen] +++ OK, passed 100 tests.
  1828. 46.71 s [cursor-gen] selects the last tree [‐]
  1829. 46.71 s [cursor-gen] # PENDING: No reason given
  1830. 46.71 s [cursor-gen] forestCursorSelectPrev
  1831. 46.72 s [cursor-gen] produces valid cursors [✔]
  1832. 46.72 s [cursor-gen] +++ OK, passed 100 tests.
  1833. 46.72 s [cursor-gen] is a movement [✔]
  1834. 46.72 s [cursor-gen] +++ OK, passed 100 tests.
  1835. 46.72 s [cursor-gen] selects the previous node [‐]
  1836. 46.72 s [cursor-gen] # PENDING: No reason given
  1837. 46.72 s [cursor-gen] Works for this classic example without any collapsing [✔]
  1838. 46.72 s [cursor-gen] forestCursorSelectNext
  1839. 46.72 s [cursor-gen] produces valid cursors [✔]
  1840. 46.72 s [cursor-gen] +++ OK, passed 100 tests.
  1841. 46.72 s [cursor-gen] is a movement [✔]
  1842. 46.73 s [cursor-gen] +++ OK, passed 100 tests.
  1843. 46.73 s [cursor-gen] selects the next node [‐]
  1844. 46.73 s [cursor-gen] # PENDING: No reason given
  1845. 46.73 s [cursor-gen] Works for this classic example [✔]
  1846. 46.73 s [cursor-gen] forestCursorSelectPrevOnSameLevel
  1847. 46.73 s [cursor-gen] produces valid cursors [✔]
  1848. 46.73 s [cursor-gen] +++ OK, passed 100 tests.
  1849. 46.73 s [cursor-gen] is a movement [✔]
  1850. 46.73 s [cursor-gen] +++ OK, passed 100 tests.
  1851. 46.73 s [cursor-gen] selects the previous node on the same level as the current node [‐]
  1852. 46.73 s [cursor-gen] # PENDING: No reason given
  1853. 46.73 s [cursor-gen] forestCursorSelectNextOnSameLevel
  1854. 46.73 s [cursor-gen] produces valid cursors [✔]
  1855. 46.73 s [cursor-gen] +++ OK, passed 100 tests.
  1856. 46.74 s [cursor-gen] is a movement [✔]
  1857. 46.74 s [cursor-gen] +++ OK, passed 100 tests.
  1858. 46.74 s [cursor-gen] selects the next node on the same level as the current node [‐]
  1859. 46.74 s [cursor-gen] # PENDING: No reason given
  1860. 46.74 s [cursor-gen] forestCursorSelectFirstOnSameLevel
  1861. 46.74 s [cursor-gen] produces valid cursors [✔]
  1862. 46.74 s [cursor-gen] +++ OK, passed 100 tests.
  1863. 46.74 s [cursor-gen] is a movement [✔]
  1864. 46.74 s [cursor-gen] +++ OK, passed 100 tests.
  1865. 46.74 s [cursor-gen] selects the previous node on the same level as the current node [‐]
  1866. 46.74 s [cursor-gen] # PENDING: No reason given
  1867. 46.74 s [cursor-gen] forestCursorSelectLastOnSameLevel
  1868. 46.74 s [cursor-gen] produces valid cursors [✔]
  1869. 46.74 s [cursor-gen] +++ OK, passed 100 tests.
  1870. 46.75 s [cursor-gen] is a movement [✔]
  1871. 46.75 s [cursor-gen] +++ OK, passed 100 tests.
  1872. 46.75 s [cursor-gen] selects the next node on the same level as the current node [‐]
  1873. 46.75 s [cursor-gen] # PENDING: No reason given
  1874. 46.75 s [cursor-gen] forestCursorSelectFirst
  1875. 46.75 s [cursor-gen] produces valid cursors [✔]
  1876. 46.75 s [cursor-gen] +++ OK, passed 100 tests.
  1877. 46.75 s [cursor-gen] is a movement [✔]
  1878. 46.75 s [cursor-gen] +++ OK, passed 100 tests.
  1879. 46.75 s [cursor-gen] selects the first node in the forest [‐]
  1880. 46.75 s [cursor-gen] # PENDING: No reason given
  1881. 46.75 s [cursor-gen] forestCursorSelectLast
  1882. 46.75 s [cursor-gen] produces valid cursors [✔]
  1883. 46.75 s [cursor-gen] +++ OK, passed 100 tests.
  1884. 46.76 s [cursor-gen] is a movement [✔]
  1885. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1886. 46.76 s [cursor-gen] selects the last node in the forest [‐]
  1887. 46.76 s [cursor-gen] # PENDING: No reason given
  1888. 46.76 s [cursor-gen] forestCursorSelectAbove
  1889. 46.76 s [cursor-gen] produces valid cursors [✔]
  1890. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1891. 46.76 s [cursor-gen] is a movement [✔]
  1892. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1893. 46.76 s [cursor-gen] selects the parent [‐]
  1894. 46.76 s [cursor-gen] # PENDING: No reason given
  1895. 46.76 s [cursor-gen] forestCursorSelectBelowAtPos
  1896. 46.76 s [cursor-gen] produces valid cursors [✔]
  1897. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1898. 46.76 s [cursor-gen] is a movement for any index [✔]
  1899. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1900. 46.76 s [cursor-gen] selects the child of the selected node at the given position [‐]
  1901. 46.76 s [cursor-gen] # PENDING: No reason given
  1902. 46.76 s [cursor-gen] forestCursorSelectBelowAtStart
  1903. 46.76 s [cursor-gen] produces valid cursors [✔]
  1904. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1905. 46.76 s [cursor-gen] is a movement [✔]
  1906. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1907. 46.76 s [cursor-gen] selects the first child of the selected node [‐]
  1908. 46.76 s [cursor-gen] # PENDING: No reason given
  1909. 46.76 s [cursor-gen] forestCursorSelectBelowAtEnd
  1910. 46.76 s [cursor-gen] produces valid cursors [✔]
  1911. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1912. 46.76 s [cursor-gen] is a movement [✔]
  1913. 46.76 s [cursor-gen] +++ OK, passed 100 tests.
  1914. 46.76 s [cursor-gen] selects the first child of the selected node [‐]
  1915. 46.76 s [cursor-gen] # PENDING: No reason given
  1916. 46.76 s [cursor-gen] forestCursorOpenCurrentForest
  1917. 46.77 s [cursor-gen] produces valid cursors [✔]
  1918. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1919. 46.77 s [cursor-gen] forestCursorCloseCurrentForest
  1920. 46.77 s [cursor-gen] produces valid cursors [✔]
  1921. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1922. 46.77 s [cursor-gen] forestCursorToggleCurrentForest
  1923. 46.77 s [cursor-gen] produces valid cursors [✔]
  1924. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1925. 46.77 s [cursor-gen] forestCursorOpenCurrentForestRecursively
  1926. 46.77 s [cursor-gen] produces valid cursors [✔]
  1927. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1928. 46.77 s [cursor-gen] forestCursorToggleCurrentForestRecursively
  1929. 46.77 s [cursor-gen] produces valid cursors [✔]
  1930. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1931. 46.77 s [cursor-gen] forestCursorInsertEntireTree
  1932. 46.77 s [cursor-gen] produces valid cursors [✔]
  1933. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1934. 46.77 s [cursor-gen] inserts a tree cursor before the currently selected tree cursor [‐]
  1935. 46.77 s [cursor-gen] # PENDING: No reason given
  1936. 46.77 s [cursor-gen] forestCursorInsertAndSelectTreeCursor
  1937. 46.77 s [cursor-gen] produces valid cursors [✔]
  1938. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1939. 46.77 s [cursor-gen] inserts a tree cursor before the currently selected tree cursor and selects it [‐]
  1940. 46.77 s [cursor-gen] # PENDING: No reason given
  1941. 46.77 s [cursor-gen] forestCursorAppendEntireTree
  1942. 46.77 s [cursor-gen] produces valid cursors [✔]
  1943. 46.77 s [cursor-gen] +++ OK, passed 100 tests.
  1944. 46.77 s [cursor-gen] appends a tree after the currently selected tree cursor [‐]
  1945. 46.77 s [cursor-gen] # PENDING: No reason given
  1946. 46.77 s [cursor-gen] forestCursorAppendAndSelectTreeCursor
  1947. 46.78 s [cursor-gen] produces valid cursors [✔]
  1948. 46.78 s [cursor-gen] +++ OK, passed 100 tests.
  1949. 46.78 s [cursor-gen] appends a tree cursor after the currently selected tree cursor and selects it [‐]
  1950. 46.78 s [cursor-gen] # PENDING: No reason given
  1951. 46.78 s [cursor-gen] forestCursorInsertTree
  1952. 46.78 s [cursor-gen] produces valid cursors [✔]
  1953. 46.78 s [cursor-gen] +++ OK, passed 100 tests.
  1954. 46.78 s [cursor-gen] inserts a tree before the currently selected tree [‐]
  1955. 46.78 s [cursor-gen] # PENDING: No reason given
  1956. 46.78 s [cursor-gen] forestCursorInsertAndSelectTree
  1957. 46.78 s [cursor-gen] produces valid cursors [✔]
  1958. 46.78 s [cursor-gen] +++ OK, passed 100 tests.
  1959. 46.78 s [cursor-gen] inserts a tree before the currently selected tree and selects it [‐]
  1960. 46.78 s [cursor-gen] # PENDING: No reason given
  1961. 46.78 s [cursor-gen] forestCursorAppendTree
  1962. 46.78 s [cursor-gen] produces valid cursors [✔]
  1963. 46.78 s [cursor-gen] +++ OK, passed 100 tests.
  1964. 46.78 s [cursor-gen] appends a tree after the currently selected tree [‐]
  1965. 46.78 s [cursor-gen] # PENDING: No reason given
  1966. 46.78 s [cursor-gen] forestCursorAppendAndSelectTree
  1967. 46.79 s [cursor-gen] produces valid cursors [✔]
  1968. 46.79 s [cursor-gen] +++ OK, passed 100 tests.
  1969. 46.79 s [cursor-gen] appends a tree after the currently selected tree and selects it [‐]
  1970. 46.79 s [cursor-gen] # PENDING: No reason given
  1971. 46.79 s [cursor-gen] forestCursorInsert
  1972. 46.79 s [cursor-gen] produces valid cursors [✔]
  1973. 46.79 s [cursor-gen] +++ OK, passed 100 tests.
  1974. 46.79 s [cursor-gen] inserts a node before the currently selected node [‐]
  1975. 46.79 s [cursor-gen] # PENDING: No reason given
  1976. 46.79 s [cursor-gen] forestCursorInsertAndSelect
  1977. 46.79 s [cursor-gen] produces valid cursors [✔]
  1978. 46.79 s [cursor-gen] +++ OK, passed 100 tests.
  1979. 46.79 s [cursor-gen] inserts a node before the currently selected node and selects it [‐]
  1980. 46.79 s [cursor-gen] # PENDING: No reason given
  1981. 46.79 s [cursor-gen] forestCursorInsertNodeSingleAndSelect
  1982. 46.79 s [cursor-gen] produces valid cursors [✔]
  1983. 46.79 s [cursor-gen] +++ OK, passed 100 tests.
  1984. 46.79 s [cursor-gen] inserts a node before the currently selected node and selects it [‐]
  1985. 46.79 s [cursor-gen] # PENDING: No reason given
  1986. 46.79 s [cursor-gen] forestCursorInsertNodeAndSelect
  1987. 46.79 s [cursor-gen] produces valid cursors [✔]
  1988. 46.79 s [cursor-gen] +++ OK, passed 100 tests.
  1989. 46.79 s [cursor-gen] inserts a node before the currently selected node and selects it [‐]
  1990. 46.79 s [cursor-gen] # PENDING: No reason given
  1991. 46.79 s [cursor-gen] forestCursorAppend
  1992. 46.80 s [cursor-gen] produces valid cursors [✔]
  1993. 46.80 s [cursor-gen] +++ OK, passed 100 tests.
  1994. 46.80 s [cursor-gen] appends a node after the currently selected node [‐]
  1995. 46.80 s [cursor-gen] # PENDING: No reason given
  1996. 46.80 s [cursor-gen] forestCursorAppendAndSelect
  1997. 46.80 s [cursor-gen] produces valid cursors [✔]
  1998. 46.80 s [cursor-gen] +++ OK, passed 100 tests.
  1999. 46.80 s [cursor-gen] appends a node after the currently selected node and selects it [‐]
  2000. 46.80 s [cursor-gen] # PENDING: No reason given
  2001. 46.80 s [cursor-gen] forestCursorAppendNodeSingleAndSelect
  2002. 46.80 s [cursor-gen] produces valid cursors [✔]
  2003. 46.80 s [cursor-gen] +++ OK, passed 100 tests.
  2004. 46.80 s [cursor-gen] appends a node after the currently selected node and selects it [‐]
  2005. 46.80 s [cursor-gen] # PENDING: No reason given
  2006. 46.80 s [cursor-gen] forestCursorAppendNodeAndSelect
  2007. 46.80 s [cursor-gen] produces valid cursors [✔]
  2008. 46.80 s [cursor-gen] +++ OK, passed 100 tests.
  2009. 46.80 s [cursor-gen] appends a node after the currently selected node and selects it [‐]
  2010. 46.80 s [cursor-gen] # PENDING: No reason given
  2011. 46.80 s [cursor-gen] forestCursorAddChildTreeToNodeAtPos
  2012. 46.80 s [cursor-gen] produces valid cursors [✔]
  2013. 46.80 s [cursor-gen] +++ OK, passed 100 tests.
  2014. 46.80 s [cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
  2015. 46.80 s [cursor-gen] # PENDING: No reason given
  2016. 46.80 s [cursor-gen] forestCursorAddChildTreeToNodeAtStart
  2017. 46.80 s [cursor-gen] produces valid cursors [✔]
  2018. 46.80 s [cursor-gen] +++ OK, passed 100 tests.
  2019. 46.80 s [cursor-gen] adds a child tree to a node at the start the children of that node [‐]
  2020. 46.80 s [cursor-gen] # PENDING: No reason given
  2021. 46.80 s [cursor-gen] forestCursorAddChildTreeToNodeAtEnd
  2022. 46.81 s [cursor-gen] produces valid cursors [✔]
  2023. 46.81 s [cursor-gen] +++ OK, passed 100 tests.
  2024. 46.81 s [cursor-gen] adds a child tree to a node at the end the children of that node [‐]
  2025. 46.81 s [cursor-gen] # PENDING: No reason given
  2026. 46.81 s [cursor-gen] forestCursorAddChildToNodeAtPos
  2027. 46.81 s [cursor-gen] produces valid cursors [✔]
  2028. 46.81 s [cursor-gen] +++ OK, passed 100 tests.
  2029. 46.81 s [cursor-gen] adds a child to a node at the given position in the children of that node [‐]
  2030. 46.81 s [cursor-gen] # PENDING: No reason given
  2031. 46.81 s [cursor-gen] forestCursorAddChildToNodeAtStart
  2032. 46.81 s [cursor-gen] produces valid cursors [✔]
  2033. 46.81 s [cursor-gen] +++ OK, passed 100 tests.
  2034. 46.81 s [cursor-gen] adds a child to a node at the start the children of that node [‐]
  2035. 46.81 s [cursor-gen] # PENDING: No reason given
  2036. 46.81 s [cursor-gen] forestCursorAddChildToNodeAtEnd
  2037. 46.81 s [cursor-gen] produces valid cursors [✔]
  2038. 46.81 s [cursor-gen] +++ OK, passed 100 tests.
  2039. 46.81 s [cursor-gen] adds a child to a node at the end the children of that node [‐]
  2040. 46.81 s [cursor-gen] # PENDING: No reason given
  2041. 46.81 s [cursor-gen] forestCursorAddChildTreeToNodeAtPosAndSelect
  2042. 46.81 s [cursor-gen] produces valid cursors [✔]
  2043. 46.81 s [cursor-gen] +++ OK, passed 100 tests.
  2044. 46.81 s [cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
  2045. 46.81 s [cursor-gen] # PENDING: No reason given
  2046. 46.81 s [cursor-gen] forestCursorAddChildTreeToNodeAtStartAndSelect
  2047. 46.82 s [cursor-gen] produces valid cursors [✔]
  2048. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2049. 46.82 s [cursor-gen] adds a child tree to a node at the start the children of that node [‐]
  2050. 46.82 s [cursor-gen] # PENDING: No reason given
  2051. 46.82 s [cursor-gen] forestCursorAddChildTreeToNodeAtEndAndSelect
  2052. 46.82 s [cursor-gen] produces valid cursors [✔]
  2053. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2054. 46.82 s [cursor-gen] adds a child tree to a node at the end the children of that node [‐]
  2055. 46.82 s [cursor-gen] # PENDING: No reason given
  2056. 46.82 s [cursor-gen] forestCursorAddChildToNodeAtPosAndSelect
  2057. 46.82 s [cursor-gen] produces valid cursors [✔]
  2058. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2059. 46.82 s [cursor-gen] adds a child to a node at the given position in the children of that node [‐]
  2060. 46.82 s [cursor-gen] # PENDING: No reason given
  2061. 46.82 s [cursor-gen] forestCursorAddChildToNodeAtStartAndSelect
  2062. 46.82 s [cursor-gen] produces valid cursors [✔]
  2063. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2064. 46.82 s [cursor-gen] adds a child to a node at the start the children of that node [‐]
  2065. 46.82 s [cursor-gen] # PENDING: No reason given
  2066. 46.82 s [cursor-gen] forestCursorAddChildToNodeAtEndAndSelect
  2067. 46.82 s [cursor-gen] produces valid cursors [✔]
  2068. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2069. 46.82 s [cursor-gen] adds a child to a node at the end the children of that node [‐]
  2070. 46.82 s [cursor-gen] # PENDING: No reason given
  2071. 46.82 s [cursor-gen] forestCursorAddChildNodeSingleToNodeAtPosAndSelect
  2072. 46.82 s [cursor-gen] produces valid cursors [✔]
  2073. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2074. 46.82 s [cursor-gen] forestCursorAddChildNodeSingleToNodeAtStartAndSelect
  2075. 46.82 s [cursor-gen] produces valid cursors [✔]
  2076. 46.82 s [cursor-gen] +++ OK, passed 100 tests.
  2077. 46.82 s [cursor-gen] forestCursorAddChildNodeSingleToNodeAtEndAndSelect
  2078. 46.83 s [cursor-gen] produces valid cursors [✔]
  2079. 46.83 s [cursor-gen] +++ OK, passed 100 tests.
  2080. 46.83 s [cursor-gen] forestCursorAddChildNodeToNodeAtPosAndSelect
  2081. 46.83 s [cursor-gen] produces valid cursors [✔]
  2082. 46.83 s [cursor-gen] +++ OK, passed 100 tests.
  2083. 46.83 s [cursor-gen] forestCursorAddChildNodeToNodeAtStartAndSelect
  2084. 46.83 s [cursor-gen] produces valid cursors [✔]
  2085. 46.83 s [cursor-gen] +++ OK, passed 100 tests.
  2086. 46.83 s [cursor-gen] forestCursorAddChildNodeToNodeAtEndAndSelect
  2087. 46.83 s [cursor-gen] produces valid cursors [✔]
  2088. 46.83 s [cursor-gen] +++ OK, passed 100 tests.
  2089. 46.83 s [cursor-gen] forestCursorAddRoot
  2090. 46.83 s [cursor-gen] produces valid cursors [✔]
  2091. 46.83 s [cursor-gen] +++ OK, passed 100 tests.
  2092. 46.83 s [cursor-gen] houses the entire forest under the given node [‐]
  2093. 46.83 s [cursor-gen] # PENDING: No reason given
  2094. 46.83 s [cursor-gen] forestCursorSwapPrev
  2095. 46.83 s [cursor-gen] produces valid cursors [✔]
  2096. 46.83 s [cursor-gen] +++ OK, passed 100 tests.
  2097. 46.83 s [cursor-gen] works on the example from the docs [✔]
  2098. 46.83 s [cursor-gen] swaps the current node with the previous node on the same level [‐]
  2099. 46.83 s [cursor-gen] # PENDING: No reason given
  2100. 46.84 s [cursor-gen] reverts forestCursorSwapNext [✔]
  2101. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2102. 46.84 s [cursor-gen] forestCursorSwapNext
  2103. 46.84 s [cursor-gen] produces valid cursors [✔]
  2104. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2105. 46.84 s [cursor-gen] works on the example from the docs [✔]
  2106. 46.84 s [cursor-gen] swaps the current node with the next node on the same level [‐]
  2107. 46.84 s [cursor-gen] # PENDING: No reason given
  2108. 46.84 s [cursor-gen] reverts forestCursorSwapPrev [✔]
  2109. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2110. 46.84 s [cursor-gen] forestCursorRemoveElemAndSelectPrev
  2111. 46.84 s [cursor-gen] produces valid cursors [✔]
  2112. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2113. 46.84 s [cursor-gen] works for this simple example [✔]
  2114. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2115. 46.84 s [cursor-gen] removes the selected element and selects the previous element [‐]
  2116. 46.84 s [cursor-gen] # PENDING: No reason given
  2117. 46.84 s [cursor-gen] forestCursorDeleteElemAndSelectNext
  2118. 46.84 s [cursor-gen] produces valid cursors [✔]
  2119. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2120. 46.84 s [cursor-gen] works for this simple example [✔]
  2121. 46.84 s [cursor-gen] +++ OK, passed 100 tests.
  2122. 46.84 s [cursor-gen] deletes the selected element and selects the next element [‐]
  2123. 46.84 s [cursor-gen] # PENDING: No reason given
  2124. 46.84 s [cursor-gen] forestCursorRemoveElem
  2125. 46.85 s [cursor-gen] produces valid cursors [✔]
  2126. 46.85 s [cursor-gen] +++ OK, passed 100 tests.
  2127. 46.85 s [cursor-gen] works for this simple example [✔]
  2128. 46.85 s [cursor-gen] +++ OK, passed 100 tests.
  2129. 46.85 s [cursor-gen] removes the selected element [‐]
  2130. 46.85 s [cursor-gen] # PENDING: No reason given
  2131. 46.85 s [cursor-gen] forestCursorDeleteElem
  2132. 46.85 s [cursor-gen] produces valid cursors [✔]
  2133. 46.85 s [cursor-gen] +++ OK, passed 100 tests.
  2134. 46.85 s [cursor-gen] works for this simple example [✔]
  2135. 46.85 s [cursor-gen] +++ OK, passed 100 tests.
  2136. 46.85 s [cursor-gen] deletes the selected element [‐]
  2137. 46.85 s [cursor-gen] # PENDING: No reason given
  2138. 46.85 s [cursor-gen] forestCursorRemoveSubTreeAndSelectPrev
  2139. 46.86 s [cursor-gen] produces valid cursors [✔]
  2140. 46.86 s [cursor-gen] +++ OK, passed 100 tests.
  2141. 46.86 s [cursor-gen] removes the selected subtree and selects the previous tree [‐]
  2142. 46.86 s [cursor-gen] # PENDING: No reason given
  2143. 46.86 s [cursor-gen] forestCursorDeleteSubTreeAndSelectNext
  2144. 46.86 s [cursor-gen] produces valid cursors [✔]
  2145. 46.86 s [cursor-gen] +++ OK, passed 100 tests.
  2146. 46.86 s [cursor-gen] deletes the selected subtree and selects the next tree [‐]
  2147. 46.86 s [cursor-gen] # PENDING: No reason given
  2148. 46.86 s [cursor-gen] forestCursorRemoveSubTree
  2149. 46.86 s [cursor-gen] produces valid cursors [✔]
  2150. 46.86 s [cursor-gen] +++ OK, passed 100 tests.
  2151. 46.86 s [cursor-gen] removes the selected subtree [‐]
  2152. 46.86 s [cursor-gen] # PENDING: No reason given
  2153. 46.86 s [cursor-gen] forestCursorDeleteSubTree
  2154. 46.86 s [cursor-gen] produces valid cursors [✔]
  2155. 46.86 s [cursor-gen] +++ OK, passed 100 tests.
  2156. 46.86 s [cursor-gen] deletes the selected subtree [‐]
  2157. 46.86 s [cursor-gen] # PENDING: No reason given
  2158. 46.86 s [cursor-gen] forestCursorPromoteElem
  2159. 46.87 s [cursor-gen] produces valids on valids [✔]
  2160. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2161. 46.87 s [cursor-gen] works on the example from the documentation [✔]
  2162. 46.87 s [cursor-gen] promotes the current node to the level of its parent [‐]
  2163. 46.87 s [cursor-gen] # PENDING: No reason given
  2164. 46.87 s [cursor-gen] forestCursorDemoteElem
  2165. 46.87 s [cursor-gen] produces valids on valids [✔]
  2166. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2167. 46.87 s [cursor-gen] works on the example from the documentation [✔]
  2168. 46.87 s [cursor-gen] demotes the current node to the level of its children [‐]
  2169. 46.87 s [cursor-gen] # PENDING: No reason given
  2170. 46.87 s [cursor-gen] forestCursorPromoteSubTree
  2171. 46.87 s [cursor-gen] produces valids on valids [✔]
  2172. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2173. 46.87 s [cursor-gen] works on the example from the documentation [✔]
  2174. 46.87 s [cursor-gen] promotes the current subtree to the level of its parent [‐]
  2175. 46.87 s [cursor-gen] # PENDING: No reason given
  2176. 46.87 s [cursor-gen] forestCursorDemoteSubTree
  2177. 46.87 s [cursor-gen] produces valids on valids [✔]
  2178. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2179. 46.87 s [cursor-gen] works on the example from the documentation [✔]
  2180. 46.87 s [cursor-gen] demotes the current subtree to the level of its children [‐]
  2181. 46.87 s [cursor-gen] # PENDING: No reason given
  2182. 46.87 s [cursor-gen] forestCursorDemoteElemUnder
  2183. 46.87 s [cursor-gen] produces valids on valids [✔]
  2184. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2185. 46.87 s [cursor-gen] Works on the example from the docs [✔]
  2186. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2187. 46.87 s [cursor-gen] demotes the current node to the level of its children [‐]
  2188. 46.87 s [cursor-gen] # PENDING: No reason given
  2189. 46.87 s [cursor-gen] forestCursorDemoteSubTreeUnder
  2190. 46.87 s [cursor-gen] produces valids on valids [✔]
  2191. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2192. 46.87 s [cursor-gen] Works on the example from the docs [✔]
  2193. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2194. 46.87 s [cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
  2195. 46.87 s [cursor-gen] # PENDING: No reason given
  2196. 46.87 s [cursor-gen] Cursor.Simple.List.NonEmpty
  2197. 46.87 s [cursor-gen] Eq (NonEmptyCursor Bool Bool)
  2198. 46.87 s [cursor-gen] (==) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
  2199. 46.87 s [cursor-gen] is reflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
  2200. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2201. 46.87 s [cursor-gen] is symmetric for "valid (NonEmptyCursor Bool Bool)"s [✔]
  2202. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2203. 46.87 s [cursor-gen] is transitive for "valid (NonEmptyCursor Bool Bool)"s [✔]
  2204. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2205. 46.87 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
  2206. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2207. 46.87 s [cursor-gen] (/=) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
  2208. 46.87 s [cursor-gen] is antireflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
  2209. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2210. 46.87 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
  2211. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2212. 46.87 s [cursor-gen] GenValid (NonEmptyCursor Bool Bool)
  2213. 46.87 s [cursor-gen] genValid :: Gen (NonEmptyCursor Bool Bool)
  2214. 46.87 s [cursor-gen] only generates valid '(NonEmptyCursor Bool Bool)'s [✔]
  2215. 46.87 s [cursor-gen] +++ OK, passed 100 tests.
  2216. 46.87 s [cursor-gen] makeNonEmptyCursor
  2217. 46.88 s [cursor-gen] produces valid cursors [✔]
  2218. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2219. 46.88 s [cursor-gen] makeNonEmptyCursorWithSelection
  2220. 46.88 s [cursor-gen] produces valid cursors [✔]
  2221. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2222. 46.88 s [cursor-gen] is the inverse of rebuildNonEmptyCursor when using the current selection [✔]
  2223. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2224. 46.88 s [cursor-gen] singletonNonEmptyCursor
  2225. 46.88 s [cursor-gen] produces valid cursors [✔]
  2226. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2227. 46.88 s [cursor-gen] rebuildNonEmptyCursor
  2228. 46.88 s [cursor-gen] produces valid nonempty lists [✔]
  2229. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2230. 46.88 s [cursor-gen] is the inverse of makeNonEmptyCursor for integers [✔]
  2231. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2232. 46.88 s [cursor-gen] is the inverse of makeNonEmptyCursorWithSelection for integers, for any index [✔]
  2233. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2234. 46.88 s [cursor-gen] nonEmptyCursorElemL
  2235. 46.88 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  2236. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2237. 46.88 s [cursor-gen] satisfies the second lens law for valid values [✔]
  2238. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2239. 46.88 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  2240. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2241. 46.88 s [cursor-gen] gets valid values from valid values values [✔]
  2242. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2243. 46.88 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  2244. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2245. 46.88 s [cursor-gen] nonEmptyCursorSelectPrev
  2246. 46.88 s [cursor-gen] produces valid cursors [✔]
  2247. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2248. 46.88 s [cursor-gen] is a movement [✔]
  2249. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2250. 46.88 s [cursor-gen] selects the previous element [‐]
  2251. 46.88 s [cursor-gen] # PENDING: No reason given
  2252. 46.88 s [cursor-gen] nonEmptyCursorSelectNext
  2253. 46.88 s [cursor-gen] produces valid cursors [✔]
  2254. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2255. 46.88 s [cursor-gen] is a movement [✔]
  2256. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2257. 46.88 s [cursor-gen] selects the next element [‐]
  2258. 46.88 s [cursor-gen] # PENDING: No reason given
  2259. 46.88 s [cursor-gen] nonEmptyCursorSelectFirst
  2260. 46.88 s [cursor-gen] produces valid cursors [✔]
  2261. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2262. 46.88 s [cursor-gen] is a movement [✔]
  2263. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2264. 46.88 s [cursor-gen] is idempotent [✔]
  2265. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2266. 46.88 s [cursor-gen] selects the first element [‐]
  2267. 46.88 s [cursor-gen] # PENDING: No reason given
  2268. 46.88 s [cursor-gen] nonEmptyCursorSelectLast
  2269. 46.88 s [cursor-gen] produces valid cursors [✔]
  2270. 46.88 s [cursor-gen] +++ OK, passed 100 tests.
  2271. 46.89 s [cursor-gen] is a movement [✔]
  2272. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2273. 46.89 s [cursor-gen] is idempotent [✔]
  2274. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2275. 46.89 s [cursor-gen] selects the last element [‐]
  2276. 46.89 s [cursor-gen] # PENDING: No reason given
  2277. 46.89 s [cursor-gen] nonEmptyCursorSelection
  2278. 46.89 s [cursor-gen] produces valid ints [✔]
  2279. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2280. 46.89 s [cursor-gen] returns the index of the currently selected element [‐]
  2281. 46.89 s [cursor-gen] # PENDING: No reason given
  2282. 46.89 s [cursor-gen] nonEmptyCursorSelectIndex
  2283. 46.89 s [cursor-gen] produces valid cursors [✔]
  2284. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2285. 46.89 s [cursor-gen] is the identity function when given the current selection [✔]
  2286. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2287. 46.89 s [cursor-gen] returns selects the element at the given index [‐]
  2288. 46.89 s [cursor-gen] # PENDING: No reason given
  2289. 46.89 s [cursor-gen] nonEmptyCursorInsert
  2290. 46.89 s [cursor-gen] produces valid cursors [✔]
  2291. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2292. 46.89 s [cursor-gen] inserts a character before the cursor [‐]
  2293. 46.89 s [cursor-gen] # PENDING: No reason given
  2294. 46.89 s [cursor-gen] nonEmptyCursorAppend
  2295. 46.89 s [cursor-gen] produces valid cursors [✔]
  2296. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2297. 46.89 s [cursor-gen] inserts a character after the cursor [‐]
  2298. 46.89 s [cursor-gen] # PENDING: No reason given
  2299. 46.89 s [cursor-gen] nonEmptyCursorInsertAndSelect
  2300. 46.89 s [cursor-gen] produces valid cursors [✔]
  2301. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2302. 46.89 s [cursor-gen] inserts a character before the cursor and selects it [‐]
  2303. 46.89 s [cursor-gen] # PENDING: No reason given
  2304. 46.89 s [cursor-gen] nonEmptyCursorAppendAndSelect
  2305. 46.89 s [cursor-gen] produces valid cursors [✔]
  2306. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2307. 46.89 s [cursor-gen] appends a character before the cursor and selects it [‐]
  2308. 46.89 s [cursor-gen] # PENDING: No reason given
  2309. 46.89 s [cursor-gen] nonEmptyCursorInsertAtStart
  2310. 46.89 s [cursor-gen] produces valid cursors [✔]
  2311. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2312. 46.89 s [cursor-gen] inserts a character at the start of the list [‐]
  2313. 46.89 s [cursor-gen] # PENDING: No reason given
  2314. 46.89 s [cursor-gen] nonEmptyCursorAppendAtEnd
  2315. 46.89 s [cursor-gen] produces valid cursors [✔]
  2316. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2317. 46.89 s [cursor-gen] inserts a character at the end of the list [‐]
  2318. 46.89 s [cursor-gen] # PENDING: No reason given
  2319. 46.89 s [cursor-gen] nonEmptyCursorInsertAtStartAndSelect
  2320. 46.89 s [cursor-gen] produces valid cursors [✔]
  2321. 46.89 s [cursor-gen] +++ OK, passed 100 tests.
  2322. 46.89 s [cursor-gen] inserts a character at the start of the list and selects it [‐]
  2323. 46.89 s [cursor-gen] # PENDING: No reason given
  2324. 46.89 s [cursor-gen] nonEmptyCursorAppendAtEndAndSelect
  2325. 46.90 s [cursor-gen] produces valid cursors [✔]
  2326. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2327. 46.90 s [cursor-gen] appends a character at the end of the list and selects it [‐]
  2328. 46.90 s [cursor-gen] # PENDING: No reason given
  2329. 46.90 s [cursor-gen] nonEmptyCursorRemoveElem
  2330. 46.90 s [cursor-gen] produces valid cursors [✔]
  2331. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2332. 46.90 s [cursor-gen] removes an element [‐]
  2333. 46.90 s [cursor-gen] # PENDING: No reason given
  2334. 46.90 s [cursor-gen] nonEmptyCursorDeleteElem
  2335. 46.90 s [cursor-gen] produces valid cursors [✔]
  2336. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2337. 46.90 s [cursor-gen] nonEmptyCursorSearch
  2338. 46.90 s [cursor-gen] produces valid cursors when looking for an equal element [✔]
  2339. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2340. 46.90 s [cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
  2341. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2342. 46.90 s [cursor-gen] finds an element if it is in there [✔]
  2343. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2344. 46.90 s [cursor-gen] nonEmptyCursorSelectOrAdd
  2345. 46.90 s [cursor-gen] produces valid cursors when looking for an equal element [✔]
  2346. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2347. 46.90 s [cursor-gen] Cursor.Simple.Map
  2348. 46.90 s [cursor-gen] makeMapCursor
  2349. 46.90 s [cursor-gen] produces valid cursors [✔]
  2350. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2351. 46.90 s [cursor-gen] makeMapCursorWithSelection
  2352. 46.90 s [cursor-gen] produces valid cursors [✔]
  2353. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2354. 46.90 s [cursor-gen] singletonMapCursorKey
  2355. 46.90 s [cursor-gen] produces valid cursors [✔]
  2356. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2357. 46.90 s [cursor-gen] singletonMapCursorValue
  2358. 46.90 s [cursor-gen] produces valid cursors [✔]
  2359. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2360. 46.90 s [cursor-gen] rebuildMapCursor
  2361. 46.90 s [cursor-gen] produces valid Nonempty lists [✔]
  2362. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2363. 46.90 s [cursor-gen] is the inverse of makeMapCursor for integers [✔]
  2364. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2365. 46.90 s [cursor-gen] mapCursorNonEmptyCursorL
  2366. 46.90 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  2367. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2368. 46.90 s [cursor-gen] satisfies the second lens law for valid values [✔]
  2369. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2370. 46.90 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  2371. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2372. 46.90 s [cursor-gen] gets valid values from valid values values [✔]
  2373. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2374. 46.90 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  2375. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2376. 46.90 s [cursor-gen] mapCursorElemL
  2377. 46.90 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  2378. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2379. 46.90 s [cursor-gen] satisfies the second lens law for valid values [✔]
  2380. 46.90 s [cursor-gen] +++ OK, passed 100 tests.
  2381. 46.91 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  2382. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2383. 46.91 s [cursor-gen] gets valid values from valid values values [✔]
  2384. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2385. 46.91 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  2386. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2387. 46.91 s [cursor-gen] mapCursorSelectKey
  2388. 46.91 s [cursor-gen] produces valid cursors [✔]
  2389. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2390. 46.91 s [cursor-gen] mapCursorSelectValue
  2391. 46.91 s [cursor-gen] produces valid cursors [✔]
  2392. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2393. 46.91 s [cursor-gen] mapCursorToggleSelected
  2394. 46.91 s [cursor-gen] produces valid cursors [✔]
  2395. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2396. 46.91 s [cursor-gen] mapCursorSelectPrev
  2397. 46.91 s [cursor-gen] produces valid cursors [✔]
  2398. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2399. 46.91 s [cursor-gen] is a movement [✔]
  2400. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2401. 46.91 s [cursor-gen] selects the previous element [‐]
  2402. 46.91 s [cursor-gen] # PENDING: No reason given
  2403. 46.91 s [cursor-gen] mapCursorSelectNext
  2404. 46.91 s [cursor-gen] produces valid cursors [✔]
  2405. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2406. 46.91 s [cursor-gen] is a movement [✔]
  2407. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2408. 46.91 s [cursor-gen] selects the next element [‐]
  2409. 46.91 s [cursor-gen] # PENDING: No reason given
  2410. 46.91 s [cursor-gen] mapCursorSelectFirst
  2411. 46.91 s [cursor-gen] produces valid cursors [✔]
  2412. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2413. 46.91 s [cursor-gen] is a movement [✔]
  2414. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2415. 46.91 s [cursor-gen] is idempotent [✔]
  2416. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2417. 46.91 s [cursor-gen] selects the first element [‐]
  2418. 46.91 s [cursor-gen] # PENDING: No reason given
  2419. 46.91 s [cursor-gen] mapCursorSelectLast
  2420. 46.91 s [cursor-gen] produces valid cursors [✔]
  2421. 46.91 s [cursor-gen] +++ OK, passed 100 tests.
  2422. 46.92 s [cursor-gen] is a movement [✔]
  2423. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2424. 46.92 s [cursor-gen] is idempotent [✔]
  2425. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2426. 46.92 s [cursor-gen] selects the last element [‐]
  2427. 46.92 s [cursor-gen] # PENDING: No reason given
  2428. 46.92 s [cursor-gen] mapCursorSelection
  2429. 46.92 s [cursor-gen] produces valid ints [✔]
  2430. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2431. 46.92 s [cursor-gen] returns the index of the currently selected element [‐]
  2432. 46.92 s [cursor-gen] # PENDING: No reason given
  2433. 46.92 s [cursor-gen] mapCursorSelectIndex
  2434. 46.92 s [cursor-gen] produces valid cursors [✔]
  2435. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2436. 46.92 s [cursor-gen] is the identity function when given the current selection [✔]
  2437. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2438. 46.92 s [cursor-gen] returns selects the element at the given index [‐]
  2439. 46.92 s [cursor-gen] # PENDING: No reason given
  2440. 46.92 s [cursor-gen] mapCursorInsert
  2441. 46.92 s [cursor-gen] produces valid cursors [✔]
  2442. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2443. 46.92 s [cursor-gen] inserts a character before the cursor [‐]
  2444. 46.92 s [cursor-gen] # PENDING: No reason given
  2445. 46.92 s [cursor-gen] mapCursorAppend
  2446. 46.92 s [cursor-gen] produces valid cursors [✔]
  2447. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2448. 46.92 s [cursor-gen] inserts a character after the cursor [‐]
  2449. 46.92 s [cursor-gen] # PENDING: No reason given
  2450. 46.92 s [cursor-gen] mapCursorInsertAndSelectKey
  2451. 46.92 s [cursor-gen] produces valid cursors [✔]
  2452. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2453. 46.92 s [cursor-gen] mapCursorAppendAndSelectKey
  2454. 46.92 s [cursor-gen] produces valid cursors [✔]
  2455. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2456. 46.92 s [cursor-gen] mapCursorInsertAndSelectValue
  2457. 46.92 s [cursor-gen] produces valid cursors [✔]
  2458. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2459. 46.92 s [cursor-gen] mapCursorAppendAndSelectValue
  2460. 46.92 s [cursor-gen] produces valid cursors [✔]
  2461. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2462. 46.92 s [cursor-gen] mapCursorRemoveElem
  2463. 46.92 s [cursor-gen] produces valid cursors [✔]
  2464. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2465. 46.92 s [cursor-gen] removes an element [‐]
  2466. 46.92 s [cursor-gen] # PENDING: No reason given
  2467. 46.92 s [cursor-gen] mapCursorDeleteElem
  2468. 46.92 s [cursor-gen] produces valid cursors [✔]
  2469. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2470. 46.92 s [cursor-gen] deletes an element [‐]
  2471. 46.92 s [cursor-gen] # PENDING: No reason given
  2472. 46.92 s [cursor-gen] mapCursorSearch
  2473. 46.92 s [cursor-gen] produces valid cursors when looking for an equal pair [✔]
  2474. 46.92 s [cursor-gen] +++ OK, passed 100 tests.
  2475. 46.93 s [cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
  2476. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2477. 46.93 s [cursor-gen] mapCursorSelectOrAdd
  2478. 46.93 s [cursor-gen] produces valid cursors when looking for an equal element [✔]
  2479. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2480. 46.93 s [cursor-gen] Cursor.Simple.Map.KeyValue
  2481. 46.93 s [cursor-gen] makeKeyValueCursorKey
  2482. 46.93 s [cursor-gen] produces valid cursors [✔]
  2483. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2484. 46.93 s [cursor-gen] makeKeyValueCursorValue
  2485. 46.93 s [cursor-gen] produces valid cursors [✔]
  2486. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2487. 46.93 s [cursor-gen] rebuildKeyValueCursor
  2488. 46.93 s [cursor-gen] produces valid tuples [✔]
  2489. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2490. 46.93 s [cursor-gen] keyValueCursorSelection
  2491. 46.93 s [cursor-gen] produces valid selections [✔]
  2492. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2493. 46.93 s [cursor-gen] keyValueCursorSelectKey
  2494. 46.93 s [cursor-gen] produces valid cursors [✔]
  2495. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2496. 46.93 s [cursor-gen] is a movement [✔]
  2497. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2498. 46.93 s [cursor-gen] keyValueCursorSelectValue
  2499. 46.93 s [cursor-gen] produces valid cursors [✔]
  2500. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2501. 46.93 s [cursor-gen] is a movement [✔]
  2502. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2503. 46.93 s [cursor-gen] keyValueCursorToggleSelected
  2504. 46.93 s [cursor-gen] produces valid cursors [✔]
  2505. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2506. 46.93 s [cursor-gen] is a movement [✔]
  2507. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2508. 46.93 s [cursor-gen] Cursor.Simple.Tree.Base
  2509. 46.93 s [cursor-gen] Eq (TreeCursor Int Int)
  2510. 46.93 s [cursor-gen] (==) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
  2511. 46.93 s [cursor-gen] is reflexive for "valid (TreeCursor Int Int)"s [✔]
  2512. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2513. 46.93 s [cursor-gen] is symmetric for "valid (TreeCursor Int Int)"s [✔]
  2514. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2515. 46.93 s [cursor-gen] is transitive for "valid (TreeCursor Int Int)"s [✔]
  2516. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2517. 46.93 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Int Int)"s [✔]
  2518. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2519. 46.93 s [cursor-gen] (/=) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
  2520. 46.93 s [cursor-gen] is antireflexive for "valid (TreeCursor Int Int)"s [✔]
  2521. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2522. 46.93 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Int Int)"s [✔]
  2523. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2524. 46.93 s [cursor-gen] GenValid (TreeCursor Bool Bool)
  2525. 46.93 s [cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
  2526. 46.93 s [cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
  2527. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2528. 46.93 s [cursor-gen] makeTreeCursor
  2529. 46.93 s [cursor-gen] produces valid cursors [✔]
  2530. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2531. 46.93 s [cursor-gen] makeNodeTreeCursor
  2532. 46.93 s [cursor-gen] produces valid cursors [✔]
  2533. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2534. 46.93 s [cursor-gen] makeTreeCursorWithSelection
  2535. 46.93 s [cursor-gen] produces valid cursors [✔]
  2536. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2537. 46.93 s [cursor-gen] singletonTreeCursor
  2538. 46.93 s [cursor-gen] produces valid cursors [✔]
  2539. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2540. 46.93 s [cursor-gen] rebuildTreeCursor
  2541. 46.93 s [cursor-gen] produces valid trees [✔]
  2542. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2543. 46.93 s [cursor-gen] is the inverse of makeTreeCursor for integers [✔]
  2544. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2545. 46.93 s [cursor-gen] is the inverse of makeTreeCursorWithSelection for the current selection [✔]
  2546. 46.93 s [cursor-gen] +++ OK, passed 100 tests.
  2547. 46.93 s [cursor-gen] Cursor.Simple.Tree.Collapse
  2548. 46.93 s [cursor-gen] treeCursorOpenCurrentForest
  2549. 46.94 s [cursor-gen] produces valid cursors [✔]
  2550. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2551. 46.94 s [cursor-gen] treeCursorCloseCurrentForest
  2552. 46.94 s [cursor-gen] produces valid cursors [✔]
  2553. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2554. 46.94 s [cursor-gen] treeCursorToggleCurrentForest
  2555. 46.94 s [cursor-gen] produces valid cursors [✔]
  2556. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2557. 46.94 s [cursor-gen] treeCursorOpenCurrentForestRecursively
  2558. 46.94 s [cursor-gen] produces valid cursors [✔]
  2559. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2560. 46.94 s [cursor-gen] treeCursorToggleCurrentForestRecursively
  2561. 46.94 s [cursor-gen] produces valid cursors [✔]
  2562. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2563. 46.94 s [cursor-gen] Cursor.Simple.Tree.Delete
  2564. 46.94 s [cursor-gen] treeCursorDeleteSubTreeAndSelectPrevious
  2565. 46.94 s [cursor-gen] produces valids on valids [✔]
  2566. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2567. 46.94 s [cursor-gen] deletes the current subtree selects the previous subtree [‐]
  2568. 46.94 s [cursor-gen] # PENDING: No reason given
  2569. 46.94 s [cursor-gen] treeCursorDeleteSubTreeAndSelectNext
  2570. 46.94 s [cursor-gen] produces valids on valids [✔]
  2571. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2572. 46.94 s [cursor-gen] deletes the current subtree selects the next subtree [‐]
  2573. 46.94 s [cursor-gen] # PENDING: No reason given
  2574. 46.94 s [cursor-gen] treeCursorDeleteSubTreeAndSelectAbove
  2575. 46.94 s [cursor-gen] produces valids on valids [✔]
  2576. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2577. 46.94 s [cursor-gen] deletes the current subtree selects the above node [‐]
  2578. 46.94 s [cursor-gen] # PENDING: No reason given
  2579. 46.94 s [cursor-gen] treeCursorRemoveSubTree
  2580. 46.94 s [cursor-gen] produces valids on valids [✔]
  2581. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2582. 46.94 s [cursor-gen] removes the current subtree [‐]
  2583. 46.94 s [cursor-gen] # PENDING: No reason given
  2584. 46.94 s [cursor-gen] treeCursorDeleteSubTree
  2585. 46.94 s [cursor-gen] produces valids on valids [✔]
  2586. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2587. 46.94 s [cursor-gen] deletes the current subtree [‐]
  2588. 46.94 s [cursor-gen] # PENDING: No reason given
  2589. 46.94 s [cursor-gen] treeCursorDeleteElemAndSelectPrevious
  2590. 46.94 s [cursor-gen] produces valids on valids [✔]
  2591. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2592. 46.94 s [cursor-gen] works for this simple example [✔]
  2593. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2594. 46.94 s [cursor-gen] deletes the current element and selects the previous element [‐]
  2595. 46.94 s [cursor-gen] # PENDING: No reason given
  2596. 46.94 s [cursor-gen] treeCursorDeleteElemAndSelectNext
  2597. 46.94 s [cursor-gen] produces valids on valids [✔]
  2598. 46.94 s [cursor-gen] +++ OK, passed 100 tests.
  2599. 46.95 s [cursor-gen] works for this simple example [✔]
  2600. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2601. 46.95 s [cursor-gen] deletes the current element and selects the next element [‐]
  2602. 46.95 s [cursor-gen] # PENDING: No reason given
  2603. 46.95 s [cursor-gen] treeCursorDeleteElemAndSelectAbove
  2604. 46.95 s [cursor-gen] produces valids on valids [✔]
  2605. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2606. 46.95 s [cursor-gen] works for this simple example [✔]
  2607. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2608. 46.95 s [cursor-gen] deletes the current element and selects the above element [‐]
  2609. 46.95 s [cursor-gen] # PENDING: No reason given
  2610. 46.95 s [cursor-gen] treeCursorRemoveElem
  2611. 46.95 s [cursor-gen] produces valids on valids [✔]
  2612. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2613. 46.95 s [cursor-gen] removes the current element [‐]
  2614. 46.95 s [cursor-gen] # PENDING: No reason given
  2615. 46.95 s [cursor-gen] treeCursorDeleteElem
  2616. 46.95 s [cursor-gen] produces valids on valids [✔]
  2617. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2618. 46.95 s [cursor-gen] deletes the current element [‐]
  2619. 46.95 s [cursor-gen] # PENDING: No reason given
  2620. 46.95 s [cursor-gen] Cursor.Simple.Tree.Demote
  2621. 46.95 s [cursor-gen] Functor DemoteResult
  2622. 46.95 s [cursor-gen] fmap :: (a -> b) -> DemoteResult a -> DemoteResult b
  2623. 46.95 s [cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "DemoteResult of ints :: (DemoteResult Int)" [✔]
  2624. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2625. 46.95 s [cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "DemoteResult of ints :: (DemoteResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
  2626. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2627. 46.95 s [cursor-gen] (<$) :: a -> DemoteResult b -> DemoteResult a
  2628. 46.95 s [cursor-gen] is equivalent to its default implementation for "int :: Int" and "DemoteResult of ints :: (DemoteResult Int)" [✔]
  2629. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2630. 46.95 s [cursor-gen] treeCursorDemoteElem
  2631. 46.95 s [cursor-gen] produces valids on valids [✔]
  2632. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2633. 46.95 s [cursor-gen] Works on the example from the docs [✔]
  2634. 46.95 s [cursor-gen] demotes the current node to the level of its children [‐]
  2635. 46.95 s [cursor-gen] # PENDING: No reason given
  2636. 46.95 s [cursor-gen] treeCursorDemoteSubTree
  2637. 46.95 s [cursor-gen] produces valids on valids [✔]
  2638. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2639. 46.95 s [cursor-gen] Works on the example from the docs [✔]
  2640. 46.95 s [cursor-gen] demotes the current subtree to the level of its children [‐]
  2641. 46.95 s [cursor-gen] # PENDING: No reason given
  2642. 46.95 s [cursor-gen] treeCursorDemoteElemUnder
  2643. 46.95 s [cursor-gen] produces valids on valids [✔]
  2644. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2645. 46.95 s [cursor-gen] Works on the example from the docs [✔]
  2646. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2647. 46.95 s [cursor-gen] demotes the current node to the level of its children [‐]
  2648. 46.95 s [cursor-gen] # PENDING: No reason given
  2649. 46.95 s [cursor-gen] treeCursorDemoteSubTreeUnder
  2650. 46.95 s [cursor-gen] produces valids on valids [✔]
  2651. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2652. 46.95 s [cursor-gen] Works on the example from the docs [✔]
  2653. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2654. 46.95 s [cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
  2655. 46.95 s [cursor-gen] # PENDING: No reason given
  2656. 46.95 s [cursor-gen] Cursor.Simple.Tree.Insert
  2657. 46.95 s [cursor-gen] treeCursorInsert
  2658. 46.95 s [cursor-gen] produces valids on valids [✔]
  2659. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2660. 46.95 s [cursor-gen] inserts the element [‐]
  2661. 46.95 s [cursor-gen] # PENDING: No reason given
  2662. 46.95 s [cursor-gen] treeCursorInsertAndSelect
  2663. 46.95 s [cursor-gen] produces valids on valids [✔]
  2664. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2665. 46.95 s [cursor-gen] inserts and select the element [‐]
  2666. 46.95 s [cursor-gen] # PENDING: No reason given
  2667. 46.95 s [cursor-gen] treeCursorInsertNodeSingleAndSelect
  2668. 46.95 s [cursor-gen] produces valids on valids [✔]
  2669. 46.95 s [cursor-gen] +++ OK, passed 100 tests.
  2670. 46.95 s [cursor-gen] inserts and select the element [‐]
  2671. 46.95 s [cursor-gen] # PENDING: No reason given
  2672. 46.95 s [cursor-gen] treeCursorInsertNodeAndSelect
  2673. 46.96 s [cursor-gen] produces valids on valids [✔]
  2674. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2675. 46.96 s [cursor-gen] inserts and select the element [‐]
  2676. 46.96 s [cursor-gen] # PENDING: No reason given
  2677. 46.96 s [cursor-gen] treeCursorAppend
  2678. 46.96 s [cursor-gen] produces valids on valids [✔]
  2679. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2680. 46.96 s [cursor-gen] appends the element [‐]
  2681. 46.96 s [cursor-gen] # PENDING: No reason given
  2682. 46.96 s [cursor-gen] treeCursorAppendAndSelect
  2683. 46.96 s [cursor-gen] produces valids on valids [✔]
  2684. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2685. 46.96 s [cursor-gen] appends and select the element [‐]
  2686. 46.96 s [cursor-gen] # PENDING: No reason given
  2687. 46.96 s [cursor-gen] treeCursorAppendNodeSingleAndSelect
  2688. 46.96 s [cursor-gen] produces valids on valids [✔]
  2689. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2690. 46.96 s [cursor-gen] appends and select the element [‐]
  2691. 46.96 s [cursor-gen] # PENDING: No reason given
  2692. 46.96 s [cursor-gen] treeCursorAppendNodeAndSelect
  2693. 46.96 s [cursor-gen] produces valids on valids [✔]
  2694. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2695. 46.96 s [cursor-gen] appends and select the element [‐]
  2696. 46.96 s [cursor-gen] # PENDING: No reason given
  2697. 46.96 s [cursor-gen] treeCursorAddChildAtPos
  2698. 46.96 s [cursor-gen] produces valid cursors [✔]
  2699. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2700. 46.96 s [cursor-gen] adds a tree at the given index in the children of the current node [‐]
  2701. 46.96 s [cursor-gen] # PENDING: No reason given
  2702. 46.96 s [cursor-gen] treeCursorAddChildAtStart
  2703. 46.96 s [cursor-gen] produces valid cursors [✔]
  2704. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2705. 46.96 s [cursor-gen] adds a tree at the start of the children of the current node [‐]
  2706. 46.96 s [cursor-gen] # PENDING: No reason given
  2707. 46.96 s [cursor-gen] treeCursorAddChildAtEnd
  2708. 46.96 s [cursor-gen] produces valid cursors [✔]
  2709. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2710. 46.96 s [cursor-gen] adds a tree at the end of the children of the current node [‐]
  2711. 46.96 s [cursor-gen] # PENDING: No reason given
  2712. 46.96 s [cursor-gen] treeCursorAddChildAtPosAndSelect
  2713. 46.96 s [cursor-gen] produces valid cursors [✔]
  2714. 46.96 s [cursor-gen] +++ OK, passed 100 tests.
  2715. 46.96 s [cursor-gen] adds a tree at the given index in theAndSelect children of the current node [‐]
  2716. 46.96 s [cursor-gen] # PENDING: No reason given
  2717. 46.96 s [cursor-gen] treeCursorAddChildAtStartAndSelect
  2718. 46.96 s [cursor-gen] producesAndSelect valid cursors [✔]
  2719. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2720. 46.97 s [cursor-gen] adds a tree at the start of the children of the current node [‐]
  2721. 46.97 s [cursor-gen] # PENDING: No reason given
  2722. 46.97 s [cursor-gen] treeCursorAddChildAtEndAndSelect
  2723. 46.97 s [cursor-gen] produces valid cursors [✔]
  2724. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2725. 46.97 s [cursor-gen] adds a tree at the end of the children of the current node [‐]
  2726. 46.97 s [cursor-gen] # PENDING: No reason given
  2727. 46.97 s [cursor-gen] treeCursorAddChildNodeSingleAtPosAndSelect
  2728. 46.97 s [cursor-gen] produces valid cursors [✔]
  2729. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2730. 46.97 s [cursor-gen] treeCursorAddChildNodeSingleAtStartAndSelect
  2731. 46.97 s [cursor-gen] produces valid cursors [✔]
  2732. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2733. 46.97 s [cursor-gen] treeCursorAddChildNodeSingleAtEndAndSelect
  2734. 46.97 s [cursor-gen] produces valid cursors [✔]
  2735. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2736. 46.97 s [cursor-gen] treeCursorAddChildNodeAtPosAndSelect
  2737. 46.97 s [cursor-gen] produces valid cursors [✔]
  2738. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2739. 46.97 s [cursor-gen] treeCursorAddChildNodeAtStartAndSelect
  2740. 46.97 s [cursor-gen] produces valid cursors [✔]
  2741. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2742. 46.97 s [cursor-gen] works for this example [✔]
  2743. 46.97 s [cursor-gen] treeCursorAddChildNodeAtEndAndSelect
  2744. 46.97 s [cursor-gen] produces valid cursors [✔]
  2745. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2746. 46.97 s [cursor-gen] works for this example [✔]
  2747. 46.97 s [cursor-gen] Cursor.Simple.Tree.Movement
  2748. 46.97 s [cursor-gen] treeCursorSelection
  2749. 46.97 s [cursor-gen] produces valids on valids [✔]
  2750. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2751. 46.97 s [cursor-gen] treeCursorSelect
  2752. 46.97 s [cursor-gen] produces valids on valids [✔]
  2753. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2754. 46.97 s [cursor-gen] is identity with the current selection [✔]
  2755. 46.97 s [cursor-gen] +++ OK, passed 100 tests.
  2756. 46.97 s [cursor-gen] treeCursorSelectPrevOnSameLevel
  2757. 46.97 s [cursor-gen] produces valids on valids [✔]
  2758. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2759. 46.98 s [cursor-gen] is a movement [✔]
  2760. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2761. 46.98 s [cursor-gen] selects the previous element [‐]
  2762. 46.98 s [cursor-gen] # PENDING: No reason given
  2763. 46.98 s [cursor-gen] after treeCursorSelectNextOnSameLevel is identity if they don't fail [✔]
  2764. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2765. 46.98 s [cursor-gen] treeCursorSelectNextOnSameLevel
  2766. 46.98 s [cursor-gen] produces valids on valids [✔]
  2767. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2768. 46.98 s [cursor-gen] is a movement [✔]
  2769. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2770. 46.98 s [cursor-gen] selects the next element [‐]
  2771. 46.98 s [cursor-gen] # PENDING: No reason given
  2772. 46.98 s [cursor-gen] after treeCursorSelectPrevOnSameLevel is identity if they don't fail [✔]
  2773. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2774. 46.98 s [cursor-gen] treeCursorSelectFirstOnSameLevel
  2775. 46.98 s [cursor-gen] produces valids on valids [✔]
  2776. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2777. 46.98 s [cursor-gen] is a movement [✔]
  2778. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2779. 46.98 s [cursor-gen] selects the previous element [‐]
  2780. 46.98 s [cursor-gen] # PENDING: No reason given
  2781. 46.98 s [cursor-gen] treeCursorSelectNextOnSameLevel
  2782. 46.98 s [cursor-gen] produces valids on valids [✔]
  2783. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2784. 46.98 s [cursor-gen] is a movement [✔]
  2785. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2786. 46.98 s [cursor-gen] selects the next element [‐]
  2787. 46.98 s [cursor-gen] # PENDING: No reason given
  2788. 46.98 s [cursor-gen] treeCursorSelectAbovePrev
  2789. 46.98 s [cursor-gen] produces valids on valids [✔]
  2790. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2791. 46.98 s [cursor-gen] is a movement [✔]
  2792. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2793. 46.98 s [cursor-gen] Works for this classic example [✔]
  2794. 46.98 s [cursor-gen] selects the previous element [‐]
  2795. 46.98 s [cursor-gen] # PENDING: No reason given
  2796. 46.98 s [cursor-gen] after treeCursorSelectAboveNext is identity if they don't fail [✔]
  2797. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2798. 46.98 s [cursor-gen] treeCursorSelectAboveNext
  2799. 46.98 s [cursor-gen] produces valids on valids [✔]
  2800. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2801. 46.98 s [cursor-gen] is a movement [✔]
  2802. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2803. 46.98 s [cursor-gen] Works for this classic example [✔]
  2804. 46.98 s [cursor-gen] selects the next element [‐]
  2805. 46.98 s [cursor-gen] # PENDING: No reason given
  2806. 46.98 s [cursor-gen] after treeCursorSelectAbovePrev is identity if they don't fail [✔]
  2807. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2808. 46.98 s [cursor-gen] treeCursorSelectPrev
  2809. 46.98 s [cursor-gen] produces valids on valids [✔]
  2810. 46.98 s [cursor-gen] +++ OK, passed 100 tests.
  2811. 46.99 s [cursor-gen] is a movement [✔]
  2812. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2813. 46.99 s [cursor-gen] selects the previous element [‐]
  2814. 46.99 s [cursor-gen] # PENDING: No reason given
  2815. 46.99 s [cursor-gen] after treeCursorSelectNext is identity if they don't fail [✔]
  2816. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2817. 46.99 s [cursor-gen] treeCursorSelectNext
  2818. 46.99 s [cursor-gen] produces valids on valids [✔]
  2819. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2820. 46.99 s [cursor-gen] is a movement [✔]
  2821. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2822. 46.99 s [cursor-gen] selects the next element [‐]
  2823. 46.99 s [cursor-gen] # PENDING: No reason given
  2824. 46.99 s [cursor-gen] after treeCursorSelectPrev is identity if they don't fail [✔]
  2825. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2826. 46.99 s [cursor-gen] treeCursorSelectFirst
  2827. 46.99 s [cursor-gen] produces valids on valids [✔]
  2828. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2829. 46.99 s [cursor-gen] is a movement [✔]
  2830. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2831. 46.99 s [cursor-gen] selects the first element [‐]
  2832. 46.99 s [cursor-gen] # PENDING: No reason given
  2833. 46.99 s [cursor-gen] is idempotent [✔]
  2834. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2835. 46.99 s [cursor-gen] treeCursorSelectLast
  2836. 46.99 s [cursor-gen] produces valids on valids [✔]
  2837. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2838. 46.99 s [cursor-gen] is a movement [✔]
  2839. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2840. 46.99 s [cursor-gen] selects the last element [‐]
  2841. 46.99 s [cursor-gen] # PENDING: No reason given
  2842. 46.99 s [cursor-gen] is idempotent [✔]
  2843. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2844. 46.99 s [cursor-gen] treeCursorSelectAbove
  2845. 46.99 s [cursor-gen] produces valids on valids [✔]
  2846. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2847. 46.99 s [cursor-gen] is a movement [✔]
  2848. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2849. 46.99 s [cursor-gen] selects the element above [‐]
  2850. 46.99 s [cursor-gen] # PENDING: No reason given
  2851. 46.99 s [cursor-gen] after treeCursorSelectBelow is identity if they don't fail [✔]
  2852. 46.99 s [cursor-gen] +++ OK, passed 100 tests.
  2853. 46.99 s [cursor-gen] treeCursorSelectBelowAtPos
  2854. 47.00 s [cursor-gen] produces valids on valids [✔]
  2855. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2856. 47.00 s [cursor-gen] is a movement [✔]
  2857. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2858. 47.00 s [cursor-gen] selects the element n-th below [‐]
  2859. 47.00 s [cursor-gen] # PENDING: No reason given
  2860. 47.00 s [cursor-gen] treeCursorSelectBelowAtStart
  2861. 47.00 s [cursor-gen] produces valids on valids [✔]
  2862. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2863. 47.00 s [cursor-gen] is a movement [✔]
  2864. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2865. 47.00 s [cursor-gen] selects the first child below [‐]
  2866. 47.00 s [cursor-gen] # PENDING: No reason given
  2867. 47.00 s [cursor-gen] treeCursorSelectBelowAtEnd
  2868. 47.00 s [cursor-gen] produces valids on valids [✔]
  2869. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2870. 47.00 s [cursor-gen] is a movement [✔]
  2871. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2872. 47.00 s [cursor-gen] selects the last child below [‐]
  2873. 47.00 s [cursor-gen] # PENDING: No reason given
  2874. 47.00 s [cursor-gen] treeCursorSelectBelowAtStartRecursively
  2875. 47.00 s [cursor-gen] produces valids on valids [✔]
  2876. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2877. 47.00 s [cursor-gen] is a movement [✔]
  2878. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2879. 47.00 s [cursor-gen] selects the first child below, recursively [‐]
  2880. 47.00 s [cursor-gen] # PENDING: No reason given
  2881. 47.00 s [cursor-gen] treeCursorSelectBelowAtEndRecursively
  2882. 47.00 s [cursor-gen] produces valids on valids [✔]
  2883. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2884. 47.00 s [cursor-gen] is a movement [✔]
  2885. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2886. 47.00 s [cursor-gen] selects the last child below, recursively [‐]
  2887. 47.00 s [cursor-gen] # PENDING: No reason given
  2888. 47.00 s [cursor-gen] Cursor.Simple.Tree.Promote
  2889. 47.00 s [cursor-gen] Functor PromoteElemResult
  2890. 47.00 s [cursor-gen] fmap :: (a -> b) -> PromoteElemResult a -> PromoteElemResult b
  2891. 47.00 s [cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2892. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2893. 47.00 s [cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "PromoteElemResult of ints :: (PromoteElemResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
  2894. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2895. 47.00 s [cursor-gen] (<$) :: a -> PromoteElemResult b -> PromoteElemResult a
  2896. 47.00 s [cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2897. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2898. 47.00 s [cursor-gen] Applicative PromoteElemResult
  2899. 47.00 s [cursor-gen] pure :: a -> PromoteElemResult a and (<*>) :: PromoteElemResult (a -> b) -> PromoteElemResult a -> PromoteElemResult b
  2900. 47.00 s [cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2901. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2902. 47.00 s [cursor-gen] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "PromoteElemResult of scalings :: (PromoteElemResult (Int -> Int))" composed with "PromoteElemResult of increments :: (PromoteElemResult (Int -> Int))" and applied to "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2903. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2904. 47.00 s [cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
  2905. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2906. 47.00 s [cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteElemResult of increments :: (PromoteElemResult (Int -> Int))" sequenced with "int :: Int" [✔]
  2907. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2908. 47.00 s [cursor-gen] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2909. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2910. 47.00 s [cursor-gen] (*>) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult b
  2911. 47.00 s [cursor-gen] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "PromoteElemResult of ints :: (PromoteElemResult Int)" in front of "PromoteElemResult of ints :: Int" [✔]
  2912. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2913. 47.00 s [cursor-gen] (<*) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult a
  2914. 47.00 s [cursor-gen] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "PromoteElemResult of ints :: Int" behind "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2915. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2916. 47.00 s [cursor-gen] Monad PromoteElemResult
  2917. 47.00 s [cursor-gen] return :: a -> PromoteElemResult a and (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
  2918. 47.00 s [cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteElemResult Int)" [✔]
  2919. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2920. 47.00 s [cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2921. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2922. 47.00 s [cursor-gen] (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
  2923. 47.00 s [cursor-gen] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "PromoteElemResult of ints :: (PromoteElemResult Int)" "perturbations using the int :: (Int -> PromoteElemResult Int)" and "perturbations using the double the int :: (Int -> PromoteElemResult Int)" [✔]
  2924. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2925. 47.00 s [cursor-gen] relation with Applicative PromoteElemResult
  2926. 47.00 s [cursor-gen] satisfies 'pure = return' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2927. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2928. 47.00 s [cursor-gen] satisfies '(<*>) = ap' for "PromoteElemResult of additions :: (PromoteElemResult (Int -> Int))" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2929. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2930. 47.00 s [cursor-gen] satisfies '(>>) = (*>)' for "PromoteElemResult of ints :: (PromoteElemResult Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2931. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2932. 47.00 s [cursor-gen] relation with Functor PromoteElemResult
  2933. 47.00 s [cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
  2934. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2935. 47.00 s [cursor-gen] treeCursorPromoteElem
  2936. 47.00 s [cursor-gen] produces valids on valids [✔]
  2937. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2938. 47.00 s [cursor-gen] Works on the example from the docs [✔]
  2939. 47.00 s [cursor-gen] promotes the current node to the level of its parent [‐]
  2940. 47.00 s [cursor-gen] # PENDING: No reason given
  2941. 47.00 s [cursor-gen] Functor PromoteResult
  2942. 47.00 s [cursor-gen] fmap :: (a -> b) -> PromoteResult a -> PromoteResult b
  2943. 47.00 s [cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2944. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2945. 47.00 s [cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "PromoteResult of ints :: (PromoteResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
  2946. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2947. 47.00 s [cursor-gen] (<$) :: a -> PromoteResult b -> PromoteResult a
  2948. 47.00 s [cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2949. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2950. 47.00 s [cursor-gen] Applicative PromoteResult
  2951. 47.00 s [cursor-gen] pure :: a -> PromoteResult a and (<*>) :: PromoteResult (a -> b) -> PromoteResult a -> PromoteResult b
  2952. 47.00 s [cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2953. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2954. 47.00 s [cursor-gen] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "PromoteResult of scalings :: (PromoteResult (Int -> Int))" composed with "PromoteResult of increments :: (PromoteResult (Int -> Int))" and applied to "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2955. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2956. 47.00 s [cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
  2957. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2958. 47.00 s [cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteResult of increments :: (PromoteResult (Int -> Int))" sequenced with "int :: Int" [✔]
  2959. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2960. 47.00 s [cursor-gen] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2961. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2962. 47.00 s [cursor-gen] (*>) :: PromoteResult a -> PromoteResult b -> PromoteResult b
  2963. 47.00 s [cursor-gen] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "PromoteResult of ints :: (PromoteResult Int)" in front of "PromoteResult of ints :: Int" [✔]
  2964. 47.00 s [cursor-gen] +++ OK, passed 100 tests.
  2965. 47.00 s [cursor-gen] (<*) :: PromoteResult a -> PromoteResult b -> PromoteResult a
  2966. 47.00 s [cursor-gen] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "PromoteResult of ints :: Int" behind "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2967. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2968. 47.01 s [cursor-gen] Monad PromoteResult
  2969. 47.01 s [cursor-gen] return :: a -> PromoteResult a and (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
  2970. 47.01 s [cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteResult Int)" [✔]
  2971. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2972. 47.01 s [cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2973. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2974. 47.01 s [cursor-gen] (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
  2975. 47.01 s [cursor-gen] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "PromoteResult of ints :: (PromoteResult Int)" "perturbations using the int :: (Int -> PromoteResult Int)" and "perturbations using the double the int :: (Int -> PromoteResult Int)" [✔]
  2976. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2977. 47.01 s [cursor-gen] relation with Applicative PromoteResult
  2978. 47.01 s [cursor-gen] satisfies 'pure = return' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2979. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2980. 47.01 s [cursor-gen] satisfies '(<*>) = ap' for "PromoteResult of additions :: (PromoteResult (Int -> Int))" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2981. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2982. 47.01 s [cursor-gen] satisfies '(>>) = (*>)' for "PromoteResult of ints :: (PromoteResult Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2983. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2984. 47.01 s [cursor-gen] relation with Functor PromoteResult
  2985. 47.01 s [cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
  2986. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2987. 47.01 s [cursor-gen] treeCursorPromoteSubTree
  2988. 47.01 s [cursor-gen] produces valids on valids [✔]
  2989. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2990. 47.01 s [cursor-gen] Works on the example from the docs [✔]
  2991. 47.01 s [cursor-gen] promotes the current subtree to the level of its parent [‐]
  2992. 47.01 s [cursor-gen] # PENDING: No reason given
  2993. 47.01 s [cursor-gen] Cursor.Simple.Tree.Swap
  2994. 47.01 s [cursor-gen] Functor SwapResult
  2995. 47.01 s [cursor-gen] fmap :: (a -> b) -> SwapResult a -> SwapResult b
  2996. 47.01 s [cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "SwapResult of ints :: (SwapResult Int)" [✔]
  2997. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  2998. 47.01 s [cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "SwapResult of ints :: (SwapResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
  2999. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3000. 47.01 s [cursor-gen] (<$) :: a -> SwapResult b -> SwapResult a
  3001. 47.01 s [cursor-gen] is equivalent to its default implementation for "int :: Int" and "SwapResult of ints :: (SwapResult Int)" [✔]
  3002. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3003. 47.01 s [cursor-gen] treeCursorSwapPrev
  3004. 47.01 s [cursor-gen] produces valids on valids [✔]
  3005. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3006. 47.01 s [cursor-gen] works on the example from the docs [✔]
  3007. 47.01 s [cursor-gen] reverts treeCursorSwapNext [✔]
  3008. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3009. 47.01 s [cursor-gen] swaps the current node with the previous node [‐]
  3010. 47.01 s [cursor-gen] # PENDING: No reason given
  3011. 47.01 s [cursor-gen] treeCursorSwapNext
  3012. 47.01 s [cursor-gen] produces valids on valids [✔]
  3013. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3014. 47.01 s [cursor-gen] works on the example from the docs [✔]
  3015. 47.01 s [cursor-gen] reverts treeCursorSwapNext [✔]
  3016. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3017. 47.01 s [cursor-gen] swaps the current node with the next node [‐]
  3018. 47.01 s [cursor-gen] # PENDING: No reason given
  3019. 47.01 s [cursor-gen] Cursor.Text
  3020. 47.01 s [cursor-gen] Eq TextCursor
  3021. 47.01 s [cursor-gen] (==) :: TextCursor -> TextCursor -> Bool
  3022. 47.01 s [cursor-gen] is reflexive for "valid TextCursor"s [✔]
  3023. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3024. 47.01 s [cursor-gen] is symmetric for "valid TextCursor"s [✔]
  3025. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3026. 47.01 s [cursor-gen] is transitive for "valid TextCursor"s [✔]
  3027. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3028. 47.01 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextCursor"s [✔]
  3029. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3030. 47.01 s [cursor-gen] (/=) :: TextCursor -> TextCursor -> Bool
  3031. 47.01 s [cursor-gen] is antireflexive for "valid TextCursor"s [✔]
  3032. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3033. 47.01 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextCursor"s [✔]
  3034. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3035. 47.01 s [cursor-gen] GenValid TextCursor
  3036. 47.01 s [cursor-gen] genValid :: Gen TextCursor
  3037. 47.01 s [cursor-gen] only generates valid 'TextCursor's [✔]
  3038. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3039. 47.01 s [cursor-gen] Validity TextCursor
  3040. 47.01 s [cursor-gen] considers a text cursor with a newline in the previous characters invalid [✔]
  3041. 47.01 s [cursor-gen] considers a text cursor with a newline in the next characters invalid [✔]
  3042. 47.01 s [cursor-gen] considers a text cursor with an unsafe character in the previous characters invalid [✔]
  3043. 47.01 s [cursor-gen] considers a text cursor with an unsafe character in the next characters invalid [✔]
  3044. 47.01 s [cursor-gen] emptyTextCursor
  3045. 47.01 s [cursor-gen] is valid [✔]
  3046. 47.01 s [cursor-gen] makeTextCursor
  3047. 47.01 s [cursor-gen] produces valid list cursors [✔]
  3048. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3049. 47.01 s [cursor-gen] makeTextCursorWithSelection
  3050. 47.01 s [cursor-gen] produces valid list cursors [✔]
  3051. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3052. 47.01 s [cursor-gen] rebuildTextCursor
  3053. 47.01 s [cursor-gen] produces valid lists [✔]
  3054. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3055. 47.01 s [cursor-gen] is the inverse of makeTextCursor [✔]
  3056. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3057. 47.01 s [cursor-gen] is the inverse of makeTextCursorWithSelection for any index [✔]
  3058. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3059. 47.01 s [cursor-gen] textCursorNull
  3060. 47.01 s [cursor-gen] produces valid bools [✔]
  3061. 47.01 s [cursor-gen] +++ OK, passed 100 tests.
  3062. 47.02 s [cursor-gen] textCursorLength
  3063. 47.02 s [cursor-gen] produces valid ints [✔]
  3064. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3065. 47.02 s [cursor-gen] textCursorIndex
  3066. 47.02 s [cursor-gen] produces valid indices [✔]
  3067. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3068. 47.02 s [cursor-gen] textCursorSelectPrev
  3069. 47.02 s [cursor-gen] produces valid cursors [✔]
  3070. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3071. 47.02 s [cursor-gen] is a movement [✔]
  3072. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3073. 47.02 s [cursor-gen] selects the previous position [‐]
  3074. 47.02 s [cursor-gen] # PENDING: No reason given
  3075. 47.02 s [cursor-gen] textCursorSelectNext
  3076. 47.02 s [cursor-gen] produces valid cursors [✔]
  3077. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3078. 47.02 s [cursor-gen] is a movement [✔]
  3079. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3080. 47.02 s [cursor-gen] selects the next position [‐]
  3081. 47.02 s [cursor-gen] # PENDING: No reason given
  3082. 47.02 s [cursor-gen] textCursorSelectIndex
  3083. 47.02 s [cursor-gen] produces valid cursors [✔]
  3084. 47.02 s [cursor-gen] +++ OK, passed 100 tests.
  3085. 47.03 s [cursor-gen] is a movement [✔]
  3086. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3087. 47.03 s [cursor-gen] selects the position at the given index [‐]
  3088. 47.03 s [cursor-gen] # PENDING: No reason given
  3089. 47.03 s [cursor-gen] produces a cursor that has the given selection for valid selections in the cursor [✔]
  3090. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3091. 47.03 s [cursor-gen] textCursorSelectStart
  3092. 47.03 s [cursor-gen] produces valid cursors [✔]
  3093. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3094. 47.03 s [cursor-gen] is a movement [✔]
  3095. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3096. 47.03 s [cursor-gen] is idempotent [✔]
  3097. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3098. 47.03 s [cursor-gen] selects the starting position [‐]
  3099. 47.03 s [cursor-gen] # PENDING: No reason given
  3100. 47.03 s [cursor-gen] textCursorSelectEnd
  3101. 47.03 s [cursor-gen] produces valid cursors [✔]
  3102. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3103. 47.03 s [cursor-gen] is a movement [✔]
  3104. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3105. 47.03 s [cursor-gen] is idempotent [✔]
  3106. 47.03 s [cursor-gen] +++ OK, passed 100 tests.
  3107. 47.03 s [cursor-gen] selects the end position [‐]
  3108. 47.03 s [cursor-gen] # PENDING: No reason given
  3109. 47.03 s [cursor-gen] textCursorPrevChar
  3110. 47.04 s [cursor-gen] produces valid items [✔]
  3111. 47.04 s [cursor-gen] +++ OK, passed 100 tests.
  3112. 47.04 s [cursor-gen] returns the item before the position [‐]
  3113. 47.04 s [cursor-gen] # PENDING: No reason given
  3114. 47.04 s [cursor-gen] textCursorNextChar
  3115. 47.04 s [cursor-gen] produces valid items [✔]
  3116. 47.04 s [cursor-gen] +++ OK, passed 100 tests.
  3117. 47.04 s [cursor-gen] returns the item after the position [‐]
  3118. 47.04 s [cursor-gen] # PENDING: No reason given
  3119. 47.04 s [cursor-gen] textCursorSelectBeginWord
  3120. 47.04 s [cursor-gen] produces valid items [✔]
  3121. 47.04 s [cursor-gen] +++ OK, passed 100 tests.
  3122. 47.04 s [cursor-gen] is a movement [✔]
  3123. 47.04 s [cursor-gen] +++ OK, passed 100 tests.
  3124. 47.04 s [cursor-gen] is idempotent [✔]
  3125. 47.04 s [cursor-gen] +++ OK, passed 100 tests (89% non trivial).
  3126. 47.04 s [cursor-gen] works for this example [✔]
  3127. 47.04 s [cursor-gen] works for this example [✔]
  3128. 47.04 s [cursor-gen] works for this example [✔]
  3129. 47.04 s [cursor-gen] works for this example [✔]
  3130. 47.04 s [cursor-gen] textCursorSelectEndWord
  3131. 47.04 s [cursor-gen] produces valid items [✔]
  3132. 47.04 s [cursor-gen] +++ OK, passed 100 tests.
  3133. 47.04 s [cursor-gen] is a movement [✔]
  3134. 47.04 s [cursor-gen] +++ OK, passed 100 tests.
  3135. 47.04 s [cursor-gen] is idempotent [✔]
  3136. 47.04 s [cursor-gen] +++ OK, passed 100 tests (89% non trivial).
  3137. 47.04 s [cursor-gen] works for this example [✔]
  3138. 47.04 s [cursor-gen] works for this example [✔]
  3139. 47.04 s [cursor-gen] works for this example [✔]
  3140. 47.04 s [cursor-gen] works for this example [✔]
  3141. 47.04 s [cursor-gen] textCursorSelectNextWord
  3142. 47.05 s [cursor-gen] produces valid items [✔]
  3143. 47.05 s [cursor-gen] +++ OK, passed 100 tests.
  3144. 47.05 s [cursor-gen] is a movement [✔]
  3145. 47.05 s [cursor-gen] +++ OK, passed 100 tests.
  3146. 47.05 s [cursor-gen] works for this example [✔]
  3147. 47.05 s [cursor-gen] works for this example [✔]
  3148. 47.05 s [cursor-gen] works for this example [✔]
  3149. 47.05 s [cursor-gen] works for this example [✔]
  3150. 47.05 s [cursor-gen] goes to the end of the cursor [✔]
  3151. 47.05 s [cursor-gen] chooses the next word correctly [✔]
  3152. 47.05 s [cursor-gen] textCursorSelectPrevWord
  3153. 47.05 s [cursor-gen] produces valid items [✔]
  3154. 47.05 s [cursor-gen] +++ OK, passed 100 tests.
  3155. 47.05 s [cursor-gen] is a movement [✔]
  3156. 47.05 s [cursor-gen] +++ OK, passed 100 tests.
  3157. 47.05 s [cursor-gen] works for this example [✔]
  3158. 47.05 s [cursor-gen] works for this example [✔]
  3159. 47.05 s [cursor-gen] works for this example [✔]
  3160. 47.05 s [cursor-gen] works for this example [✔]
  3161. 47.05 s [cursor-gen] goes to the beginning of the cursor [✔]
  3162. 47.05 s [cursor-gen] chooses the previous word correctly [✔]
  3163. 47.05 s [cursor-gen] textCursorInsert
  3164. 47.05 s [cursor-gen] produces valids [✔]
  3165. 47.05 s [cursor-gen] +++ OK, passed 100 tests.
  3166. 47.05 s [cursor-gen] inserts an item before the cursor [‐]
  3167. 47.05 s [cursor-gen] # PENDING: No reason given
  3168. 47.05 s [cursor-gen] textCursorAppend
  3169. 47.06 s [cursor-gen] produces valids [✔]
  3170. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3171. 47.06 s [cursor-gen] inserts an item after the cursor [‐]
  3172. 47.06 s [cursor-gen] # PENDING: No reason given
  3173. 47.06 s [cursor-gen] textCursorInsertString
  3174. 47.06 s [cursor-gen] produces valids [✔]
  3175. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3176. 47.06 s [cursor-gen] works for this example [✔]
  3177. 47.06 s [cursor-gen] textCursorAppendString
  3178. 47.06 s [cursor-gen] produces valids [✔]
  3179. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3180. 47.06 s [cursor-gen] textCursorInsertText
  3181. 47.06 s [cursor-gen] produces valids [✔]
  3182. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3183. 47.06 s [cursor-gen] textCursorAppendText
  3184. 47.06 s [cursor-gen] produces valids [✔]
  3185. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3186. 47.06 s [cursor-gen] textCursorRemove
  3187. 47.06 s [cursor-gen] produces valids [✔]
  3188. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3189. 47.06 s [cursor-gen] removes an item before the cursor [‐]
  3190. 47.06 s [cursor-gen] # PENDING: No reason given
  3191. 47.06 s [cursor-gen] textCursorDelete
  3192. 47.06 s [cursor-gen] produces valids [✔]
  3193. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3194. 47.06 s [cursor-gen] removes an item before the cursor [‐]
  3195. 47.06 s [cursor-gen] # PENDING: No reason given
  3196. 47.06 s [cursor-gen] textCursorSplit
  3197. 47.06 s [cursor-gen] produces valids [✔]
  3198. 47.06 s [cursor-gen] +++ OK, passed 100 tests.
  3199. 47.07 s [cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
  3200. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3201. 47.07 s [cursor-gen] textCursorCombine
  3202. 47.07 s [cursor-gen] produces valids [✔]
  3203. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3204. 47.07 s [cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
  3205. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3206. 47.07 s [cursor-gen] Cursor.TextField
  3207. 47.07 s [cursor-gen] Eq TextFieldCursor
  3208. 47.07 s [cursor-gen] (==) :: TextFieldCursor -> TextFieldCursor -> Bool
  3209. 47.07 s [cursor-gen] is reflexive for "valid TextFieldCursor"s [✔]
  3210. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3211. 47.07 s [cursor-gen] is symmetric for "valid TextFieldCursor"s [✔]
  3212. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3213. 47.07 s [cursor-gen] is transitive for "valid TextFieldCursor"s [✔]
  3214. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3215. 47.07 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextFieldCursor"s [✔]
  3216. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3217. 47.07 s [cursor-gen] (/=) :: TextFieldCursor -> TextFieldCursor -> Bool
  3218. 47.07 s [cursor-gen] is antireflexive for "valid TextFieldCursor"s [✔]
  3219. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3220. 47.07 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextFieldCursor"s [✔]
  3221. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3222. 47.07 s [cursor-gen] GenValid TextFieldCursor
  3223. 47.07 s [cursor-gen] genValid :: Gen TextFieldCursor
  3224. 47.07 s [cursor-gen] only generates valid 'TextFieldCursor's [✔]
  3225. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3226. 47.07 s [cursor-gen] Validity TextFieldCursor
  3227. 47.07 s [cursor-gen] consider a textfield with a newline in the previous lines invalid [✔]
  3228. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3229. 47.07 s [cursor-gen] consider a textfield with a newline in the next lines invalid [✔]
  3230. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3231. 47.07 s [cursor-gen] makeTextFieldCursor
  3232. 47.07 s [cursor-gen] produces a valid cursor for "\n" [✔]
  3233. 47.07 s [cursor-gen] produces a valid cursor for "\n\n" [✔]
  3234. 47.07 s [cursor-gen] produces valid cursors [✔]
  3235. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3236. 47.07 s [cursor-gen] makeTextFieldCursorWithSelection
  3237. 47.07 s [cursor-gen] produces a valid cursor for "\n" [✔]
  3238. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3239. 47.07 s [cursor-gen] produces a valid cursor for "\n\n" [✔]
  3240. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3241. 47.07 s [cursor-gen] produces valid cursors [✔]
  3242. 47.07 s [cursor-gen] +++ OK, passed 100 tests.
  3243. 47.08 s [cursor-gen] is the inverse of rebuildTextFieldCursor when using the current selection [✔]
  3244. 47.08 s [cursor-gen] +++ OK, passed 100 tests.
  3245. 47.08 s [cursor-gen] rebuildTextFieldCursorLines
  3246. 47.08 s [cursor-gen] produces valid lists [✔]
  3247. 47.08 s [cursor-gen] +++ OK, passed 100 tests.
  3248. 47.08 s [cursor-gen] produces texts without newlines [✔]
  3249. 47.08 s [cursor-gen] +++ OK, passed 100 tests.
  3250. 47.08 s [cursor-gen] rebuildTextFieldCursor
  3251. 47.09 s [cursor-gen] produces valid texts [✔]
  3252. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3253. 47.09 s [cursor-gen] is the inverse of makeTextFieldCursor [✔]
  3254. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3255. 47.09 s [cursor-gen] is the inverse of makeTextFieldCursorWithSelection for integers, for any index [✔]
  3256. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3257. 47.09 s [cursor-gen] textFieldCursorSelection
  3258. 47.09 s [cursor-gen] produces valid tuples [✔]
  3259. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3260. 47.09 s [cursor-gen] emptyTextFieldCursor
  3261. 47.09 s [cursor-gen] is valid [✔]
  3262. 47.09 s [cursor-gen] nullTextFieldCursor
  3263. 47.09 s [cursor-gen] produces valid [✔]
  3264. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3265. 47.09 s [cursor-gen] textFieldCursorSelectPrevLine
  3266. 47.09 s [cursor-gen] produces valid cursors [✔]
  3267. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3268. 47.09 s [cursor-gen] is a movement [✔]
  3269. 47.09 s [cursor-gen] +++ OK, passed 100 tests.
  3270. 47.09 s [cursor-gen] selects the previous line [‐]
  3271. 47.09 s [cursor-gen] # PENDING: No reason given
  3272. 47.09 s [cursor-gen] textFieldCursorSelectNextLine
  3273. 47.10 s [cursor-gen] produces valid cursors [✔]
  3274. 47.10 s [cursor-gen] +++ OK, passed 100 tests.
  3275. 47.10 s [cursor-gen] is a movement [✔]
  3276. 47.10 s [cursor-gen] +++ OK, passed 100 tests.
  3277. 47.10 s [cursor-gen] selects the next line [‐]
  3278. 47.10 s [cursor-gen] # PENDING: No reason given
  3279. 47.10 s [cursor-gen] textFieldCursorSelectFirstLine
  3280. 47.10 s [cursor-gen] produces valid cursors [✔]
  3281. 47.10 s [cursor-gen] +++ OK, passed 100 tests.
  3282. 47.10 s [cursor-gen] is a movement [✔]
  3283. 47.10 s [cursor-gen] +++ OK, passed 100 tests.
  3284. 47.11 s [cursor-gen] is idempotent [✔]
  3285. 47.11 s [cursor-gen] +++ OK, passed 100 tests.
  3286. 47.11 s [cursor-gen] selects the first line [‐]
  3287. 47.11 s [cursor-gen] # PENDING: No reason given
  3288. 47.11 s [cursor-gen] textFieldCursorSelectLastLine
  3289. 47.11 s [cursor-gen] produces valid cursors [✔]
  3290. 47.11 s [cursor-gen] +++ OK, passed 100 tests.
  3291. 47.11 s [cursor-gen] is a movement [✔]
  3292. 47.11 s [cursor-gen] +++ OK, passed 100 tests.
  3293. 47.11 s [cursor-gen] is idempotent [✔]
  3294. 47.11 s [cursor-gen] +++ OK, passed 100 tests.
  3295. 47.11 s [cursor-gen] selects the last line [‐]
  3296. 47.11 s [cursor-gen] # PENDING: No reason given
  3297. 47.11 s [cursor-gen] textFieldCursorSelectPrevChar
  3298. 47.11 s [cursor-gen] produces valid cursors [✔]
  3299. 47.11 s [cursor-gen] +++ OK, passed 100 tests.
  3300. 47.11 s [cursor-gen] selects the previous character on the current line [‐]
  3301. 47.11 s [cursor-gen] # PENDING: No reason given
  3302. 47.11 s [cursor-gen] textFieldCursorSelectNextChar
  3303. 47.12 s [cursor-gen] produces valid cursors [✔]
  3304. 47.12 s [cursor-gen] +++ OK, passed 100 tests.
  3305. 47.12 s [cursor-gen] selects the previous character on the current line [‐]
  3306. 47.12 s [cursor-gen] # PENDING: No reason given
  3307. 47.12 s [cursor-gen] textFieldCursorSelectBeginWord
  3308. 47.12 s [cursor-gen] produces valid cursors [✔]
  3309. 47.12 s [cursor-gen] +++ OK, passed 100 tests.
  3310. 47.12 s [cursor-gen] textFieldCursorSelectEndWord
  3311. 47.12 s [cursor-gen] produces valid cursors [✔]
  3312. 47.12 s [cursor-gen] +++ OK, passed 100 tests.
  3313. 47.12 s [cursor-gen] textFieldCursorSelectPrevWord
  3314. 47.12 s [cursor-gen] produces valid cursors [✔]
  3315. 47.12 s [cursor-gen] +++ OK, passed 100 tests.
  3316. 47.12 s [cursor-gen] textFieldCursorSelectNextWord
  3317. 47.13 s [cursor-gen] produces valid cursors [✔]
  3318. 47.13 s [cursor-gen] +++ OK, passed 100 tests.
  3319. 47.13 s [cursor-gen] textFieldCursorIndexOnLine
  3320. 47.13 s [cursor-gen] produces valid indices [✔]
  3321. 47.13 s [cursor-gen] +++ OK, passed 100 tests.
  3322. 47.13 s [cursor-gen] returns the index on the current line [‐]
  3323. 47.13 s [cursor-gen] # PENDING: No reason given
  3324. 47.13 s [cursor-gen] textFieldCursorSelectIndexOnLine
  3325. 47.13 s [cursor-gen] produces valid cursors for any index [✔]
  3326. 47.13 s [cursor-gen] +++ OK, passed 100 tests.
  3327. 47.13 s [cursor-gen] selects the given index on the current line [‐]
  3328. 47.13 s [cursor-gen] # PENDING: No reason given
  3329. 47.13 s [cursor-gen] textFieldCursorInsertChar
  3330. 47.13 s [cursor-gen] produces valid cursors [✔]
  3331. 47.13 s [cursor-gen] +++ OK, passed 100 tests.
  3332. 47.13 s [cursor-gen] inserts a character before the cursor on the current line [‐]
  3333. 47.13 s [cursor-gen] # PENDING: No reason given
  3334. 47.13 s [cursor-gen] textFieldCursorAppendChar
  3335. 47.13 s [cursor-gen] produces valid cursors [✔]
  3336. 47.13 s [cursor-gen] +++ OK, passed 100 tests.
  3337. 47.13 s [cursor-gen] inserts a character after the cursor on the currrent line [‐]
  3338. 47.13 s [cursor-gen] # PENDING: No reason given
  3339. 47.13 s [cursor-gen] textFieldCursorInsertNewline
  3340. 47.13 s [cursor-gen] produces valid cursors [✔]
  3341. 47.13 s [cursor-gen] +++ OK, passed 100 tests.
  3342. 47.13 s [cursor-gen] inserts a new line [‐]
  3343. 47.13 s [cursor-gen] # PENDING: No reason given
  3344. 47.13 s [cursor-gen] textFieldCursorAppendNewline
  3345. 47.14 s [cursor-gen] produces valid cursors [✔]
  3346. 47.14 s [cursor-gen] +++ OK, passed 100 tests.
  3347. 47.14 s [cursor-gen] textFieldCursorRemove
  3348. 47.14 s [cursor-gen] produces valid cursors [✔]
  3349. 47.14 s [cursor-gen] +++ OK, passed 100 tests.
  3350. 47.14 s [cursor-gen] removes empty text field cursor [✔]
  3351. 47.14 s [cursor-gen] removes a character or a line [‐]
  3352. 47.14 s [cursor-gen] # PENDING: No reason given
  3353. 47.14 s [cursor-gen] textFieldCursorDelete
  3354. 47.14 s [cursor-gen] produces valid cursors [✔]
  3355. 47.14 s [cursor-gen] +++ OK, passed 100 tests.
  3356. 47.14 s [cursor-gen] removes empty text field cursor [✔]
  3357. 47.14 s [cursor-gen] deletes a character or a line [‐]
  3358. 47.14 s [cursor-gen] # PENDING: No reason given
  3359. 47.14 s [cursor-gen] textFieldCursorSelectStartOfLine
  3360. 47.14 s [cursor-gen] produces valid cursors [✔]
  3361. 47.14 s [cursor-gen] +++ OK, passed 100 tests.
  3362. 47.15 s [cursor-gen] selects the start of the current line [‐]
  3363. 47.15 s [cursor-gen] # PENDING: No reason given
  3364. 47.15 s [cursor-gen] textFieldCursorSelectEndOfLine
  3365. 47.15 s [cursor-gen] produces valid cursors [✔]
  3366. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3367. 47.15 s [cursor-gen] selects the end of the current line [‐]
  3368. 47.15 s [cursor-gen] # PENDING: No reason given
  3369. 47.15 s [cursor-gen] Cursor.Tree.Types
  3370. 47.15 s [cursor-gen] Eq TreeCursorSelection
  3371. 47.15 s [cursor-gen] (==) :: TreeCursorSelection -> TreeCursorSelection -> Bool
  3372. 47.15 s [cursor-gen] is reflexive for "valid TreeCursorSelection"s [✔]
  3373. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3374. 47.15 s [cursor-gen] is symmetric for "valid TreeCursorSelection"s [✔]
  3375. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3376. 47.15 s [cursor-gen] is transitive for "valid TreeCursorSelection"s [✔]
  3377. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3378. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TreeCursorSelection"s [✔]
  3379. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3380. 47.15 s [cursor-gen] (/=) :: TreeCursorSelection -> TreeCursorSelection -> Bool
  3381. 47.15 s [cursor-gen] is antireflexive for "valid TreeCursorSelection"s [✔]
  3382. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3383. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TreeCursorSelection"s [✔]
  3384. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3385. 47.15 s [cursor-gen] GenValid TreeCursorSelection
  3386. 47.15 s [cursor-gen] genValid :: Gen TreeCursorSelection
  3387. 47.15 s [cursor-gen] only generates valid 'TreeCursorSelection's [✔]
  3388. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3389. 47.15 s [cursor-gen] shrinkValid :: (TreeCursorSelection -> [TreeCursorSelection])
  3390. 47.15 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3391. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3392. 47.15 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3393. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3394. 47.15 s [cursor-gen] Eq (SwapResult Bool)
  3395. 47.15 s [cursor-gen] (==) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
  3396. 47.15 s [cursor-gen] is reflexive for "valid (SwapResult Bool)"s [✔]
  3397. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3398. 47.15 s [cursor-gen] is symmetric for "valid (SwapResult Bool)"s [✔]
  3399. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3400. 47.15 s [cursor-gen] is transitive for "valid (SwapResult Bool)"s [✔]
  3401. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3402. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (SwapResult Bool)"s [✔]
  3403. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3404. 47.15 s [cursor-gen] (/=) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
  3405. 47.15 s [cursor-gen] is antireflexive for "valid (SwapResult Bool)"s [✔]
  3406. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3407. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (SwapResult Bool)"s [✔]
  3408. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3409. 47.15 s [cursor-gen] GenValid (SwapResult Bool)
  3410. 47.15 s [cursor-gen] genValid :: Gen (SwapResult Bool)
  3411. 47.15 s [cursor-gen] only generates valid '(SwapResult Bool)'s [✔]
  3412. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3413. 47.15 s [cursor-gen] shrinkValid :: (SwapResult Bool -> [SwapResult Bool])
  3414. 47.15 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3415. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3416. 47.15 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3417. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3418. 47.15 s [cursor-gen] Eq (PromoteElemResult Bool)
  3419. 47.15 s [cursor-gen] (==) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
  3420. 47.15 s [cursor-gen] is reflexive for "valid (PromoteElemResult Bool)"s [✔]
  3421. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3422. 47.15 s [cursor-gen] is symmetric for "valid (PromoteElemResult Bool)"s [✔]
  3423. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3424. 47.15 s [cursor-gen] is transitive for "valid (PromoteElemResult Bool)"s [✔]
  3425. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3426. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteElemResult Bool)"s [✔]
  3427. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3428. 47.15 s [cursor-gen] (/=) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
  3429. 47.15 s [cursor-gen] is antireflexive for "valid (PromoteElemResult Bool)"s [✔]
  3430. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3431. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteElemResult Bool)"s [✔]
  3432. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3433. 47.15 s [cursor-gen] GenValid (PromoteElemResult Bool)
  3434. 47.15 s [cursor-gen] genValid :: Gen (PromoteElemResult Bool)
  3435. 47.15 s [cursor-gen] only generates valid '(PromoteElemResult Bool)'s [✔]
  3436. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3437. 47.15 s [cursor-gen] shrinkValid :: (PromoteElemResult Bool -> [PromoteElemResult Bool])
  3438. 47.15 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3439. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3440. 47.15 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3441. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3442. 47.15 s [cursor-gen] Eq (PromoteResult Bool)
  3443. 47.15 s [cursor-gen] (==) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
  3444. 47.15 s [cursor-gen] is reflexive for "valid (PromoteResult Bool)"s [✔]
  3445. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3446. 47.15 s [cursor-gen] is symmetric for "valid (PromoteResult Bool)"s [✔]
  3447. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3448. 47.15 s [cursor-gen] is transitive for "valid (PromoteResult Bool)"s [✔]
  3449. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3450. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteResult Bool)"s [✔]
  3451. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3452. 47.15 s [cursor-gen] (/=) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
  3453. 47.15 s [cursor-gen] is antireflexive for "valid (PromoteResult Bool)"s [✔]
  3454. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3455. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteResult Bool)"s [✔]
  3456. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3457. 47.15 s [cursor-gen] GenValid (PromoteResult Bool)
  3458. 47.15 s [cursor-gen] genValid :: Gen (PromoteResult Bool)
  3459. 47.15 s [cursor-gen] only generates valid '(PromoteResult Bool)'s [✔]
  3460. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3461. 47.15 s [cursor-gen] shrinkValid :: (PromoteResult Bool -> [PromoteResult Bool])
  3462. 47.15 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3463. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3464. 47.15 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3465. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3466. 47.15 s [cursor-gen] Eq (DemoteResult Bool)
  3467. 47.15 s [cursor-gen] (==) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
  3468. 47.15 s [cursor-gen] is reflexive for "valid (DemoteResult Bool)"s [✔]
  3469. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3470. 47.15 s [cursor-gen] is symmetric for "valid (DemoteResult Bool)"s [✔]
  3471. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3472. 47.15 s [cursor-gen] is transitive for "valid (DemoteResult Bool)"s [✔]
  3473. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3474. 47.15 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (DemoteResult Bool)"s [✔]
  3475. 47.15 s [cursor-gen] +++ OK, passed 100 tests.
  3476. 47.15 s [cursor-gen] (/=) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
  3477. 47.16 s [cursor-gen] is antireflexive for "valid (DemoteResult Bool)"s [✔]
  3478. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3479. 47.16 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (DemoteResult Bool)"s [✔]
  3480. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3481. 47.16 s [cursor-gen] GenValid (DemoteResult Bool)
  3482. 47.16 s [cursor-gen] genValid :: Gen (DemoteResult Bool)
  3483. 47.16 s [cursor-gen] only generates valid '(DemoteResult Bool)'s [✔]
  3484. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3485. 47.16 s [cursor-gen] shrinkValid :: (DemoteResult Bool -> [DemoteResult Bool])
  3486. 47.16 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3487. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3488. 47.16 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3489. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3490. 47.16 s [cursor-gen] Eq (CTree Bool)
  3491. 47.16 s [cursor-gen] (==) :: (CTree Bool) -> (CTree Bool) -> Bool
  3492. 47.16 s [cursor-gen] is reflexive for "valid (CTree Bool)"s [✔]
  3493. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3494. 47.16 s [cursor-gen] is symmetric for "valid (CTree Bool)"s [✔]
  3495. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3496. 47.16 s [cursor-gen] is transitive for "valid (CTree Bool)"s [✔]
  3497. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3498. 47.16 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CTree Bool)"s [✔]
  3499. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3500. 47.16 s [cursor-gen] (/=) :: (CTree Bool) -> (CTree Bool) -> Bool
  3501. 47.16 s [cursor-gen] is antireflexive for "valid (CTree Bool)"s [✔]
  3502. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3503. 47.16 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CTree Bool)"s [✔]
  3504. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3505. 47.16 s [cursor-gen] GenValid (CTree Bool)
  3506. 47.16 s [cursor-gen] genValid :: Gen (CTree Bool)
  3507. 47.16 s [cursor-gen] only generates valid '(CTree Bool)'s [✔]
  3508. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3509. 47.16 s [cursor-gen] shrinkValid :: (CTree Bool -> [CTree Bool])
  3510. 47.16 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3511. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3512. 47.16 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3513. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3514. 47.16 s [cursor-gen] Eq (CForest Bool)
  3515. 47.16 s [cursor-gen] (==) :: (CForest Bool) -> (CForest Bool) -> Bool
  3516. 47.16 s [cursor-gen] is reflexive for "valid (CForest Bool)"s [✔]
  3517. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3518. 47.16 s [cursor-gen] is symmetric for "valid (CForest Bool)"s [✔]
  3519. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3520. 47.16 s [cursor-gen] is transitive for "valid (CForest Bool)"s [✔]
  3521. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3522. 47.16 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CForest Bool)"s [✔]
  3523. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3524. 47.16 s [cursor-gen] (/=) :: (CForest Bool) -> (CForest Bool) -> Bool
  3525. 47.16 s [cursor-gen] is antireflexive for "valid (CForest Bool)"s [✔]
  3526. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3527. 47.16 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CForest Bool)"s [✔]
  3528. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3529. 47.16 s [cursor-gen] GenValid (CForest Bool)
  3530. 47.16 s [cursor-gen] genValid :: Gen (CForest Bool)
  3531. 47.16 s [cursor-gen] only generates valid '(CForest Bool)'s [✔]
  3532. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3533. 47.16 s [cursor-gen] shrinkValid :: (CForest Bool -> [CForest Bool])
  3534. 47.16 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3535. 47.16 s [cursor-gen] +++ OK, passed 100 tests.
  3536. 47.17 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3537. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3538. 47.17 s [cursor-gen] Eq (TreeAbove Bool)
  3539. 47.17 s [cursor-gen] (==) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
  3540. 47.17 s [cursor-gen] is reflexive for "valid (TreeAbove Bool)"s [✔]
  3541. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3542. 47.17 s [cursor-gen] is symmetric for "valid (TreeAbove Bool)"s [✔]
  3543. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3544. 47.17 s [cursor-gen] is transitive for "valid (TreeAbove Bool)"s [✔]
  3545. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3546. 47.17 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeAbove Bool)"s [✔]
  3547. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3548. 47.17 s [cursor-gen] (/=) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
  3549. 47.17 s [cursor-gen] is antireflexive for "valid (TreeAbove Bool)"s [✔]
  3550. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3551. 47.17 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeAbove Bool)"s [✔]
  3552. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3553. 47.17 s [cursor-gen] GenValid (TreeAbove Bool)
  3554. 47.17 s [cursor-gen] genValid :: Gen (TreeAbove Bool)
  3555. 47.17 s [cursor-gen] only generates valid '(TreeAbove Bool)'s [✔]
  3556. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3557. 47.17 s [cursor-gen] shrinkValid :: (TreeAbove Bool -> [TreeAbove Bool])
  3558. 47.17 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3559. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3560. 47.17 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3561. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3562. 47.17 s [cursor-gen] treeAboveLeftsL
  3563. 47.17 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3564. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3565. 47.17 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3566. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3567. 47.17 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3568. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3569. 47.17 s [cursor-gen] gets valid values from valid values values [✔]
  3570. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3571. 47.17 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3572. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3573. 47.17 s [cursor-gen] treeAboveAboveL
  3574. 47.17 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3575. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3576. 47.17 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3577. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3578. 47.17 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3579. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3580. 47.17 s [cursor-gen] gets valid values from valid values values [✔]
  3581. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3582. 47.17 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3583. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3584. 47.17 s [cursor-gen] treeAboveNodeL
  3585. 47.17 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3586. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3587. 47.17 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3588. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3589. 47.17 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3590. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3591. 47.17 s [cursor-gen] gets valid values from valid values values [✔]
  3592. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3593. 47.17 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3594. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3595. 47.17 s [cursor-gen] treeAboveRightsL
  3596. 47.17 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3597. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3598. 47.17 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3599. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3600. 47.17 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3601. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3602. 47.17 s [cursor-gen] gets valid values from valid values values [✔]
  3603. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3604. 47.17 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3605. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3606. 47.17 s [cursor-gen] Eq (TreeCursor Bool Word)
  3607. 47.17 s [cursor-gen] (==) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
  3608. 47.17 s [cursor-gen] is reflexive for "valid (TreeCursor Bool Word)"s [✔]
  3609. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3610. 47.17 s [cursor-gen] is symmetric for "valid (TreeCursor Bool Word)"s [✔]
  3611. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3612. 47.17 s [cursor-gen] is transitive for "valid (TreeCursor Bool Word)"s [✔]
  3613. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3614. 47.17 s [cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Bool Word)"s [✔]
  3615. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3616. 47.17 s [cursor-gen] (/=) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
  3617. 47.17 s [cursor-gen] is antireflexive for "valid (TreeCursor Bool Word)"s [✔]
  3618. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3619. 47.17 s [cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Bool Word)"s [✔]
  3620. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3621. 47.17 s [cursor-gen] GenValid (TreeCursor Bool Bool)
  3622. 47.17 s [cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
  3623. 47.17 s [cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
  3624. 47.17 s [cursor-gen] +++ OK, passed 100 tests.
  3625. 47.17 s [cursor-gen] shrinkValid :: (TreeCursor Word Bool -> [TreeCursor Word Bool])
  3626. 47.18 s [cursor-gen] preserves validity for the first 10 elements [✔]
  3627. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3628. 47.18 s [cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
  3629. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3630. 47.18 s [cursor-gen] treeCursorAboveL
  3631. 47.18 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3632. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3633. 47.18 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3634. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3635. 47.18 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3636. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3637. 47.18 s [cursor-gen] gets valid values from valid values values [✔]
  3638. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3639. 47.18 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3640. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3641. 47.18 s [cursor-gen] treeCursorCurrentL
  3642. 47.18 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3643. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3644. 47.18 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3645. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3646. 47.18 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3647. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3648. 47.18 s [cursor-gen] gets valid values from valid values values [✔]
  3649. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3650. 47.18 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3651. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3652. 47.18 s [cursor-gen] treeCursorBelowL
  3653. 47.18 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3654. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3655. 47.18 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3656. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3657. 47.18 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3658. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3659. 47.18 s [cursor-gen] gets valid values from valid values values [✔]
  3660. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3661. 47.18 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3662. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3663. 47.18 s [cursor-gen] treeCursorCurrentSubTreeL
  3664. 47.18 s [cursor-gen] satisfies the first lens law for valid values and valid values [✔]
  3665. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3666. 47.18 s [cursor-gen] satisfies the second lens law for valid values [✔]
  3667. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3668. 47.18 s [cursor-gen] satisfies the third lens law for valid values and valid values [✔]
  3669. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3670. 47.18 s [cursor-gen] gets valid values from valid values values [✔]
  3671. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3672. 47.18 s [cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
  3673. 47.18 s [cursor-gen] +++ OK, passed 100 tests.
  3674. 47.18 s [cursor-gen]
  3675. 47.18 s [cursor-gen] Finished in 0.5775 seconds
  3676. 47.18 s [cursor-gen] 881 examples, 0 failures, 173 pending
  3677. 47.34 s [cursor-gen] Test suite cursor-test: PASS
  3678. 47.34 s [cursor-gen] Test suite logged to: dist/test/cursor-gen-0.4.0.0-cursor-test.log
  3679. 47.34 s [cursor-gen] 1 of 1 test suites (1 of 1 test cases) passed.
  3680. 47.34 s [cursor-gen] Phase: haddockPhase
  3681. 47.45 s [cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
  3682. 47.45 s [cursor-gen] Running Haddock on library for cursor-gen-0.4.0.0..
  3683. 47.49 s [cursor-gen] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
  3684. 47.60 s [cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, nothing )
  3685. 49.09 s [cursor-gen] [ 2 of 14] Compiling Cursor.List.NonEmpty.Gen ( src/Cursor/List/NonEmpty/Gen.hs, nothing )
  3686. 49.09 s [cursor-gen] [ 3 of 14] Compiling Cursor.Map.KeyValue.Gen ( src/Cursor/Map/KeyValue/Gen.hs, nothing )
  3687. 49.36 s [cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, nothing )
  3688. 49.36 s [cursor-gen] [ 5 of 14] Compiling Cursor.Simple.List.NonEmpty.Gen ( src/Cursor/Simple/List/NonEmpty/Gen.hs, nothing )
  3689. 49.36 s [cursor-gen] [ 6 of 14] Compiling Cursor.Simple.Map.Gen ( src/Cursor/Simple/Map/Gen.hs, nothing )
  3690. 49.36 s [cursor-gen] [ 7 of 14] Compiling Cursor.Simple.Map.KeyValue.Gen ( src/Cursor/Simple/Map/KeyValue/Gen.hs, nothing )
  3691. 49.36 s [cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, nothing )
  3692. 49.36 s [cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, nothing )
  3693. 49.36 s [cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, nothing )
  3694. 49.36 s [cursor-gen] [11 of 14] Compiling Cursor.Simple.Tree.Gen ( src/Cursor/Simple/Tree/Gen.hs, nothing )
  3695. 49.36 s [cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, nothing )
  3696. 49.36 s [cursor-gen] [13 of 14] Compiling Cursor.Simple.Forest.Gen ( src/Cursor/Simple/Forest/Gen.hs, nothing )
  3697. 49.36 s [cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, nothing )
  3698. 49.36 s [cursor-gen] Haddock coverage:
  3699. 49.36 s [cursor-gen] 0% ( 0 / 3) in 'Cursor.List.Gen'
  3700. 49.36 s [cursor-gen] Missing documentation for:
  3701. 49.36 s [cursor-gen] Module header
  3702. 49.36 s [cursor-gen] listCursorWithGen (src/Cursor/List/Gen.hs:25)
  3703. 49.36 s [cursor-gen] listCursorWithIndex0 (src/Cursor/List/Gen.hs:28)
  3704. 49.36 s [cursor-gen] 0% ( 0 / 5) in 'Cursor.List.NonEmpty.Gen'
  3705. 49.36 s [cursor-gen] Missing documentation for:
  3706. 49.36 s [cursor-gen] Module header
  3707. 49.36 s [cursor-gen] genNonEmptyCursorBy (src/Cursor/List/NonEmpty/Gen.hs:24)
  3708. 49.36 s [cursor-gen] nonEmptyElemOf (src/Cursor/List/NonEmpty/Gen.hs:38)
  3709. 49.36 s [cursor-gen] nonEmptyWithIndex0 (src/Cursor/List/NonEmpty/Gen.hs:41)
  3710. 49.36 s [cursor-gen] nonEmptyWith (src/Cursor/List/NonEmpty/Gen.hs:44)
  3711. 49.36 s [cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.KeyValue.Gen'
  3712. 49.36 s [cursor-gen] Missing documentation for:
  3713. 49.36 s [cursor-gen] Module header
  3714. 49.36 s [cursor-gen] genKeyValueCursorBy (src/Cursor/Map/KeyValue/Gen.hs:23)
  3715. 49.36 s [cursor-gen] genKeyValueCursorByDependent (src/Cursor/Map/KeyValue/Gen.hs:27)
  3716. 49.36 s [cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.Gen'
  3717. 49.36 s [cursor-gen] Missing documentation for:
  3718. 49.36 s [cursor-gen] Module header
  3719. 49.36 s [cursor-gen] genMapCursorBy (src/Cursor/Map/Gen.hs:21)
  3720. 49.36 s [cursor-gen] genMapCursorByDependent (src/Cursor/Map/Gen.hs:26)
  3721. 49.36 s [cursor-gen] 0% ( 0 / 4) in 'Cursor.Simple.List.NonEmpty.Gen'
  3722. 49.36 s [cursor-gen] Missing documentation for:
  3723. 49.36 s [cursor-gen] Module header
  3724. 49.36 s [cursor-gen] nonEmptyElemOf (src/Cursor/Simple/List/NonEmpty/Gen.hs:13)
  3725. 49.36 s [cursor-gen] nonEmptyWithIndex0 (src/Cursor/Simple/List/NonEmpty/Gen.hs:16)
  3726. 49.36 s [cursor-gen] nonEmptyWith (src/Cursor/Simple/List/NonEmpty/Gen.hs:19)
  3727. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.Gen'
  3728. 49.36 s [cursor-gen] Missing documentation for:
  3729. 49.36 s [cursor-gen] Module header
  3730. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.KeyValue.Gen'
  3731. 49.36 s [cursor-gen] Missing documentation for:
  3732. 49.36 s [cursor-gen] Module header
  3733. 49.36 s [cursor-gen] 0% ( 0 / 7) in 'Cursor.Text.Gen'
  3734. 49.36 s [cursor-gen] Missing documentation for:
  3735. 49.36 s [cursor-gen] Module header
  3736. 49.36 s [cursor-gen] genSafeChar (src/Cursor/Text/Gen.hs:27)
  3737. 49.36 s [cursor-gen] genTextCursorChar (src/Cursor/Text/Gen.hs:33)
  3738. 49.36 s [cursor-gen] textCursorSentenceGen (src/Cursor/Text/Gen.hs:42)
  3739. 49.36 s [cursor-gen] textCursorWithGen (src/Cursor/Text/Gen.hs:36)
  3740. 49.36 s [cursor-gen] textCursorWithIndex0 (src/Cursor/Text/Gen.hs:39)
  3741. 49.36 s [cursor-gen] shrinkSentence (src/Cursor/Text/Gen.hs:48)
  3742. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.TextField.Gen'
  3743. 49.36 s [cursor-gen] Missing documentation for:
  3744. 49.36 s [cursor-gen] Module header
  3745. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.Tree.Gen'
  3746. 49.36 s [cursor-gen] Missing documentation for:
  3747. 49.36 s [cursor-gen] Module header
  3748. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Tree.Gen'
  3749. 49.36 s [cursor-gen] Missing documentation for:
  3750. 49.36 s [cursor-gen] Module header
  3751. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.Forest.Gen'
  3752. 49.36 s [cursor-gen] Missing documentation for:
  3753. 49.36 s [cursor-gen] Module header
  3754. 49.36 s [cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Forest.Gen'
  3755. 49.36 s [cursor-gen] Missing documentation for:
  3756. 49.36 s [cursor-gen] Module header
  3757. 51.36 s [cursor-gen] Documentation created: dist/doc/html/cursor-gen/,
  3758. 51.36 s [cursor-gen] dist/doc/html/cursor-gen/cursor-gen.txt
  3759. 51.41 s [cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
  3760. 51.42 s [cursor-gen] Phase: installPhase
  3761. 51.47 s [cursor-gen] Installing library in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
  3762. 51.72 s [cursor-gen] Phase: fixupPhase
  3763. 51.74 s [cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
  3764. 51.75 s [cursor-gen] shrinking /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHScursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3-ghc9.8.4.so
  3765. 51.76 s [cursor-gen] checking for references to /build/ in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0...
  3766. 51.77 s [cursor-gen] patching script interpreter paths in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
  3767. 51.78 s [cursor-gen] stripping (with command strip and flags -S -p) in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib
  3768. 51.83 s [cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc
  3769. 51.83 s [cursor-gen] checking for references to /build/ in /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc...
  3770. 51.84 s [cursor-gen] patching script interpreter paths in /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc
  3771. 52.09 s [post-build-hook] Uploading to cachix cache "cursor": /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
  3772. 52.50 s [post-build-hook] Pushing 3 paths (87 are already present) using zstd to cache cursor ⏳
  3773. 52.50 s [post-build-hook]
  3774. 52.90 s [post-build-hook] Pushing /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc (489.55 KiB)
  3775. 52.90 s [post-build-hook] Pushing /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0 (2.23 MiB)
  3776. 52.96 s [post-build-hook] Pushing /nix/store/8syylmkvnn7lg2nar9fddpp5izb4gh56-attr-2.5.2 (90.55 KiB)
  3777. 54.32 s [post-build-hook]
  3778. 54.32 s [post-build-hook] All done.
  3779. 54.34 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
  3780. 54.60 s [post-build-hook] copying 2 paths...
  3781. 54.60 s [post-build-hook] copying path '/nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc' to 'https://cache.staging.nix-ci.com'...
  3782. 54.89 s [post-build-hook] copying path '/nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
  3783. 55.80 s [post-build-hook] copying 1 paths...
  3784. 55.80 s [post-build-hook] copying path '/nix/store/dp0wg2zamk803b8rcf5p32p74mnp6f2w-cursor-gen-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  3785. 56.05 s Progress: 4 of 6 built, 20 of 20 downloaded from cache
  3786. 56.09 s Building cursor-release
  3787. 56.13 s [cursor-release] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/nix-support:
  3788. 56.13 s [cursor-release] propagated-build-inputs: Keeping existing link to /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/nix-support/propagated-build-inputs
  3789. 56.17 s [post-build-hook] Uploading to cachix cache "cursor": /nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release
  3790. 56.90 s [post-build-hook] Pushing 1 paths (90 are already present) using zstd to cache cursor ⏳
  3791. 56.90 s [post-build-hook]
  3792. 57.36 s [post-build-hook] Pushing /nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release (49.54 KiB)
  3793. 58.43 s [post-build-hook]
  3794. 58.43 s [post-build-hook] All done.
  3795. 58.46 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release
  3796. 58.74 s [post-build-hook] copying 1 paths...
  3797. 58.74 s [post-build-hook] copying path '/nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release' to 'https://cache.staging.nix-ci.com'...
  3798. 59.23 s [post-build-hook] copying 1 paths...
  3799. 59.23 s [post-build-hook] copying path '/nix/store/7razbx7cchmy849q3cw4cj2vdfivzjxf-cursor-release.drv' to 'https://cache.staging.nix-ci.com'...
  3800. 59.43 s Progress: 5 of 6 built, 20 of 20 downloaded from cache