@fncts/base 0.0.20 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1671) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +8 -19
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/Iterable/api.cjs +500 -610
  4. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  5. package/_cjs/collection/Iterable/constructors.cjs +7 -25
  6. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  7. package/_cjs/collection/Iterable/definition.cjs.map +1 -1
  8. package/_cjs/collection/Iterable.cjs +0 -6
  9. package/_cjs/collection/Iterable.cjs.map +1 -1
  10. package/_cjs/collection/compat/Array/api.cjs +17 -26
  11. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  12. package/_cjs/collection/compat/Array/definition.cjs.map +1 -1
  13. package/_cjs/collection/compat/Array.cjs +0 -17
  14. package/_cjs/collection/compat/Array.cjs.map +1 -1
  15. package/_cjs/collection/compat/ArrayLike/api.cjs +4 -13
  16. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  17. package/_cjs/collection/immutable/Conc/api/empty.cjs +0 -2
  18. package/_cjs/collection/immutable/Conc/api/empty.cjs.map +1 -1
  19. package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -9
  20. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  21. package/_cjs/collection/immutable/Conc/api/replicate.cjs +0 -4
  22. package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
  23. package/_cjs/collection/immutable/Conc/api.cjs +801 -1039
  24. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  25. package/_cjs/collection/immutable/Conc/constructors.cjs +0 -14
  26. package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
  27. package/_cjs/collection/immutable/Conc/definition.cjs +76 -273
  28. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  29. package/_cjs/collection/immutable/Conc.cjs +0 -25
  30. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  31. package/_cjs/collection/immutable/Dictionary/api.cjs +57 -70
  32. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  33. package/_cjs/collection/immutable/Dictionary/definition.cjs +0 -4
  34. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  35. package/_cjs/collection/immutable/Dictionary.cjs +28 -0
  36. package/_cjs/collection/immutable/Dictionary.cjs.map +1 -0
  37. package/_cjs/collection/immutable/HashMap/api.cjs +371 -432
  38. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  39. package/_cjs/collection/immutable/HashMap/definition.cjs +20 -43
  40. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  41. package/_cjs/collection/immutable/HashMap/internal.cjs +3 -88
  42. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  43. package/_cjs/collection/immutable/HashMap.cjs +0 -4
  44. package/_cjs/collection/immutable/HashMap.cjs.map +1 -1
  45. package/_cjs/collection/immutable/HashSet/api.cjs +283 -339
  46. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  47. package/_cjs/collection/immutable/HashSet/definition.cjs +18 -92
  48. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  49. package/_cjs/collection/immutable/HashSet.cjs +0 -4
  50. package/_cjs/collection/immutable/HashSet.cjs.map +1 -1
  51. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +6 -9
  52. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -1
  53. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +6 -8
  54. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -1
  55. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +6 -8
  56. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -1
  57. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +14 -19
  58. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
  59. package/_cjs/collection/immutable/ImmutableArray/api.cjs +939 -1138
  60. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  61. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +0 -18
  62. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +1 -1
  63. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +4 -21
  64. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  65. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +49 -63
  66. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  67. package/_cjs/collection/immutable/ImmutableArray.cjs +0 -29
  68. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  69. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +335 -420
  70. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  71. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +0 -24
  72. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  73. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +0 -9
  74. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  75. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +2 -19
  76. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  77. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +24 -33
  78. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  79. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +0 -23
  80. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
  81. package/_cjs/collection/immutable/List/api/foldLeft.cjs +12 -16
  82. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  83. package/_cjs/collection/immutable/List/api/unsafeTail.cjs +0 -6
  84. package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
  85. package/_cjs/collection/immutable/List/api.cjs +167 -239
  86. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  87. package/_cjs/collection/immutable/List/constructors.cjs +1 -19
  88. package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
  89. package/_cjs/collection/immutable/List/definition.cjs +2 -25
  90. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  91. package/_cjs/collection/immutable/List.cjs +0 -10
  92. package/_cjs/collection/immutable/List.cjs.map +1 -1
  93. package/_cjs/collection/immutable/Queue/api.cjs +87 -118
  94. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  95. package/_cjs/collection/immutable/Queue/constructors.cjs +0 -8
  96. package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
  97. package/_cjs/collection/immutable/Queue/definition.cjs +3 -13
  98. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  99. package/_cjs/collection/immutable/Queue/guards.cjs +2 -6
  100. package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
  101. package/_cjs/collection/immutable/Queue.cjs +0 -8
  102. package/_cjs/collection/immutable/Queue.cjs.map +1 -1
  103. package/_cjs/collection/immutable/RoseTree/api.cjs +76 -118
  104. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  105. package/_cjs/collection/immutable/RoseTree/definition.cjs +4 -19
  106. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  107. package/_cjs/collection/immutable/RoseTree.cjs +0 -4
  108. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -1
  109. package/_cjs/collection/immutable/SortedMap/api.cjs +439 -536
  110. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  111. package/_cjs/collection/immutable/SortedMap/definition.cjs +4 -6
  112. package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
  113. package/_cjs/collection/immutable/SortedMap/internal.cjs +55 -226
  114. package/_cjs/collection/immutable/SortedMap/internal.cjs.map +1 -1
  115. package/_cjs/collection/immutable/SortedMap/iterator.cjs +16 -107
  116. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  117. package/_cjs/collection/immutable/SortedMap/node.cjs +0 -3
  118. package/_cjs/collection/immutable/SortedMap/node.cjs.map +1 -1
  119. package/_cjs/collection/immutable/SortedMap.cjs +0 -10
  120. package/_cjs/collection/immutable/SortedMap.cjs.map +1 -1
  121. package/_cjs/collection/immutable/Vector/api.cjs +751 -885
  122. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  123. package/_cjs/collection/immutable/Vector/definition.cjs +27 -50
  124. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  125. package/_cjs/collection/immutable/Vector/internal.cjs +79 -398
  126. package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
  127. package/_cjs/collection/immutable/Vector.cjs +0 -4
  128. package/_cjs/collection/immutable/Vector.cjs.map +1 -1
  129. package/_cjs/collection/mutable/HashMap.cjs +10 -89
  130. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  131. package/_cjs/collection/mutable/HashSet.cjs +6 -67
  132. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  133. package/_cjs/collection/mutable/ListBuffer.cjs +3 -35
  134. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  135. package/_cjs/collection/mutable/internal.cjs +0 -8
  136. package/_cjs/collection/mutable/internal.cjs.map +1 -1
  137. package/_cjs/collection/weak/IterableWeakMap.cjs +6 -32
  138. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  139. package/_cjs/collection/weak/IterableWeakSet.cjs +6 -28
  140. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  141. package/_cjs/control/Eval/api/sequenceArray.cjs +0 -5
  142. package/_cjs/control/Eval/api/sequenceArray.cjs.map +1 -1
  143. package/_cjs/control/Eval/api.cjs +56 -76
  144. package/_cjs/control/Eval/api.cjs.map +1 -1
  145. package/_cjs/control/Eval/constructors.cjs +0 -9
  146. package/_cjs/control/Eval/constructors.cjs.map +1 -1
  147. package/_cjs/control/Eval/definition.cjs +5 -23
  148. package/_cjs/control/Eval/definition.cjs.map +1 -1
  149. package/_cjs/control/Eval/instance.cjs +6 -13
  150. package/_cjs/control/Eval/instance.cjs.map +1 -1
  151. package/_cjs/control/Eval/run.cjs +5 -28
  152. package/_cjs/control/Eval/run.cjs.map +1 -1
  153. package/_cjs/control/Eval.cjs +0 -10
  154. package/_cjs/control/Eval.cjs.map +1 -1
  155. package/_cjs/control/LazyValue.cjs +0 -6
  156. package/_cjs/control/LazyValue.cjs.map +1 -1
  157. package/_cjs/control/Z/api.cjs +241 -306
  158. package/_cjs/control/Z/api.cjs.map +1 -1
  159. package/_cjs/control/Z/definition.cjs +13 -84
  160. package/_cjs/control/Z/definition.cjs.map +1 -1
  161. package/_cjs/control/Z/instances.cjs +3 -8
  162. package/_cjs/control/Z/instances.cjs.map +1 -1
  163. package/_cjs/control/Z/runtime.cjs +206 -290
  164. package/_cjs/control/Z/runtime.cjs.map +1 -1
  165. package/_cjs/control/Z.cjs +0 -8
  166. package/_cjs/control/Z.cjs.map +1 -1
  167. package/_cjs/data/Branded/definition.cjs +0 -5
  168. package/_cjs/data/Branded/definition.cjs.map +1 -1
  169. package/_cjs/data/Branded.cjs +0 -15
  170. package/_cjs/data/Branded.cjs.map +1 -1
  171. package/_cjs/data/CaseClass.cjs +13 -45
  172. package/_cjs/data/CaseClass.cjs.map +1 -1
  173. package/_cjs/data/Cause/api/fold.cjs +31 -75
  174. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  175. package/_cjs/data/Cause/api/isEmpty.cjs +7 -33
  176. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  177. package/_cjs/data/Cause/api/linearize.cjs +9 -16
  178. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  179. package/_cjs/data/Cause/api/prettyPrint.cjs +1 -14
  180. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  181. package/_cjs/data/Cause/api/unified.cjs +14 -54
  182. package/_cjs/data/Cause/api/unified.cjs.map +1 -1
  183. package/_cjs/data/Cause/api.cjs +221 -543
  184. package/_cjs/data/Cause/api.cjs.map +1 -1
  185. package/_cjs/data/Cause/definition.cjs +63 -300
  186. package/_cjs/data/Cause/definition.cjs.map +1 -1
  187. package/_cjs/data/Cause.cjs +0 -14
  188. package/_cjs/data/Cause.cjs.map +1 -1
  189. package/_cjs/data/Const/api.cjs +8 -10
  190. package/_cjs/data/Const/api.cjs.map +1 -1
  191. package/_cjs/data/Const/definition.cjs +0 -3
  192. package/_cjs/data/Const/definition.cjs.map +1 -1
  193. package/_cjs/data/Const/instances.cjs +6 -14
  194. package/_cjs/data/Const/instances.cjs.map +1 -1
  195. package/_cjs/data/Const.cjs +0 -6
  196. package/_cjs/data/Const.cjs.map +1 -1
  197. package/_cjs/data/Datum/api.cjs +200 -279
  198. package/_cjs/data/Datum/api.cjs.map +1 -1
  199. package/_cjs/data/Datum/definition.cjs +10 -50
  200. package/_cjs/data/Datum/definition.cjs.map +1 -1
  201. package/_cjs/data/Datum/instances.cjs +0 -9
  202. package/_cjs/data/Datum/instances.cjs.map +1 -1
  203. package/_cjs/data/DatumEither/api.cjs +161 -224
  204. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  205. package/_cjs/data/DatumEither/definition.cjs.map +1 -1
  206. package/_cjs/data/DecodeError/definition.cjs +15 -96
  207. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  208. package/_cjs/data/DecodeError.cjs +0 -4
  209. package/_cjs/data/DecodeError.cjs.map +1 -1
  210. package/_cjs/data/Decoder/api.cjs +431 -76
  211. package/_cjs/data/Decoder/api.cjs.map +1 -1
  212. package/_cjs/data/Decoder/definition.cjs +0 -6
  213. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  214. package/_cjs/data/Decoder.cjs +0 -4
  215. package/_cjs/data/Decoder.cjs.map +1 -1
  216. package/_cjs/data/Duration/api.cjs +24 -36
  217. package/_cjs/data/Duration/api.cjs.map +1 -1
  218. package/_cjs/data/Duration/definition.cjs +3 -17
  219. package/_cjs/data/Duration/definition.cjs.map +1 -1
  220. package/_cjs/data/Duration.cjs +0 -4
  221. package/_cjs/data/Duration.cjs.map +1 -1
  222. package/_cjs/data/Either/api/align.cjs +8 -8
  223. package/_cjs/data/Either/api/align.cjs.map +1 -1
  224. package/_cjs/data/Either/api/alignWith.cjs +8 -18
  225. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  226. package/_cjs/data/Either/api.cjs +171 -262
  227. package/_cjs/data/Either/api.cjs.map +1 -1
  228. package/_cjs/data/Either/constructors.cjs +11 -28
  229. package/_cjs/data/Either/constructors.cjs.map +1 -1
  230. package/_cjs/data/Either/definition.cjs +4 -23
  231. package/_cjs/data/Either/definition.cjs.map +1 -1
  232. package/_cjs/data/Either/destructors.cjs +12 -17
  233. package/_cjs/data/Either/destructors.cjs.map +1 -1
  234. package/_cjs/data/Either/instances.cjs +21 -74
  235. package/_cjs/data/Either/instances.cjs.map +1 -1
  236. package/_cjs/data/Either.cjs +0 -10
  237. package/_cjs/data/Either.cjs.map +1 -1
  238. package/_cjs/data/EitherT/api.cjs +8 -32
  239. package/_cjs/data/EitherT/api.cjs.map +1 -1
  240. package/_cjs/data/EitherT/definition.cjs.map +1 -1
  241. package/_cjs/data/Encoder/api.cjs +324 -0
  242. package/_cjs/data/Encoder/api.cjs.map +1 -0
  243. package/_cjs/data/Encoder/definition.cjs +21 -0
  244. package/_cjs/data/Encoder/definition.cjs.map +1 -0
  245. package/_cjs/data/Encoder.cjs +28 -0
  246. package/_cjs/data/Encoder.cjs.map +1 -0
  247. package/_cjs/data/Environment/api.cjs +47 -65
  248. package/_cjs/data/Environment/api.cjs.map +1 -1
  249. package/_cjs/data/Environment/definition.cjs +5 -21
  250. package/_cjs/data/Environment/definition.cjs.map +1 -1
  251. package/_cjs/data/Environment.cjs +0 -4
  252. package/_cjs/data/Environment.cjs.map +1 -1
  253. package/_cjs/data/EnvironmentPatch.cjs +31 -93
  254. package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
  255. package/_cjs/{typeclass → data}/Eq/definition.cjs +2 -4
  256. package/_cjs/data/Eq/definition.cjs.map +1 -0
  257. package/_cjs/{typeclass → data}/Eq/derivations.cjs +9 -18
  258. package/_cjs/data/Eq/derivations.cjs.map +1 -0
  259. package/_cjs/{typeclass → data}/Eq.cjs +0 -2
  260. package/_cjs/data/Eq.cjs.map +1 -0
  261. package/_cjs/{typeclass → data}/Equatable/api.cjs +2 -10
  262. package/_cjs/data/Equatable/api.cjs.map +1 -0
  263. package/_cjs/{typeclass → data}/Equatable/definition.cjs +0 -6
  264. package/_cjs/data/Equatable/definition.cjs.map +1 -0
  265. package/_cjs/{typeclass → data}/Equatable/fast-equals.cjs +1 -83
  266. package/_cjs/data/Equatable/fast-equals.cjs.map +1 -0
  267. package/_cjs/{typeclass → data}/Equatable.cjs +0 -6
  268. package/_cjs/data/Equatable.cjs.map +1 -0
  269. package/_cjs/data/ExecutionStrategy.cjs +20 -37
  270. package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
  271. package/_cjs/data/Exit/api.cjs +143 -178
  272. package/_cjs/data/Exit/api.cjs.map +1 -1
  273. package/_cjs/data/Exit/constructors.cjs +4 -26
  274. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  275. package/_cjs/data/Exit/definition.cjs +8 -48
  276. package/_cjs/data/Exit/definition.cjs.map +1 -1
  277. package/_cjs/data/Exit.cjs +0 -6
  278. package/_cjs/data/Exit.cjs.map +1 -1
  279. package/_cjs/data/FiberId/api.cjs +24 -38
  280. package/_cjs/data/FiberId/api.cjs.map +1 -1
  281. package/_cjs/data/FiberId/constructors.cjs +5 -19
  282. package/_cjs/data/FiberId/constructors.cjs.map +1 -1
  283. package/_cjs/data/FiberId/definition.cjs +7 -38
  284. package/_cjs/data/FiberId/definition.cjs.map +1 -1
  285. package/_cjs/data/FiberId.cjs +0 -6
  286. package/_cjs/data/FiberId.cjs.map +1 -1
  287. package/_cjs/data/Guard/api.cjs +419 -0
  288. package/_cjs/data/Guard/api.cjs.map +1 -0
  289. package/_cjs/{typeclass → data}/Guard/definition.cjs +0 -6
  290. package/_cjs/data/Guard/definition.cjs.map +1 -0
  291. package/_cjs/{typeclass → data}/Guard.cjs +0 -4
  292. package/_cjs/data/Guard.cjs.map +1 -0
  293. package/_cjs/{typeclass → data}/Hash.cjs +0 -2
  294. package/_cjs/data/Hash.cjs.map +1 -0
  295. package/_cjs/{typeclass → data}/HashEq.cjs +14 -25
  296. package/_cjs/data/HashEq.cjs.map +1 -0
  297. package/_cjs/{typeclass → data}/Hashable/definition.cjs +0 -6
  298. package/_cjs/data/Hashable/definition.cjs.map +1 -0
  299. package/_cjs/{typeclass → data}/Hashable/hash.cjs +3 -65
  300. package/_cjs/data/Hashable/hash.cjs.map +1 -0
  301. package/_cjs/{typeclass → data}/Hashable.cjs +0 -4
  302. package/_cjs/data/Hashable.cjs.map +1 -0
  303. package/_cjs/data/Identity/api.cjs +26 -35
  304. package/_cjs/data/Identity/api.cjs.map +1 -1
  305. package/_cjs/data/Identity/definition.cjs +0 -4
  306. package/_cjs/data/Identity/definition.cjs.map +1 -1
  307. package/_cjs/data/Identity/instances.cjs +7 -12
  308. package/_cjs/data/Identity/instances.cjs.map +1 -1
  309. package/_cjs/data/Identity.cjs +0 -6
  310. package/_cjs/data/Identity.cjs.map +1 -1
  311. package/_cjs/data/Interval.cjs +46 -67
  312. package/_cjs/data/Interval.cjs.map +1 -1
  313. package/_cjs/data/Intervals.cjs +45 -76
  314. package/_cjs/data/Intervals.cjs.map +1 -1
  315. package/_cjs/data/Maybe/api.cjs +126 -171
  316. package/_cjs/data/Maybe/api.cjs.map +1 -1
  317. package/_cjs/data/Maybe/constructors.cjs +2 -26
  318. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  319. package/_cjs/data/Maybe/definition.cjs +10 -51
  320. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  321. package/_cjs/data/Maybe/destructors.cjs +7 -8
  322. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  323. package/_cjs/data/Maybe/instances.cjs +41 -35
  324. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  325. package/_cjs/data/Maybe.cjs +0 -10
  326. package/_cjs/data/Maybe.cjs.map +1 -1
  327. package/_cjs/data/Newtype.cjs +0 -7
  328. package/_cjs/data/Newtype.cjs.map +1 -1
  329. package/_cjs/data/Ord/api/contramap.cjs +18 -0
  330. package/_cjs/data/Ord/api/contramap.cjs.map +1 -0
  331. package/_cjs/{typeclass → data}/Ord/api/max.cjs +3 -4
  332. package/_cjs/data/Ord/api/max.cjs.map +1 -0
  333. package/_cjs/{typeclass → data}/Ord/api/min.cjs +3 -4
  334. package/_cjs/data/Ord/api/min.cjs.map +1 -0
  335. package/_cjs/{typeclass → data}/Ord/api.cjs +0 -6
  336. package/_cjs/data/Ord/api.cjs.map +1 -0
  337. package/_cjs/{typeclass → data}/Ord/definition.cjs +5 -12
  338. package/_cjs/data/Ord/definition.cjs.map +1 -0
  339. package/_cjs/{typeclass → data}/Ord/instances.cjs +13 -23
  340. package/_cjs/data/Ord/instances.cjs.map +1 -0
  341. package/_cjs/{typeclass → data}/Ord.cjs +0 -6
  342. package/_cjs/data/Ord.cjs.map +1 -0
  343. package/_cjs/{typeclass → data}/Ordering.cjs +0 -9
  344. package/_cjs/data/Ordering.cjs.map +1 -0
  345. package/_cjs/data/Predicate/api.cjs +10 -15
  346. package/_cjs/data/Predicate/api.cjs.map +1 -1
  347. package/_cjs/data/Predicate.cjs +0 -4
  348. package/_cjs/data/Predicate.cjs.map +1 -1
  349. package/_cjs/data/Refinement/api.cjs +15 -16
  350. package/_cjs/data/Refinement/api.cjs.map +1 -1
  351. package/_cjs/data/Refinement.cjs +0 -4
  352. package/_cjs/data/Refinement.cjs.map +1 -1
  353. package/_cjs/{typeclass → data}/Showable/definition.cjs +4 -11
  354. package/_cjs/data/Showable/definition.cjs.map +1 -0
  355. package/_cjs/{typeclass → data}/Showable/show.cjs +118 -271
  356. package/_cjs/data/Showable/show.cjs.map +1 -0
  357. package/_cjs/{typeclass → data}/Showable/styles.cjs +0 -6
  358. package/_cjs/data/Showable/styles.cjs.map +1 -0
  359. package/_cjs/{typeclass → data}/Showable/util.cjs +51 -113
  360. package/_cjs/data/Showable/util.cjs.map +1 -0
  361. package/_cjs/{typeclass → data}/Showable.cjs +0 -4
  362. package/_cjs/data/Showable.cjs.map +1 -0
  363. package/_cjs/data/Struct/api.cjs +65 -85
  364. package/_cjs/data/Struct/api.cjs.map +1 -1
  365. package/_cjs/data/Struct/definition.cjs +0 -4
  366. package/_cjs/data/Struct/definition.cjs.map +1 -1
  367. package/_cjs/data/Tag/constructors.cjs +1 -7
  368. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  369. package/_cjs/data/Tag/definition.cjs +3 -21
  370. package/_cjs/data/Tag/definition.cjs.map +1 -1
  371. package/_cjs/data/Tag.cjs +0 -4
  372. package/_cjs/data/Tag.cjs.map +1 -1
  373. package/_cjs/data/These/api.cjs +119 -226
  374. package/_cjs/data/These/api.cjs.map +1 -1
  375. package/_cjs/data/These/constructors.cjs +1 -13
  376. package/_cjs/data/These/constructors.cjs.map +1 -1
  377. package/_cjs/data/These/definition.cjs +3 -27
  378. package/_cjs/data/These/definition.cjs.map +1 -1
  379. package/_cjs/data/These/destructors.cjs +24 -52
  380. package/_cjs/data/These/destructors.cjs.map +1 -1
  381. package/_cjs/data/These/instances.cjs +2 -16
  382. package/_cjs/data/These/instances.cjs.map +1 -1
  383. package/_cjs/data/These.cjs +0 -10
  384. package/_cjs/data/These.cjs.map +1 -1
  385. package/_cjs/data/Trace/api.cjs +7 -14
  386. package/_cjs/data/Trace/api.cjs.map +1 -1
  387. package/_cjs/data/Trace/constructors.cjs +0 -8
  388. package/_cjs/data/Trace/constructors.cjs.map +1 -1
  389. package/_cjs/data/Trace/definition.cjs +0 -3
  390. package/_cjs/data/Trace/definition.cjs.map +1 -1
  391. package/_cjs/data/Trace.cjs +0 -6
  392. package/_cjs/data/Trace.cjs.map +1 -1
  393. package/_cjs/data/TraceElement/definition.cjs +0 -11
  394. package/_cjs/data/TraceElement/definition.cjs.map +1 -1
  395. package/_cjs/data/TraceElement.cjs +0 -2
  396. package/_cjs/data/TraceElement.cjs.map +1 -1
  397. package/_cjs/data/Zipped.cjs +2 -13
  398. package/_cjs/data/Zipped.cjs.map +1 -1
  399. package/_cjs/data/bigint/instances.cjs +2 -7
  400. package/_cjs/data/bigint/instances.cjs.map +1 -1
  401. package/_cjs/data/bigint.cjs +0 -4
  402. package/_cjs/data/bigint.cjs.map +1 -1
  403. package/_cjs/data/boolean/instances.cjs +2 -7
  404. package/_cjs/data/boolean/instances.cjs.map +1 -1
  405. package/_cjs/data/boolean.cjs +0 -4
  406. package/_cjs/data/boolean.cjs.map +1 -1
  407. package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs +0 -3
  408. package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs.map +1 -1
  409. package/_cjs/data/exceptions/IllegalArgumentError.cjs +0 -3
  410. package/_cjs/data/exceptions/IllegalArgumentError.cjs.map +1 -1
  411. package/_cjs/data/exceptions/IllegalStateError.cjs +0 -3
  412. package/_cjs/data/exceptions/IllegalStateError.cjs.map +1 -1
  413. package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs +0 -3
  414. package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs.map +1 -1
  415. package/_cjs/data/exceptions/InterruptedException.cjs +0 -6
  416. package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
  417. package/_cjs/data/exceptions/InvalidCapacityError.cjs +0 -4
  418. package/_cjs/data/exceptions/InvalidCapacityError.cjs.map +1 -1
  419. package/_cjs/data/exceptions/NoSuchElementError.cjs +0 -3
  420. package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
  421. package/_cjs/data/exceptions.cjs +0 -16
  422. package/_cjs/data/exceptions.cjs.map +1 -1
  423. package/_cjs/data/function/api.cjs +6 -15
  424. package/_cjs/data/function/api.cjs.map +1 -1
  425. package/_cjs/data/function/pipe.cjs +8 -21
  426. package/_cjs/data/function/pipe.cjs.map +1 -1
  427. package/_cjs/data/function.cjs +0 -6
  428. package/_cjs/data/function.cjs.map +1 -1
  429. package/_cjs/data/number/api.cjs +0 -1
  430. package/_cjs/data/number/api.cjs.map +1 -1
  431. package/_cjs/data/number/instances.cjs +10 -19
  432. package/_cjs/data/number/instances.cjs.map +1 -1
  433. package/_cjs/data/number.cjs +0 -6
  434. package/_cjs/data/number.cjs.map +1 -1
  435. package/_cjs/data/object/instances.cjs +1 -16
  436. package/_cjs/data/object/instances.cjs.map +1 -1
  437. package/_cjs/data/object.cjs +0 -4
  438. package/_cjs/data/object.cjs.map +1 -1
  439. package/_cjs/data/string/api.cjs +54 -130
  440. package/_cjs/data/string/api.cjs.map +1 -1
  441. package/_cjs/data/string/instances.cjs +11 -24
  442. package/_cjs/data/string/instances.cjs.map +1 -1
  443. package/_cjs/data/string.cjs +0 -6
  444. package/_cjs/data/string.cjs.map +1 -1
  445. package/_cjs/global/api.cjs +4 -3
  446. package/_cjs/global/api.cjs.map +1 -1
  447. package/_cjs/internal/AtomicBoolean.cjs +0 -4
  448. package/_cjs/internal/AtomicBoolean.cjs.map +1 -1
  449. package/_cjs/internal/AtomicNumber.cjs +0 -7
  450. package/_cjs/internal/AtomicNumber.cjs.map +1 -1
  451. package/_cjs/internal/AtomicReference.cjs +0 -8
  452. package/_cjs/internal/AtomicReference.cjs.map +1 -1
  453. package/_cjs/internal/Stack.cjs +2 -15
  454. package/_cjs/internal/Stack.cjs.map +1 -1
  455. package/_cjs/json/EitherJson.cjs +1 -7
  456. package/_cjs/json/EitherJson.cjs.map +1 -1
  457. package/_cjs/json/MaybeJson.cjs +1 -7
  458. package/_cjs/json/MaybeJson.cjs.map +1 -1
  459. package/_cjs/json/TheseJson.cjs +1 -7
  460. package/_cjs/json/TheseJson.cjs.map +1 -1
  461. package/_cjs/optics/At/api.cjs +1 -6
  462. package/_cjs/optics/At/api.cjs.map +1 -1
  463. package/_cjs/optics/At/definition.cjs +2 -9
  464. package/_cjs/optics/At/definition.cjs.map +1 -1
  465. package/_cjs/optics/At.cjs +0 -4
  466. package/_cjs/optics/At.cjs.map +1 -1
  467. package/_cjs/optics/Fold/definition.cjs +3 -6
  468. package/_cjs/optics/Fold/definition.cjs.map +1 -1
  469. package/_cjs/optics/Fold.cjs +0 -2
  470. package/_cjs/optics/Fold.cjs.map +1 -1
  471. package/_cjs/optics/Getter/definition.cjs +2 -5
  472. package/_cjs/optics/Getter/definition.cjs.map +1 -1
  473. package/_cjs/optics/Getter.cjs +0 -2
  474. package/_cjs/optics/Getter.cjs.map +1 -1
  475. package/_cjs/optics/Index/api.cjs +4 -12
  476. package/_cjs/optics/Index/api.cjs.map +1 -1
  477. package/_cjs/optics/Index/definition.cjs +2 -4
  478. package/_cjs/optics/Index/definition.cjs.map +1 -1
  479. package/_cjs/optics/Index.cjs +0 -4
  480. package/_cjs/optics/Index.cjs.map +1 -1
  481. package/_cjs/optics/Iso/api.cjs +9 -12
  482. package/_cjs/optics/Iso/api.cjs.map +1 -1
  483. package/_cjs/optics/Iso/definition.cjs +13 -25
  484. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  485. package/_cjs/optics/Iso.cjs +0 -4
  486. package/_cjs/optics/Iso.cjs.map +1 -1
  487. package/_cjs/optics/Lens/api.cjs +53 -78
  488. package/_cjs/optics/Lens/api.cjs.map +1 -1
  489. package/_cjs/optics/Lens/definition.cjs +11 -23
  490. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  491. package/_cjs/optics/Lens.cjs +0 -4
  492. package/_cjs/optics/Lens.cjs.map +1 -1
  493. package/_cjs/optics/Optional/api/compose.cjs +9 -13
  494. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  495. package/_cjs/optics/Optional/definition.cjs +11 -27
  496. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  497. package/_cjs/optics/Optional.cjs +0 -4
  498. package/_cjs/optics/Optional.cjs.map +1 -1
  499. package/_cjs/optics/Prism/api/compose.cjs +9 -14
  500. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  501. package/_cjs/optics/Prism/api/fromNullable.cjs +2 -8
  502. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  503. package/_cjs/optics/Prism/api/just.cjs +2 -9
  504. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  505. package/_cjs/optics/Prism/definition.cjs +9 -21
  506. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  507. package/_cjs/optics/Prism.cjs +0 -8
  508. package/_cjs/optics/Prism.cjs.map +1 -1
  509. package/_cjs/optics/Setter/definition.cjs +8 -17
  510. package/_cjs/optics/Setter/definition.cjs.map +1 -1
  511. package/_cjs/optics/Setter.cjs +0 -2
  512. package/_cjs/optics/Setter.cjs.map +1 -1
  513. package/_cjs/optics/Traversal/api/compose.cjs +8 -10
  514. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  515. package/_cjs/optics/Traversal/api/fromTraversable.cjs +2 -6
  516. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  517. package/_cjs/optics/Traversal/definition.cjs +12 -28
  518. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  519. package/_cjs/optics/Traversal.cjs +0 -6
  520. package/_cjs/optics/Traversal.cjs.map +1 -1
  521. package/_cjs/typeclass/Align.cjs.map +1 -1
  522. package/_cjs/typeclass/Alt.cjs.map +1 -1
  523. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  524. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  525. package/_cjs/typeclass/ApplicativeExcept.cjs +5 -18
  526. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  527. package/_cjs/typeclass/Apply.cjs +15 -47
  528. package/_cjs/typeclass/Apply.cjs.map +1 -1
  529. package/_cjs/typeclass/Chain.cjs +4 -13
  530. package/_cjs/typeclass/Chain.cjs.map +1 -1
  531. package/_cjs/typeclass/Closure.cjs +2 -4
  532. package/_cjs/typeclass/Closure.cjs.map +1 -1
  533. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  534. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  535. package/_cjs/typeclass/Foldable.cjs +1 -3
  536. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  537. package/_cjs/typeclass/FoldableWithIndex.cjs +1 -3
  538. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  539. package/_cjs/typeclass/Functor.cjs +0 -2
  540. package/_cjs/typeclass/Functor.cjs.map +1 -1
  541. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  542. package/_cjs/typeclass/Has.cjs +8 -6
  543. package/_cjs/typeclass/Has.cjs.map +1 -1
  544. package/_cjs/typeclass/Monad.cjs.map +1 -1
  545. package/_cjs/typeclass/MonadExcept.cjs +1 -6
  546. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  547. package/_cjs/typeclass/Monoid.cjs +6 -23
  548. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  549. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  550. package/_cjs/typeclass/Semialign.cjs +7 -25
  551. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  552. package/_cjs/typeclass/Semigroup/api.cjs +6 -14
  553. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  554. package/_cjs/typeclass/Semigroup/definition.cjs +3 -6
  555. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  556. package/_cjs/typeclass/Semigroup/derivations.cjs +7 -18
  557. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  558. package/_cjs/typeclass/Semigroup.cjs +0 -4
  559. package/_cjs/typeclass/Semigroup.cjs.map +1 -1
  560. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  561. package/_cjs/typeclass/Traversable.cjs +1 -7
  562. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  563. package/_cjs/typeclass/TraversableWithIndex.cjs +0 -1
  564. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  565. package/_cjs/typeclass/Witherable.cjs +2 -7
  566. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  567. package/_cjs/typeclass/WitherableWithIndex.cjs +2 -8
  568. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  569. package/_cjs/typeclass/builtin.cjs +0 -2
  570. package/_cjs/typeclass/builtin.cjs.map +1 -1
  571. package/_cjs/typeclass.cjs +95 -162
  572. package/_cjs/typeclass.cjs.map +1 -1
  573. package/_cjs/types.cjs +0 -6
  574. package/_cjs/types.cjs.map +1 -1
  575. package/_cjs/util/AnsiFormat.cjs +15 -57
  576. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  577. package/_cjs/util/PCGRandom.cjs +16 -46
  578. package/_cjs/util/PCGRandom.cjs.map +1 -1
  579. package/_cjs/util/assert.cjs +0 -4
  580. package/_cjs/util/assert.cjs.map +1 -1
  581. package/_cjs/util/pattern.cjs +0 -4
  582. package/_cjs/util/pattern.cjs.map +1 -1
  583. package/_cjs/util/predicates.cjs +0 -32
  584. package/_cjs/util/predicates.cjs.map +1 -1
  585. package/_cjs/util/rand/Random.cjs +0 -21
  586. package/_cjs/util/rand/Random.cjs.map +1 -1
  587. package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs +0 -5
  588. package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
  589. package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs +4 -12
  590. package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
  591. package/_cjs/util/rand/distribution/UniformIntDistribution.cjs +0 -12
  592. package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
  593. package/_cjs/util/rand/distribution/internals/ArrayInt.cjs +6 -42
  594. package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
  595. package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs +6 -10
  596. package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
  597. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs +8 -14
  598. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
  599. package/_cjs/util/rand/generator/MersenneTwister.cjs +5 -25
  600. package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
  601. package/_cjs/util/rand/generator/RandomGenerator.cjs +0 -4
  602. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  603. package/_cjs/util/rand.cjs +0 -9
  604. package/_cjs/util/rand.cjs.map +1 -1
  605. package/_mjs/collection/Iterable/api/traverseConc.mjs +5 -10
  606. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  607. package/_mjs/collection/Iterable/api.mjs +466 -551
  608. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  609. package/_mjs/collection/Iterable/constructors.mjs +5 -20
  610. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  611. package/_mjs/collection/Iterable/definition.mjs.map +1 -1
  612. package/_mjs/collection/Iterable.mjs.map +1 -1
  613. package/_mjs/collection/compat/Array/api.mjs +17 -21
  614. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  615. package/_mjs/collection/compat/Array/definition.mjs.map +1 -1
  616. package/_mjs/collection/compat/Array.mjs +0 -1
  617. package/_mjs/collection/compat/Array.mjs.map +1 -1
  618. package/_mjs/collection/compat/ArrayLike/api.mjs +3 -9
  619. package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
  620. package/_mjs/collection/immutable/Conc/api/empty.mjs +0 -1
  621. package/_mjs/collection/immutable/Conc/api/empty.mjs.map +1 -1
  622. package/_mjs/collection/immutable/Conc/api/makeBy.mjs +1 -5
  623. package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
  624. package/_mjs/collection/immutable/Conc/api/replicate.mjs +0 -1
  625. package/_mjs/collection/immutable/Conc/api/replicate.mjs.map +1 -1
  626. package/_mjs/collection/immutable/Conc/api.mjs +733 -919
  627. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  628. package/_mjs/collection/immutable/Conc/constructors.mjs +0 -5
  629. package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
  630. package/_mjs/collection/immutable/Conc/definition.mjs +74 -242
  631. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  632. package/_mjs/collection/immutable/Conc.mjs +1 -2
  633. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  634. package/_mjs/collection/immutable/Dictionary/api.mjs +47 -50
  635. package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
  636. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  637. package/_mjs/collection/immutable/Dictionary.mjs +4 -0
  638. package/_mjs/collection/immutable/Dictionary.mjs.map +1 -0
  639. package/_mjs/collection/immutable/HashMap/api.mjs +328 -352
  640. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  641. package/_mjs/collection/immutable/HashMap/definition.mjs +17 -28
  642. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  643. package/_mjs/collection/immutable/HashMap/internal.mjs +4 -66
  644. package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
  645. package/_mjs/collection/immutable/HashMap.mjs.map +1 -1
  646. package/_mjs/collection/immutable/HashSet/api.mjs +249 -275
  647. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  648. package/_mjs/collection/immutable/HashSet/definition.mjs +14 -67
  649. package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
  650. package/_mjs/collection/immutable/HashSet.mjs.map +1 -1
  651. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +5 -4
  652. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -1
  653. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +5 -4
  654. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -1
  655. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +5 -4
  656. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -1
  657. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +13 -14
  658. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
  659. package/_mjs/collection/immutable/ImmutableArray/api.mjs +826 -942
  660. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  661. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +0 -10
  662. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +1 -1
  663. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +4 -10
  664. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  665. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +50 -59
  666. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  667. package/_mjs/collection/immutable/ImmutableArray.mjs +2 -3
  668. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  669. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +303 -355
  670. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  671. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +0 -12
  672. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  673. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -5
  674. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  675. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +2 -12
  676. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  677. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +25 -29
  678. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  679. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +0 -1
  680. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
  681. package/_mjs/collection/immutable/List/api/foldLeft.mjs +11 -12
  682. package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
  683. package/_mjs/collection/immutable/List/api/unsafeTail.mjs +0 -2
  684. package/_mjs/collection/immutable/List/api/unsafeTail.mjs.map +1 -1
  685. package/_mjs/collection/immutable/List/api.mjs +155 -203
  686. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  687. package/_mjs/collection/immutable/List/constructors.mjs +1 -11
  688. package/_mjs/collection/immutable/List/constructors.mjs.map +1 -1
  689. package/_mjs/collection/immutable/List/definition.mjs +2 -18
  690. package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
  691. package/_mjs/collection/immutable/List.mjs +2 -2
  692. package/_mjs/collection/immutable/List.mjs.map +1 -1
  693. package/_mjs/collection/immutable/Queue/api.mjs +78 -88
  694. package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
  695. package/_mjs/collection/immutable/Queue/constructors.mjs +0 -2
  696. package/_mjs/collection/immutable/Queue/constructors.mjs.map +1 -1
  697. package/_mjs/collection/immutable/Queue/definition.mjs +3 -9
  698. package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
  699. package/_mjs/collection/immutable/Queue/guards.mjs +2 -3
  700. package/_mjs/collection/immutable/Queue/guards.mjs.map +1 -1
  701. package/_mjs/collection/immutable/Queue.mjs.map +1 -1
  702. package/_mjs/collection/immutable/RoseTree/api.mjs +76 -103
  703. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
  704. package/_mjs/collection/immutable/RoseTree/definition.mjs +4 -8
  705. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  706. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -1
  707. package/_mjs/collection/immutable/SortedMap/api.mjs +423 -493
  708. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  709. package/_mjs/collection/immutable/SortedMap/definition.mjs +2 -3
  710. package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
  711. package/_mjs/collection/immutable/SortedMap/internal.mjs +56 -222
  712. package/_mjs/collection/immutable/SortedMap/internal.mjs.map +1 -1
  713. package/_mjs/collection/immutable/SortedMap/iterator.mjs +16 -97
  714. package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
  715. package/_mjs/collection/immutable/SortedMap/node.mjs +0 -1
  716. package/_mjs/collection/immutable/SortedMap/node.mjs.map +1 -1
  717. package/_mjs/collection/immutable/SortedMap.mjs.map +1 -1
  718. package/_mjs/collection/immutable/Vector/api.mjs +682 -756
  719. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  720. package/_mjs/collection/immutable/Vector/definition.mjs +25 -35
  721. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  722. package/_mjs/collection/immutable/Vector/internal.mjs +79 -350
  723. package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
  724. package/_mjs/collection/immutable/Vector.mjs.map +1 -1
  725. package/_mjs/collection/mutable/HashMap.mjs +9 -79
  726. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  727. package/_mjs/collection/mutable/HashSet.mjs +5 -59
  728. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  729. package/_mjs/collection/mutable/ListBuffer.mjs +2 -28
  730. package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
  731. package/_mjs/collection/mutable/internal.mjs +0 -4
  732. package/_mjs/collection/mutable/internal.mjs.map +1 -1
  733. package/_mjs/collection/weak/IterableWeakMap.mjs +6 -28
  734. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  735. package/_mjs/collection/weak/IterableWeakSet.mjs +6 -26
  736. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  737. package/_mjs/control/Eval/api/sequenceArray.mjs +0 -1
  738. package/_mjs/control/Eval/api/sequenceArray.mjs.map +1 -1
  739. package/_mjs/control/Eval/api.mjs +41 -48
  740. package/_mjs/control/Eval/api.mjs.map +1 -1
  741. package/_mjs/control/Eval/constructors.mjs +0 -6
  742. package/_mjs/control/Eval/constructors.mjs.map +1 -1
  743. package/_mjs/control/Eval/definition.mjs +6 -15
  744. package/_mjs/control/Eval/definition.mjs.map +1 -1
  745. package/_mjs/control/Eval/instance.mjs +7 -9
  746. package/_mjs/control/Eval/instance.mjs.map +1 -1
  747. package/_mjs/control/Eval/run.mjs +5 -24
  748. package/_mjs/control/Eval/run.mjs.map +1 -1
  749. package/_mjs/control/Eval.mjs.map +1 -1
  750. package/_mjs/control/LazyValue.mjs +0 -3
  751. package/_mjs/control/LazyValue.mjs.map +1 -1
  752. package/_mjs/control/Z/api.mjs +196 -216
  753. package/_mjs/control/Z/api.mjs.map +1 -1
  754. package/_mjs/control/Z/definition.mjs +23 -51
  755. package/_mjs/control/Z/definition.mjs.map +1 -1
  756. package/_mjs/control/Z/instances.mjs +4 -5
  757. package/_mjs/control/Z/instances.mjs.map +1 -1
  758. package/_mjs/control/Z/runtime.mjs +200 -266
  759. package/_mjs/control/Z/runtime.mjs.map +1 -1
  760. package/_mjs/control/Z.mjs.map +1 -1
  761. package/_mjs/data/Branded/definition.mjs +0 -2
  762. package/_mjs/data/Branded/definition.mjs.map +1 -1
  763. package/_mjs/data/Branded.mjs +0 -1
  764. package/_mjs/data/Branded.mjs.map +1 -1
  765. package/_mjs/data/CaseClass.mjs +13 -32
  766. package/_mjs/data/CaseClass.mjs.map +1 -1
  767. package/_mjs/data/Cause/api/fold.mjs +30 -65
  768. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  769. package/_mjs/data/Cause/api/isEmpty.mjs +7 -29
  770. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  771. package/_mjs/data/Cause/api/linearize.mjs +9 -10
  772. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  773. package/_mjs/data/Cause/api/prettyPrint.mjs +1 -8
  774. package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
  775. package/_mjs/data/Cause/api/unified.mjs +14 -44
  776. package/_mjs/data/Cause/api/unified.mjs.map +1 -1
  777. package/_mjs/data/Cause/api.mjs +212 -490
  778. package/_mjs/data/Cause/api.mjs.map +1 -1
  779. package/_mjs/data/Cause/definition.mjs +63 -262
  780. package/_mjs/data/Cause/definition.mjs.map +1 -1
  781. package/_mjs/data/Cause.mjs +2 -2
  782. package/_mjs/data/Cause.mjs.map +1 -1
  783. package/_mjs/data/Const/api.mjs +6 -6
  784. package/_mjs/data/Const/api.mjs.map +1 -1
  785. package/_mjs/data/Const/definition.mjs +0 -1
  786. package/_mjs/data/Const/definition.mjs.map +1 -1
  787. package/_mjs/data/Const/instances.mjs +6 -8
  788. package/_mjs/data/Const/instances.mjs.map +1 -1
  789. package/_mjs/data/Const.mjs.map +1 -1
  790. package/_mjs/data/Datum/api.mjs +198 -250
  791. package/_mjs/data/Datum/api.mjs.map +1 -1
  792. package/_mjs/data/Datum/definition.mjs +10 -35
  793. package/_mjs/data/Datum/definition.mjs.map +1 -1
  794. package/_mjs/data/Datum/instances.mjs +0 -5
  795. package/_mjs/data/Datum/instances.mjs.map +1 -1
  796. package/_mjs/data/DatumEither/api.mjs +158 -191
  797. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  798. package/_mjs/data/DatumEither/definition.mjs.map +1 -1
  799. package/_mjs/data/DecodeError/definition.mjs +15 -43
  800. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  801. package/_mjs/data/DecodeError.mjs.map +1 -1
  802. package/_mjs/data/Decoder/api.mjs +400 -53
  803. package/_mjs/data/Decoder/api.mjs.map +1 -1
  804. package/_mjs/data/Decoder/definition.mjs +0 -3
  805. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  806. package/_mjs/data/Decoder.mjs.map +1 -1
  807. package/_mjs/data/Duration/api.mjs +20 -21
  808. package/_mjs/data/Duration/api.mjs.map +1 -1
  809. package/_mjs/data/Duration/definition.mjs +3 -7
  810. package/_mjs/data/Duration/definition.mjs.map +1 -1
  811. package/_mjs/data/Duration.mjs.map +1 -1
  812. package/_mjs/data/Either/api/align.mjs +7 -2
  813. package/_mjs/data/Either/api/align.mjs.map +1 -1
  814. package/_mjs/data/Either/api/alignWith.mjs +7 -12
  815. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  816. package/_mjs/data/Either/api.mjs +139 -188
  817. package/_mjs/data/Either/api.mjs.map +1 -1
  818. package/_mjs/data/Either/constructors.mjs +7 -16
  819. package/_mjs/data/Either/constructors.mjs.map +1 -1
  820. package/_mjs/data/Either/definition.mjs +4 -15
  821. package/_mjs/data/Either/definition.mjs.map +1 -1
  822. package/_mjs/data/Either/destructors.mjs +11 -15
  823. package/_mjs/data/Either/destructors.mjs.map +1 -1
  824. package/_mjs/data/Either/instances.mjs +22 -56
  825. package/_mjs/data/Either/instances.mjs.map +1 -1
  826. package/_mjs/data/Either.mjs.map +1 -1
  827. package/_mjs/data/EitherT/api.mjs +8 -17
  828. package/_mjs/data/EitherT/api.mjs.map +1 -1
  829. package/_mjs/data/EitherT/definition.mjs.map +1 -1
  830. package/_mjs/data/Encoder/api.mjs +273 -0
  831. package/_mjs/data/Encoder/api.mjs.map +1 -0
  832. package/_mjs/data/Encoder/definition.mjs +13 -0
  833. package/_mjs/data/Encoder/definition.mjs.map +1 -0
  834. package/_mjs/data/Encoder.mjs +4 -0
  835. package/_mjs/data/Encoder.mjs.map +1 -0
  836. package/_mjs/data/Environment/api.mjs +47 -50
  837. package/_mjs/data/Environment/api.mjs.map +1 -1
  838. package/_mjs/data/Environment/definition.mjs +5 -10
  839. package/_mjs/data/Environment/definition.mjs.map +1 -1
  840. package/_mjs/data/Environment.mjs.map +1 -1
  841. package/_mjs/data/EnvironmentPatch.mjs +35 -68
  842. package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
  843. package/_mjs/{typeclass → data}/Eq/definition.mjs +1 -2
  844. package/_mjs/data/Eq/definition.mjs.map +1 -0
  845. package/_mjs/{typeclass → data}/Eq/derivations.mjs +9 -15
  846. package/_mjs/data/Eq/derivations.mjs.map +1 -0
  847. package/_mjs/{typeclass → data}/Eq.mjs +0 -0
  848. package/_mjs/data/Eq.mjs.map +1 -0
  849. package/_mjs/{typeclass → data}/Equatable/api.mjs +3 -6
  850. package/_mjs/data/Equatable/api.mjs.map +1 -0
  851. package/_mjs/{typeclass → data}/Equatable/definition.mjs +0 -1
  852. package/_mjs/data/Equatable/definition.mjs.map +1 -0
  853. package/_mjs/{typeclass → data}/Equatable/fast-equals.mjs +1 -63
  854. package/_mjs/data/Equatable/fast-equals.mjs.map +1 -0
  855. package/_mjs/{typeclass → data}/Equatable.mjs +0 -0
  856. package/_mjs/data/Equatable.mjs.map +1 -0
  857. package/_mjs/data/ExecutionStrategy.mjs +17 -30
  858. package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
  859. package/_mjs/data/Exit/api.mjs +124 -135
  860. package/_mjs/data/Exit/api.mjs.map +1 -1
  861. package/_mjs/data/Exit/constructors.mjs +3 -14
  862. package/_mjs/data/Exit/constructors.mjs.map +1 -1
  863. package/_mjs/data/Exit/definition.mjs +8 -33
  864. package/_mjs/data/Exit/definition.mjs.map +1 -1
  865. package/_mjs/data/Exit.mjs.map +1 -1
  866. package/_mjs/data/FiberId/api.mjs +23 -31
  867. package/_mjs/data/FiberId/api.mjs.map +1 -1
  868. package/_mjs/data/FiberId/constructors.mjs +3 -9
  869. package/_mjs/data/FiberId/constructors.mjs.map +1 -1
  870. package/_mjs/data/FiberId/definition.mjs +7 -26
  871. package/_mjs/data/FiberId/definition.mjs.map +1 -1
  872. package/_mjs/data/FiberId.mjs.map +1 -1
  873. package/_mjs/data/Guard/api.mjs +369 -0
  874. package/_mjs/data/Guard/api.mjs.map +1 -0
  875. package/_mjs/{typeclass → data}/Guard/definition.mjs +0 -3
  876. package/_mjs/data/Guard/definition.mjs.map +1 -0
  877. package/_mjs/data/Guard.mjs +4 -0
  878. package/_mjs/data/Guard.mjs.map +1 -0
  879. package/_mjs/{typeclass → data}/Hash.mjs +0 -1
  880. package/_mjs/data/Hash.mjs.map +1 -0
  881. package/_mjs/data/HashEq.mjs +30 -0
  882. package/_mjs/data/HashEq.mjs.map +1 -0
  883. package/_mjs/{typeclass → data}/Hashable/definition.mjs +0 -1
  884. package/_mjs/data/Hashable/definition.mjs.map +1 -0
  885. package/_mjs/{typeclass → data}/Hashable/hash.mjs +4 -59
  886. package/_mjs/data/Hashable/hash.mjs.map +1 -0
  887. package/_mjs/{typeclass → data}/Hashable.mjs +0 -0
  888. package/_mjs/data/Hashable.mjs.map +1 -0
  889. package/_mjs/data/Identity/api.mjs +21 -20
  890. package/_mjs/data/Identity/api.mjs.map +1 -1
  891. package/_mjs/data/Identity/definition.mjs.map +1 -1
  892. package/_mjs/data/Identity/instances.mjs +8 -9
  893. package/_mjs/data/Identity/instances.mjs.map +1 -1
  894. package/_mjs/data/Identity.mjs.map +1 -1
  895. package/_mjs/data/Interval.mjs +41 -47
  896. package/_mjs/data/Interval.mjs.map +1 -1
  897. package/_mjs/data/Intervals.mjs +45 -60
  898. package/_mjs/data/Intervals.mjs.map +1 -1
  899. package/_mjs/data/Maybe/api.mjs +107 -128
  900. package/_mjs/data/Maybe/api.mjs.map +1 -1
  901. package/_mjs/data/Maybe/constructors.mjs +1 -18
  902. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  903. package/_mjs/data/Maybe/definition.mjs +10 -36
  904. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  905. package/_mjs/data/Maybe/destructors.mjs +6 -6
  906. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  907. package/_mjs/data/Maybe/instances.mjs +40 -21
  908. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  909. package/_mjs/data/Maybe.mjs.map +1 -1
  910. package/_mjs/data/Newtype.mjs +0 -1
  911. package/_mjs/data/Newtype.mjs.map +1 -1
  912. package/_mjs/data/Ord/api/contramap.mjs +12 -0
  913. package/_mjs/data/Ord/api/contramap.mjs.map +1 -0
  914. package/_mjs/data/Ord/api/max.mjs +8 -0
  915. package/_mjs/data/Ord/api/max.mjs.map +1 -0
  916. package/_mjs/data/Ord/api/min.mjs +8 -0
  917. package/_mjs/data/Ord/api/min.mjs.map +1 -0
  918. package/_mjs/{typeclass → data}/Ord/api.mjs +0 -0
  919. package/_mjs/data/Ord/api.mjs.map +1 -0
  920. package/_mjs/data/Ord/definition.mjs +12 -0
  921. package/_mjs/data/Ord/definition.mjs.map +1 -0
  922. package/_mjs/data/Ord/instances.mjs +34 -0
  923. package/_mjs/data/Ord/instances.mjs.map +1 -0
  924. package/_mjs/{typeclass → data}/Ord.mjs +0 -0
  925. package/_mjs/data/Ord.mjs.map +1 -0
  926. package/_mjs/{typeclass → data}/Ordering.mjs +0 -6
  927. package/_mjs/data/Ordering.mjs.map +1 -0
  928. package/_mjs/data/Predicate/api.mjs +10 -11
  929. package/_mjs/data/Predicate/api.mjs.map +1 -1
  930. package/_mjs/data/Predicate.mjs.map +1 -1
  931. package/_mjs/data/Refinement/api.mjs +15 -12
  932. package/_mjs/data/Refinement/api.mjs.map +1 -1
  933. package/_mjs/data/Refinement.mjs.map +1 -1
  934. package/_mjs/{typeclass → data}/Showable/definition.mjs +2 -3
  935. package/_mjs/data/Showable/definition.mjs.map +1 -0
  936. package/_mjs/{typeclass → data}/Showable/show.mjs +119 -245
  937. package/_mjs/data/Showable/show.mjs.map +1 -0
  938. package/_mjs/{typeclass → data}/Showable/styles.mjs +0 -0
  939. package/_mjs/data/Showable/styles.mjs.map +1 -0
  940. package/_mjs/{typeclass → data}/Showable/util.mjs +53 -93
  941. package/_mjs/data/Showable/util.mjs.map +1 -0
  942. package/_mjs/{typeclass → data}/Showable.mjs +0 -0
  943. package/_mjs/data/Showable.mjs.map +1 -0
  944. package/_mjs/data/Struct/api.mjs +59 -63
  945. package/_mjs/data/Struct/api.mjs.map +1 -1
  946. package/_mjs/data/Struct/definition.mjs.map +1 -1
  947. package/_mjs/data/Tag/constructors.mjs +1 -3
  948. package/_mjs/data/Tag/constructors.mjs.map +1 -1
  949. package/_mjs/data/Tag/definition.mjs +3 -11
  950. package/_mjs/data/Tag/definition.mjs.map +1 -1
  951. package/_mjs/data/Tag.mjs.map +1 -1
  952. package/_mjs/data/These/api.mjs +118 -209
  953. package/_mjs/data/These/api.mjs.map +1 -1
  954. package/_mjs/data/These/constructors.mjs +1 -7
  955. package/_mjs/data/These/constructors.mjs.map +1 -1
  956. package/_mjs/data/These/definition.mjs +4 -16
  957. package/_mjs/data/These/definition.mjs.map +1 -1
  958. package/_mjs/data/These/destructors.mjs +23 -41
  959. package/_mjs/data/These/destructors.mjs.map +1 -1
  960. package/_mjs/data/These/instances.mjs +2 -7
  961. package/_mjs/data/These/instances.mjs.map +1 -1
  962. package/_mjs/data/These.mjs.map +1 -1
  963. package/_mjs/data/Trace/api.mjs +6 -6
  964. package/_mjs/data/Trace/api.mjs.map +1 -1
  965. package/_mjs/data/Trace/constructors.mjs +0 -2
  966. package/_mjs/data/Trace/constructors.mjs.map +1 -1
  967. package/_mjs/data/Trace/definition.mjs +0 -1
  968. package/_mjs/data/Trace/definition.mjs.map +1 -1
  969. package/_mjs/data/Trace.mjs.map +1 -1
  970. package/_mjs/data/TraceElement/definition.mjs +0 -9
  971. package/_mjs/data/TraceElement/definition.mjs.map +1 -1
  972. package/_mjs/data/TraceElement.mjs.map +1 -1
  973. package/_mjs/data/Zipped.mjs +2 -7
  974. package/_mjs/data/Zipped.mjs.map +1 -1
  975. package/_mjs/data/bigint/instances.mjs +2 -2
  976. package/_mjs/data/bigint/instances.mjs.map +1 -1
  977. package/_mjs/data/bigint.mjs.map +1 -1
  978. package/_mjs/data/boolean/instances.mjs +2 -2
  979. package/_mjs/data/boolean/instances.mjs.map +1 -1
  980. package/_mjs/data/boolean.mjs.map +1 -1
  981. package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs +0 -1
  982. package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs.map +1 -1
  983. package/_mjs/data/exceptions/IllegalArgumentError.mjs +0 -1
  984. package/_mjs/data/exceptions/IllegalArgumentError.mjs.map +1 -1
  985. package/_mjs/data/exceptions/IllegalStateError.mjs +0 -1
  986. package/_mjs/data/exceptions/IllegalStateError.mjs.map +1 -1
  987. package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs +0 -1
  988. package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs.map +1 -1
  989. package/_mjs/data/exceptions/InterruptedException.mjs +0 -1
  990. package/_mjs/data/exceptions/InterruptedException.mjs.map +1 -1
  991. package/_mjs/data/exceptions/InvalidCapacityError.mjs +0 -1
  992. package/_mjs/data/exceptions/InvalidCapacityError.mjs.map +1 -1
  993. package/_mjs/data/exceptions/NoSuchElementError.mjs +0 -1
  994. package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
  995. package/_mjs/data/exceptions.mjs.map +1 -1
  996. package/_mjs/data/function/api.mjs +5 -8
  997. package/_mjs/data/function/api.mjs.map +1 -1
  998. package/_mjs/data/function/pipe.mjs +7 -20
  999. package/_mjs/data/function/pipe.mjs.map +1 -1
  1000. package/_mjs/data/function.mjs.map +1 -1
  1001. package/_mjs/data/number/api.mjs.map +1 -1
  1002. package/_mjs/data/number/instances.mjs +10 -13
  1003. package/_mjs/data/number/instances.mjs.map +1 -1
  1004. package/_mjs/data/number.mjs.map +1 -1
  1005. package/_mjs/data/object/instances.mjs +1 -9
  1006. package/_mjs/data/object/instances.mjs.map +1 -1
  1007. package/_mjs/data/object.mjs.map +1 -1
  1008. package/_mjs/data/string/api.mjs +45 -83
  1009. package/_mjs/data/string/api.mjs.map +1 -1
  1010. package/_mjs/data/string/instances.mjs +11 -15
  1011. package/_mjs/data/string/instances.mjs.map +1 -1
  1012. package/_mjs/data/string.mjs.map +1 -1
  1013. package/_mjs/global/api.mjs +4 -2
  1014. package/_mjs/global/api.mjs.map +1 -1
  1015. package/_mjs/internal/AtomicBoolean.mjs +0 -1
  1016. package/_mjs/internal/AtomicBoolean.mjs.map +1 -1
  1017. package/_mjs/internal/AtomicNumber.mjs +0 -4
  1018. package/_mjs/internal/AtomicNumber.mjs.map +1 -1
  1019. package/_mjs/internal/AtomicReference.mjs +0 -6
  1020. package/_mjs/internal/AtomicReference.mjs.map +1 -1
  1021. package/_mjs/internal/Stack.mjs +1 -10
  1022. package/_mjs/internal/Stack.mjs.map +1 -1
  1023. package/_mjs/json/EitherJson.mjs +1 -2
  1024. package/_mjs/json/EitherJson.mjs.map +1 -1
  1025. package/_mjs/json/MaybeJson.mjs +1 -2
  1026. package/_mjs/json/MaybeJson.mjs.map +1 -1
  1027. package/_mjs/json/TheseJson.mjs +1 -2
  1028. package/_mjs/json/TheseJson.mjs.map +1 -1
  1029. package/_mjs/optics/At/api.mjs +1 -2
  1030. package/_mjs/optics/At/api.mjs.map +1 -1
  1031. package/_mjs/optics/At/definition.mjs +2 -3
  1032. package/_mjs/optics/At/definition.mjs.map +1 -1
  1033. package/_mjs/optics/At.mjs.map +1 -1
  1034. package/_mjs/optics/Fold/definition.mjs +2 -4
  1035. package/_mjs/optics/Fold/definition.mjs.map +1 -1
  1036. package/_mjs/optics/Fold.mjs.map +1 -1
  1037. package/_mjs/optics/Getter/definition.mjs +1 -3
  1038. package/_mjs/optics/Getter/definition.mjs.map +1 -1
  1039. package/_mjs/optics/Getter.mjs.map +1 -1
  1040. package/_mjs/optics/Index/api.mjs +4 -6
  1041. package/_mjs/optics/Index/api.mjs.map +1 -1
  1042. package/_mjs/optics/Index/definition.mjs +1 -2
  1043. package/_mjs/optics/Index/definition.mjs.map +1 -1
  1044. package/_mjs/optics/Index.mjs.map +1 -1
  1045. package/_mjs/optics/Iso/api.mjs +8 -7
  1046. package/_mjs/optics/Iso/api.mjs.map +1 -1
  1047. package/_mjs/optics/Iso/definition.mjs +10 -12
  1048. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  1049. package/_mjs/optics/Iso.mjs.map +1 -1
  1050. package/_mjs/optics/Lens/api.mjs +48 -60
  1051. package/_mjs/optics/Lens/api.mjs.map +1 -1
  1052. package/_mjs/optics/Lens/definition.mjs +8 -10
  1053. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  1054. package/_mjs/optics/Lens.mjs.map +1 -1
  1055. package/_mjs/optics/Optional/api/compose.mjs +8 -7
  1056. package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
  1057. package/_mjs/optics/Optional/definition.mjs +8 -14
  1058. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  1059. package/_mjs/optics/Optional.mjs +2 -2
  1060. package/_mjs/optics/Optional.mjs.map +1 -1
  1061. package/_mjs/optics/Prism/api/compose.mjs +8 -7
  1062. package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
  1063. package/_mjs/optics/Prism/api/fromNullable.mjs +2 -3
  1064. package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
  1065. package/_mjs/optics/Prism/api/just.mjs +2 -3
  1066. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  1067. package/_mjs/optics/Prism/definition.mjs +6 -9
  1068. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  1069. package/_mjs/optics/Prism.mjs +2 -2
  1070. package/_mjs/optics/Prism.mjs.map +1 -1
  1071. package/_mjs/optics/Setter/definition.mjs +5 -13
  1072. package/_mjs/optics/Setter/definition.mjs.map +1 -1
  1073. package/_mjs/optics/Setter.mjs.map +1 -1
  1074. package/_mjs/optics/Traversal/api/compose.mjs +7 -6
  1075. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  1076. package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -3
  1077. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  1078. package/_mjs/optics/Traversal/definition.mjs +9 -12
  1079. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  1080. package/_mjs/optics/Traversal.mjs +2 -2
  1081. package/_mjs/optics/Traversal.mjs.map +1 -1
  1082. package/_mjs/typeclass/Align.mjs.map +1 -1
  1083. package/_mjs/typeclass/Alt.mjs.map +1 -1
  1084. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  1085. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  1086. package/_mjs/typeclass/ApplicativeExcept.mjs +6 -10
  1087. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  1088. package/_mjs/typeclass/Apply.mjs +14 -35
  1089. package/_mjs/typeclass/Apply.mjs.map +1 -1
  1090. package/_mjs/typeclass/Chain.mjs +5 -7
  1091. package/_mjs/typeclass/Chain.mjs.map +1 -1
  1092. package/_mjs/typeclass/Closure.mjs +1 -2
  1093. package/_mjs/typeclass/Closure.mjs.map +1 -1
  1094. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  1095. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  1096. package/_mjs/typeclass/Foldable.mjs +1 -2
  1097. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  1098. package/_mjs/typeclass/FoldableWithIndex.mjs +1 -2
  1099. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  1100. package/_mjs/typeclass/Functor.mjs +0 -1
  1101. package/_mjs/typeclass/Functor.mjs.map +1 -1
  1102. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  1103. package/_mjs/typeclass/Has.mjs +8 -5
  1104. package/_mjs/typeclass/Has.mjs.map +1 -1
  1105. package/_mjs/typeclass/Monad.mjs.map +1 -1
  1106. package/_mjs/typeclass/MonadExcept.mjs +1 -1
  1107. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  1108. package/_mjs/typeclass/Monoid.mjs +6 -15
  1109. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  1110. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  1111. package/_mjs/typeclass/Semialign.mjs +7 -14
  1112. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  1113. package/_mjs/typeclass/Semigroup/api.mjs +6 -8
  1114. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  1115. package/_mjs/typeclass/Semigroup/definition.mjs +2 -3
  1116. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  1117. package/_mjs/typeclass/Semigroup/derivations.mjs +7 -14
  1118. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  1119. package/_mjs/typeclass/Semigroup.mjs.map +1 -1
  1120. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  1121. package/_mjs/typeclass/Traversable.mjs +1 -3
  1122. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  1123. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  1124. package/_mjs/typeclass/Witherable.mjs +2 -2
  1125. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  1126. package/_mjs/typeclass/WitherableWithIndex.mjs +2 -1
  1127. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  1128. package/_mjs/typeclass/builtin.mjs.map +1 -1
  1129. package/_mjs/typeclass.mjs +9 -8
  1130. package/_mjs/typeclass.mjs.map +1 -1
  1131. package/_mjs/types.mjs.map +1 -1
  1132. package/_mjs/util/AnsiFormat.mjs +15 -42
  1133. package/_mjs/util/AnsiFormat.mjs.map +1 -1
  1134. package/_mjs/util/PCGRandom.mjs +16 -43
  1135. package/_mjs/util/PCGRandom.mjs.map +1 -1
  1136. package/_mjs/util/assert.mjs +0 -1
  1137. package/_mjs/util/assert.mjs.map +1 -1
  1138. package/_mjs/util/pattern.mjs.map +1 -1
  1139. package/_mjs/util/predicates.mjs +0 -1
  1140. package/_mjs/util/predicates.mjs.map +1 -1
  1141. package/_mjs/util/rand/Random.mjs +0 -17
  1142. package/_mjs/util/rand/Random.mjs.map +1 -1
  1143. package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs +0 -4
  1144. package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
  1145. package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs +4 -12
  1146. package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
  1147. package/_mjs/util/rand/distribution/UniformIntDistribution.mjs +0 -9
  1148. package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
  1149. package/_mjs/util/rand/distribution/internals/ArrayInt.mjs +6 -36
  1150. package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
  1151. package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs +6 -9
  1152. package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
  1153. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs +8 -13
  1154. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
  1155. package/_mjs/util/rand/generator/MersenneTwister.mjs +5 -23
  1156. package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
  1157. package/_mjs/util/rand/generator/RandomGenerator.mjs +0 -4
  1158. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  1159. package/_mjs/util/rand.mjs.map +1 -1
  1160. package/_src/collection/Iterable/api/traverseConc.ts +3 -3
  1161. package/_src/collection/Iterable/api.ts +458 -414
  1162. package/_src/collection/Iterable/constructors.ts +3 -1
  1163. package/_src/collection/compat/Array/api.ts +17 -14
  1164. package/_src/collection/compat/Array.ts +0 -1
  1165. package/_src/collection/compat/ArrayLike/api.ts +2 -2
  1166. package/_src/collection/compat.ts +0 -1
  1167. package/_src/collection/immutable/Conc/api.ts +716 -607
  1168. package/_src/collection/immutable/Conc/definition.ts +62 -70
  1169. package/_src/collection/immutable/Conc.ts +0 -1
  1170. package/_src/collection/immutable/Dictionary/api.ts +44 -32
  1171. package/_src/collection/immutable/Dictionary.ts +4 -0
  1172. package/_src/collection/immutable/HashMap/api.ts +371 -263
  1173. package/_src/collection/immutable/HashMap/definition.ts +17 -3
  1174. package/_src/collection/immutable/HashMap/internal.ts +5 -9
  1175. package/_src/collection/immutable/HashSet/api.ts +237 -190
  1176. package/_src/collection/immutable/HashSet/definition.ts +23 -9
  1177. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +5 -3
  1178. package/_src/collection/immutable/ImmutableArray/api/slice.ts +5 -3
  1179. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +5 -3
  1180. package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +13 -14
  1181. package/_src/collection/immutable/ImmutableArray/api.ts +873 -723
  1182. package/_src/collection/immutable/ImmutableArray/instances.ts +54 -73
  1183. package/_src/collection/immutable/ImmutableArray.ts +0 -1
  1184. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +311 -273
  1185. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +19 -4
  1186. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -1
  1187. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +22 -23
  1188. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +0 -1
  1189. package/_src/collection/immutable/List/api/foldLeft.ts +11 -9
  1190. package/_src/collection/immutable/List/api.ts +156 -132
  1191. package/_src/collection/immutable/List/constructors.ts +1 -1
  1192. package/_src/collection/immutable/List.ts +0 -1
  1193. package/_src/collection/immutable/Queue/api.ts +77 -61
  1194. package/_src/collection/immutable/Queue/definition.ts +0 -1
  1195. package/_src/collection/immutable/Queue/guards.ts +2 -2
  1196. package/_src/collection/immutable/RoseTree/api.ts +38 -32
  1197. package/_src/collection/immutable/RoseTree/definition.ts +2 -0
  1198. package/_src/collection/immutable/SortedMap/api.ts +412 -381
  1199. package/_src/collection/immutable/SortedMap/definition.ts +5 -0
  1200. package/_src/collection/immutable/Vector/api.ts +640 -514
  1201. package/_src/collection/immutable/Vector/definition.ts +11 -12
  1202. package/_src/collection/immutable/Vector/internal.ts +37 -38
  1203. package/_src/collection/immutable.ts +1 -0
  1204. package/_src/collection/mutable/HashMap.ts +8 -11
  1205. package/_src/collection/mutable/HashSet.ts +7 -8
  1206. package/_src/collection/mutable/ListBuffer.ts +1 -1
  1207. package/_src/collection/mutable/internal.ts +0 -2
  1208. package/_src/collection/weak/IterableWeakMap.ts +11 -7
  1209. package/_src/collection/weak/IterableWeakSet.ts +10 -5
  1210. package/_src/control/Eval/api.ts +35 -19
  1211. package/_src/control/Eval/instance.ts +5 -5
  1212. package/_src/control/Z/api.ts +191 -208
  1213. package/_src/control/Z/instances.ts +4 -5
  1214. package/_src/control/Z/runtime.ts +190 -189
  1215. package/_src/data/Branded/definition.ts +11 -12
  1216. package/_src/data/Branded.ts +0 -1
  1217. package/_src/data/CaseClass.ts +4 -1
  1218. package/_src/data/Cause/api/fold.ts +13 -14
  1219. package/_src/data/Cause/api/linearize.ts +4 -4
  1220. package/_src/data/Cause/api/unified.ts +1 -1
  1221. package/_src/data/Cause/api.ts +126 -108
  1222. package/_src/data/Cause/definition.ts +2 -2
  1223. package/_src/data/Cause.ts +0 -1
  1224. package/_src/data/Const/api.ts +6 -4
  1225. package/_src/data/Const/instances.ts +3 -3
  1226. package/_src/data/Datum/api.ts +228 -198
  1227. package/_src/data/Datum/definition.ts +2 -5
  1228. package/_src/data/DatumEither/api.ts +208 -193
  1229. package/_src/data/DecodeError/definition.ts +4 -2
  1230. package/_src/data/Decoder/api.ts +498 -11
  1231. package/_src/data/Duration/api.ts +24 -15
  1232. package/_src/data/Either/api/align.ts +7 -2
  1233. package/_src/data/Either/api/alignWith.ts +13 -15
  1234. package/_src/data/Either/api.ts +141 -119
  1235. package/_src/data/Either/constructors.ts +12 -10
  1236. package/_src/data/Either/destructors.ts +11 -9
  1237. package/_src/data/Either/instances.ts +27 -23
  1238. package/_src/data/EitherT/api.ts +43 -49
  1239. package/_src/data/Encoder/api.ts +375 -0
  1240. package/_src/data/Encoder/definition.ts +16 -0
  1241. package/_src/data/Encoder.ts +4 -0
  1242. package/_src/data/Environment/api.ts +53 -45
  1243. package/_src/data/Environment/definition.ts +1 -4
  1244. package/_src/data/EnvironmentPatch.ts +10 -9
  1245. package/_src/{typeclass → data}/Eq/definition.ts +2 -2
  1246. package/_src/{typeclass → data}/Eq/derivations.ts +6 -6
  1247. package/_src/{typeclass → data}/Eq.ts +0 -0
  1248. package/_src/{typeclass → data}/Equatable/api.ts +2 -2
  1249. package/_src/{typeclass → data}/Equatable/definition.ts +0 -0
  1250. package/_src/{typeclass → data}/Equatable/fast-equals.ts +8 -61
  1251. package/_src/{typeclass → data}/Equatable.ts +0 -0
  1252. package/_src/data/ExecutionStrategy.ts +14 -24
  1253. package/_src/data/Exit/api.ts +106 -75
  1254. package/_src/data/Exit/constructors.ts +2 -2
  1255. package/_src/data/FiberId/api.ts +21 -19
  1256. package/_src/data/FiberId/constructors.ts +4 -5
  1257. package/_src/data/FiberId/definition.ts +4 -1
  1258. package/_src/data/Guard/api.ts +457 -0
  1259. package/_src/{typeclass → data}/Guard/definition.ts +3 -1
  1260. package/_src/data/Guard.ts +4 -0
  1261. package/_src/{typeclass → data}/Hash.ts +0 -0
  1262. package/_src/{typeclass → data}/HashEq.ts +4 -6
  1263. package/_src/{typeclass → data}/Hashable/definition.ts +0 -0
  1264. package/_src/{typeclass → data}/Hashable/hash.ts +1 -2
  1265. package/_src/{typeclass → data}/Hashable.ts +0 -0
  1266. package/_src/data/Identity/api.ts +20 -12
  1267. package/_src/data/Identity/instances.ts +4 -7
  1268. package/_src/data/Interval.ts +41 -31
  1269. package/_src/data/Intervals.ts +31 -23
  1270. package/_src/data/Maybe/api.ts +112 -79
  1271. package/_src/data/Maybe/constructors.ts +3 -3
  1272. package/_src/data/Maybe/definition.ts +11 -1
  1273. package/_src/data/Maybe/destructors.ts +6 -4
  1274. package/_src/data/Maybe/instances.ts +31 -21
  1275. package/_src/data/Ord/api/contramap.ts +11 -0
  1276. package/_src/data/Ord/api/max.ts +7 -0
  1277. package/_src/data/Ord/api/min.ts +7 -0
  1278. package/_src/{typeclass → data}/Ord/api.ts +0 -0
  1279. package/_src/{typeclass → data}/Ord/definition.ts +2 -6
  1280. package/_src/{typeclass → data}/Ord/instances.ts +6 -8
  1281. package/_src/{typeclass → data}/Ord.ts +0 -0
  1282. package/_src/{typeclass → data}/Ordering.ts +2 -0
  1283. package/_src/data/Predicate/api.ts +14 -8
  1284. package/_src/data/Refinement/api.ts +19 -13
  1285. package/_src/{typeclass → data}/Showable/definition.ts +4 -4
  1286. package/_src/{typeclass → data}/Showable/show.ts +23 -38
  1287. package/_src/{typeclass → data}/Showable/styles.ts +0 -8
  1288. package/_src/{typeclass → data}/Showable/util.ts +22 -57
  1289. package/_src/{typeclass → data}/Showable.ts +0 -0
  1290. package/_src/data/Struct/api.ts +75 -55
  1291. package/_src/data/Tag/constructors.ts +1 -2
  1292. package/_src/data/Tag/definition.ts +0 -1
  1293. package/_src/data/These/api.ts +114 -114
  1294. package/_src/data/These/destructors.ts +23 -24
  1295. package/_src/data/Trace/api.ts +5 -3
  1296. package/_src/data/Zipped.ts +3 -4
  1297. package/_src/data/bigint/instances.ts +1 -0
  1298. package/_src/data/boolean/instances.ts +1 -0
  1299. package/_src/data/function/api.ts +6 -7
  1300. package/_src/data/function/pipe.ts +9 -1
  1301. package/_src/data/number/instances.ts +5 -5
  1302. package/_src/data/object/instances.ts +0 -11
  1303. package/_src/data/string/api.ts +40 -62
  1304. package/_src/data/string/instances.ts +4 -4
  1305. package/_src/data.ts +10 -0
  1306. package/_src/global/api.ts +7 -12
  1307. package/_src/global.ts +28 -12
  1308. package/_src/internal/AtomicBoolean.ts +0 -1
  1309. package/_src/internal/AtomicNumber.ts +0 -7
  1310. package/_src/internal/AtomicReference.ts +0 -4
  1311. package/_src/internal/Stack.ts +1 -7
  1312. package/_src/optics/At/definition.ts +5 -3
  1313. package/_src/optics/Fold/definition.ts +3 -10
  1314. package/_src/optics/Getter/definition.ts +1 -2
  1315. package/_src/optics/Index/definition.ts +1 -1
  1316. package/_src/optics/Iso/api.ts +8 -6
  1317. package/_src/optics/Iso/definition.ts +3 -3
  1318. package/_src/optics/Lens/api.ts +44 -42
  1319. package/_src/optics/Lens/definition.ts +5 -5
  1320. package/_src/optics/Optional/api/compose.ts +9 -9
  1321. package/_src/optics/Optional/definition.ts +9 -16
  1322. package/_src/optics/Optional.ts +0 -1
  1323. package/_src/optics/Prism/api/compose.ts +9 -6
  1324. package/_src/optics/Prism/definition.ts +3 -3
  1325. package/_src/optics/Prism.ts +0 -1
  1326. package/_src/optics/Setter/definition.ts +3 -23
  1327. package/_src/optics/Traversal/api/compose.ts +7 -8
  1328. package/_src/optics/Traversal/api/fromTraversable.ts +1 -1
  1329. package/_src/optics/Traversal/definition.ts +10 -15
  1330. package/_src/optics/Traversal.ts +0 -1
  1331. package/_src/typeclass/Align.ts +0 -3
  1332. package/_src/typeclass/Alt.ts +2 -1
  1333. package/_src/typeclass/Applicative.ts +0 -1
  1334. package/_src/typeclass/ApplicativeExcept.ts +15 -10
  1335. package/_src/typeclass/Apply.ts +34 -36
  1336. package/_src/typeclass/Chain.ts +9 -12
  1337. package/_src/typeclass/Closure.ts +2 -2
  1338. package/_src/typeclass/Filterable.ts +19 -13
  1339. package/_src/typeclass/FilterableWithIndex.ts +19 -13
  1340. package/_src/typeclass/Foldable.ts +7 -10
  1341. package/_src/typeclass/FoldableWithIndex.ts +7 -10
  1342. package/_src/typeclass/Functor.ts +6 -4
  1343. package/_src/typeclass/FunctorWithIndex.ts +3 -2
  1344. package/_src/typeclass/Has.ts +6 -4
  1345. package/_src/typeclass/MonadExcept.ts +1 -1
  1346. package/_src/typeclass/Monoid.ts +2 -2
  1347. package/_src/typeclass/Semialign.ts +43 -32
  1348. package/_src/typeclass/Semigroup/api.ts +0 -2
  1349. package/_src/typeclass/Semigroup/definition.ts +2 -2
  1350. package/_src/typeclass/Semigroup/derivations.ts +5 -5
  1351. package/_src/typeclass/Semimonoidal.ts +3 -2
  1352. package/_src/typeclass/Traversable.ts +13 -18
  1353. package/_src/typeclass/TraversableWithIndex.ts +5 -7
  1354. package/_src/typeclass/Witherable.ts +21 -13
  1355. package/_src/typeclass/WitherableWithIndex.ts +26 -17
  1356. package/_src/typeclass/builtin/Symbol.ts +0 -1
  1357. package/_src/typeclass.ts +9 -8
  1358. package/_src/types/extractions.ts +12 -3
  1359. package/_src/types/utility.ts +3 -5
  1360. package/_src/util/AnsiFormat.ts +0 -25
  1361. package/_src/util/PCGRandom.ts +4 -9
  1362. package/_src/util/assert.ts +1 -2
  1363. package/_src/util/pattern.ts +91 -12
  1364. package/_src/util/predicates.ts +3 -1
  1365. package/_src/util/rand/Random.ts +12 -16
  1366. package/_src/util/rand/distribution/Distribution.ts +0 -1
  1367. package/_src/util/rand/distribution/UniformArrayIntDistribution.ts +0 -3
  1368. package/_src/util/rand/distribution/UniformBigIntDistribution.ts +0 -5
  1369. package/_src/util/rand/distribution/UniformIntDistribution.ts +0 -7
  1370. package/_src/util/rand/distribution/internals/ArrayInt.ts +3 -13
  1371. package/_src/util/rand/distribution/internals/UniformArrayIntDistributionInternal.ts +0 -3
  1372. package/_src/util/rand/distribution/internals/UniformIntDistributionInternal.ts +0 -4
  1373. package/_src/util/rand/generator/MersenneTwister.ts +6 -29
  1374. package/_src/util/rand/generator/RandomGenerator.ts +0 -3
  1375. package/_src/util/rand.ts +0 -2
  1376. package/collection/Iterable/api/traverseConc.d.ts +2 -2
  1377. package/collection/Iterable/api.d.ts +71 -66
  1378. package/collection/Iterable/constructors.d.ts +1 -1
  1379. package/collection/compat/Array/api.d.ts +6 -6
  1380. package/collection/compat/Array.d.ts +0 -1
  1381. package/collection/compat/ArrayLike/api.d.ts +2 -2
  1382. package/collection/compat.d.ts +0 -1
  1383. package/collection/immutable/Conc/api.d.ts +108 -105
  1384. package/collection/immutable/Conc/definition.d.ts +4 -4
  1385. package/collection/immutable/Conc.d.ts +0 -1
  1386. package/collection/immutable/Dictionary/api.d.ts +12 -12
  1387. package/collection/immutable/Dictionary.d.ts +2 -0
  1388. package/collection/immutable/HashMap/api.d.ts +91 -85
  1389. package/collection/immutable/HashMap/definition.d.ts +13 -4
  1390. package/collection/immutable/HashSet/api.d.ts +66 -51
  1391. package/collection/immutable/HashSet/definition.d.ts +15 -6
  1392. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +2 -2
  1393. package/collection/immutable/ImmutableArray/api/slice.d.ts +2 -2
  1394. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +2 -2
  1395. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +3 -3
  1396. package/collection/immutable/ImmutableArray/api.d.ts +206 -206
  1397. package/collection/immutable/ImmutableArray/definition.d.ts +2 -2
  1398. package/collection/immutable/ImmutableArray.d.ts +0 -1
  1399. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +64 -63
  1400. package/collection/immutable/ImmutableNonEmptyArray.d.ts +0 -1
  1401. package/collection/immutable/List/api/foldLeft.d.ts +2 -2
  1402. package/collection/immutable/List/api.d.ts +28 -26
  1403. package/collection/immutable/List/constructors.d.ts +1 -1
  1404. package/collection/immutable/Queue/api.d.ts +23 -23
  1405. package/collection/immutable/Queue/guards.d.ts +1 -1
  1406. package/collection/immutable/RoseTree/api.d.ts +14 -14
  1407. package/collection/immutable/RoseTree/definition.d.ts +2 -2
  1408. package/collection/immutable/SortedMap/api.d.ts +47 -46
  1409. package/collection/immutable/SortedMap/definition.d.ts +3 -0
  1410. package/collection/immutable/Vector/api.d.ts +136 -132
  1411. package/collection/immutable/Vector/definition.d.ts +4 -4
  1412. package/collection/immutable/Vector/internal.d.ts +2 -2
  1413. package/collection/immutable.d.ts +1 -0
  1414. package/collection/mutable/HashMap.d.ts +2 -2
  1415. package/collection/mutable/HashSet.d.ts +2 -2
  1416. package/collection/mutable/ListBuffer.d.ts +1 -1
  1417. package/control/Eval/api.d.ts +12 -12
  1418. package/control/Z/api.d.ts +68 -68
  1419. package/control/Z/runtime.d.ts +10 -10
  1420. package/data/Branded.d.ts +0 -1
  1421. package/data/CaseClass.d.ts +2 -2
  1422. package/data/Cause/api/fold.d.ts +3 -3
  1423. package/data/Cause/api.d.ts +20 -20
  1424. package/data/Const/api.d.ts +3 -3
  1425. package/data/Datum/api.d.ts +44 -43
  1426. package/data/Datum/definition.d.ts +2 -2
  1427. package/data/DatumEither/api.d.ts +48 -46
  1428. package/data/DecodeError/definition.d.ts +2 -1
  1429. package/data/Decoder/api.d.ts +154 -6
  1430. package/data/Duration/api.d.ts +12 -7
  1431. package/data/Duration/definition.d.ts +2 -2
  1432. package/data/Either/api/align.d.ts +5 -1
  1433. package/data/Either/api/alignWith.d.ts +2 -2
  1434. package/data/Either/api.d.ts +40 -46
  1435. package/data/Either/constructors.d.ts +6 -6
  1436. package/data/Either/destructors.d.ts +2 -2
  1437. package/data/Either/instances.d.ts +1 -1
  1438. package/data/EitherT/api.d.ts +6 -6
  1439. package/data/Encoder/api.d.ts +214 -0
  1440. package/data/Encoder/definition.d.ts +16 -0
  1441. package/data/Encoder.d.ts +2 -0
  1442. package/data/Environment/api.d.ts +14 -14
  1443. package/data/Environment/definition.d.ts +2 -2
  1444. package/data/EnvironmentPatch.d.ts +4 -4
  1445. package/{typeclass → data}/Eq/definition.d.ts +3 -3
  1446. package/{typeclass → data}/Eq/derivations.d.ts +3 -3
  1447. package/{typeclass → data}/Eq.d.ts +0 -0
  1448. package/{typeclass → data}/Equatable/api.d.ts +2 -2
  1449. package/{typeclass → data}/Equatable/definition.d.ts +1 -1
  1450. package/{typeclass → data}/Equatable/fast-equals.d.ts +0 -0
  1451. package/{typeclass → data}/Equatable.d.ts +0 -0
  1452. package/data/ExecutionStrategy.d.ts +1 -6
  1453. package/data/Exit/api.d.ts +34 -34
  1454. package/data/Exit/constructors.d.ts +2 -2
  1455. package/data/Exit/definition.d.ts +1 -1
  1456. package/data/FiberId/api.d.ts +2 -2
  1457. package/data/FiberId/constructors.d.ts +1 -2
  1458. package/data/FiberId/definition.d.ts +7 -5
  1459. package/data/Guard/api.d.ts +242 -0
  1460. package/{typeclass → data}/Guard/definition.d.ts +4 -2
  1461. package/{typeclass → data}/Guard.d.ts +0 -0
  1462. package/{typeclass → data}/Hash.d.ts +1 -1
  1463. package/{typeclass → data}/HashEq.d.ts +6 -7
  1464. package/{typeclass → data}/Hashable/definition.d.ts +1 -1
  1465. package/{typeclass → data}/Hashable/hash.d.ts +11 -11
  1466. package/{typeclass → data}/Hashable.d.ts +0 -0
  1467. package/data/Identity/api.d.ts +8 -8
  1468. package/data/Interval.d.ts +13 -12
  1469. package/data/Intervals.d.ts +11 -11
  1470. package/data/Maybe/api.d.ts +36 -37
  1471. package/data/Maybe/constructors.d.ts +2 -2
  1472. package/data/Maybe/definition.d.ts +9 -5
  1473. package/data/Maybe/destructors.d.ts +2 -2
  1474. package/data/Maybe/instances.d.ts +7 -1
  1475. package/data/Ord/api/contramap.d.ts +6 -0
  1476. package/data/Ord/api/max.d.ts +7 -0
  1477. package/data/Ord/api/min.d.ts +7 -0
  1478. package/{typeclass → data}/Ord/api.d.ts +0 -0
  1479. package/data/Ord/definition.d.ts +19 -0
  1480. package/{typeclass → data}/Ord/instances.d.ts +3 -3
  1481. package/{typeclass → data}/Ord.d.ts +0 -0
  1482. package/{typeclass → data}/Ordering.d.ts +5 -5
  1483. package/data/Predicate/api.d.ts +5 -5
  1484. package/data/Refinement/api.d.ts +9 -9
  1485. package/data/Showable/definition.d.ts +17 -0
  1486. package/{typeclass → data}/Showable/show.d.ts +1 -1
  1487. package/{typeclass → data}/Showable/styles.d.ts +0 -0
  1488. package/{typeclass → data}/Showable/util.d.ts +0 -0
  1489. package/{typeclass → data}/Showable.d.ts +0 -0
  1490. package/data/Struct/api.d.ts +13 -23
  1491. package/data/Tag/constructors.d.ts +1 -2
  1492. package/data/Tag/definition.d.ts +2 -3
  1493. package/data/These/api.d.ts +18 -22
  1494. package/data/These/destructors.d.ts +4 -4
  1495. package/data/These/instances.d.ts +1 -1
  1496. package/data/Trace/api.d.ts +2 -2
  1497. package/data/bigint/instances.d.ts +1 -0
  1498. package/data/boolean/instances.d.ts +1 -0
  1499. package/data/function/api.d.ts +3 -3
  1500. package/data/function/pipe.d.ts +7 -1
  1501. package/data/number/instances.d.ts +1 -1
  1502. package/data/object/instances.d.ts +0 -6
  1503. package/data/string/api.d.ts +9 -49
  1504. package/data.d.ts +10 -0
  1505. package/global/api.d.ts +3 -3
  1506. package/global.d.ts +28 -12
  1507. package/internal/Stack.d.ts +1 -1
  1508. package/optics/At/definition.d.ts +1 -1
  1509. package/optics/Fold/definition.d.ts +2 -6
  1510. package/optics/Getter/definition.d.ts +1 -1
  1511. package/optics/Index/definition.d.ts +1 -1
  1512. package/optics/Iso/api.d.ts +2 -2
  1513. package/optics/Iso/definition.d.ts +2 -2
  1514. package/optics/Lens/api.d.ts +10 -10
  1515. package/optics/Lens/definition.d.ts +4 -4
  1516. package/optics/Optional/api/compose.d.ts +2 -2
  1517. package/optics/Optional/definition.d.ts +4 -8
  1518. package/optics/Prism/api/compose.d.ts +2 -2
  1519. package/optics/Prism/definition.d.ts +2 -2
  1520. package/optics/Setter/definition.d.ts +2 -14
  1521. package/optics/Traversal/api/compose.d.ts +2 -2
  1522. package/optics/Traversal/definition.d.ts +4 -4
  1523. package/package.json +2 -2
  1524. package/typeclass/Alt.d.ts +1 -1
  1525. package/typeclass/ApplicativeExcept.d.ts +2 -6
  1526. package/typeclass/Apply.d.ts +7 -7
  1527. package/typeclass/Chain.d.ts +4 -4
  1528. package/typeclass/Closure.d.ts +2 -2
  1529. package/typeclass/Filterable.d.ts +6 -6
  1530. package/typeclass/FilterableWithIndex.d.ts +6 -6
  1531. package/typeclass/Foldable.d.ts +4 -4
  1532. package/typeclass/FoldableWithIndex.d.ts +4 -4
  1533. package/typeclass/Functor.d.ts +2 -2
  1534. package/typeclass/FunctorWithIndex.d.ts +1 -1
  1535. package/typeclass/Has.d.ts +3 -3
  1536. package/typeclass/Semialign.d.ts +14 -14
  1537. package/typeclass/Semigroup/api.d.ts +1 -1
  1538. package/typeclass/Semigroup/definition.d.ts +2 -2
  1539. package/typeclass/Semimonoidal.d.ts +1 -1
  1540. package/typeclass/Traversable.d.ts +4 -6
  1541. package/typeclass/TraversableWithIndex.d.ts +2 -2
  1542. package/typeclass/Witherable.d.ts +3 -3
  1543. package/typeclass/WitherableWithIndex.d.ts +5 -5
  1544. package/typeclass.d.ts +8 -8
  1545. package/types/extractions.d.ts +10 -6
  1546. package/util/assert.d.ts +1 -1
  1547. package/_cjs/collection/compat/Array/derivations.cjs +0 -96
  1548. package/_cjs/collection/compat/Array/derivations.cjs.map +0 -1
  1549. package/_cjs/collection/compat/Record/instances.cjs +0 -128
  1550. package/_cjs/collection/compat/Record/instances.cjs.map +0 -1
  1551. package/_cjs/collection/compat/Record.cjs +0 -19
  1552. package/_cjs/collection/compat/Record.cjs.map +0 -1
  1553. package/_cjs/collection/immutable/Conc/derivations.cjs +0 -45
  1554. package/_cjs/collection/immutable/Conc/derivations.cjs.map +0 -1
  1555. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +0 -41
  1556. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +0 -1
  1557. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +0 -62
  1558. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +0 -1
  1559. package/_cjs/data/Branded/derivations.cjs +0 -58
  1560. package/_cjs/data/Branded/derivations.cjs.map +0 -1
  1561. package/_cjs/typeclass/Eq/definition.cjs.map +0 -1
  1562. package/_cjs/typeclass/Eq/derivations.cjs.map +0 -1
  1563. package/_cjs/typeclass/Eq.cjs.map +0 -1
  1564. package/_cjs/typeclass/Equatable/api.cjs.map +0 -1
  1565. package/_cjs/typeclass/Equatable/definition.cjs.map +0 -1
  1566. package/_cjs/typeclass/Equatable/fast-equals.cjs.map +0 -1
  1567. package/_cjs/typeclass/Equatable.cjs.map +0 -1
  1568. package/_cjs/typeclass/Guard/api.cjs +0 -40
  1569. package/_cjs/typeclass/Guard/api.cjs.map +0 -1
  1570. package/_cjs/typeclass/Guard/definition.cjs.map +0 -1
  1571. package/_cjs/typeclass/Guard/derivations.cjs +0 -85
  1572. package/_cjs/typeclass/Guard/derivations.cjs.map +0 -1
  1573. package/_cjs/typeclass/Guard.cjs.map +0 -1
  1574. package/_cjs/typeclass/Hash.cjs.map +0 -1
  1575. package/_cjs/typeclass/HashEq.cjs.map +0 -1
  1576. package/_cjs/typeclass/Hashable/definition.cjs.map +0 -1
  1577. package/_cjs/typeclass/Hashable/hash.cjs.map +0 -1
  1578. package/_cjs/typeclass/Hashable.cjs.map +0 -1
  1579. package/_cjs/typeclass/Ord/api/contramap.cjs +0 -17
  1580. package/_cjs/typeclass/Ord/api/contramap.cjs.map +0 -1
  1581. package/_cjs/typeclass/Ord/api/max.cjs.map +0 -1
  1582. package/_cjs/typeclass/Ord/api/min.cjs.map +0 -1
  1583. package/_cjs/typeclass/Ord/api.cjs.map +0 -1
  1584. package/_cjs/typeclass/Ord/definition.cjs.map +0 -1
  1585. package/_cjs/typeclass/Ord/instances.cjs.map +0 -1
  1586. package/_cjs/typeclass/Ord.cjs.map +0 -1
  1587. package/_cjs/typeclass/Ordering.cjs.map +0 -1
  1588. package/_cjs/typeclass/Showable/definition.cjs.map +0 -1
  1589. package/_cjs/typeclass/Showable/show.cjs.map +0 -1
  1590. package/_cjs/typeclass/Showable/styles.cjs.map +0 -1
  1591. package/_cjs/typeclass/Showable/util.cjs.map +0 -1
  1592. package/_cjs/typeclass/Showable.cjs.map +0 -1
  1593. package/_mjs/collection/compat/Array/derivations.mjs +0 -70
  1594. package/_mjs/collection/compat/Array/derivations.mjs.map +0 -1
  1595. package/_mjs/collection/compat/Record/instances.mjs +0 -105
  1596. package/_mjs/collection/compat/Record/instances.mjs.map +0 -1
  1597. package/_mjs/collection/compat/Record.mjs +0 -3
  1598. package/_mjs/collection/compat/Record.mjs.map +0 -1
  1599. package/_mjs/collection/immutable/Conc/derivations.mjs +0 -27
  1600. package/_mjs/collection/immutable/Conc/derivations.mjs.map +0 -1
  1601. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +0 -25
  1602. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +0 -1
  1603. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +0 -39
  1604. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +0 -1
  1605. package/_mjs/data/Branded/derivations.mjs +0 -40
  1606. package/_mjs/data/Branded/derivations.mjs.map +0 -1
  1607. package/_mjs/typeclass/Eq/definition.mjs.map +0 -1
  1608. package/_mjs/typeclass/Eq/derivations.mjs.map +0 -1
  1609. package/_mjs/typeclass/Eq.mjs.map +0 -1
  1610. package/_mjs/typeclass/Equatable/api.mjs.map +0 -1
  1611. package/_mjs/typeclass/Equatable/definition.mjs.map +0 -1
  1612. package/_mjs/typeclass/Equatable/fast-equals.mjs.map +0 -1
  1613. package/_mjs/typeclass/Equatable.mjs.map +0 -1
  1614. package/_mjs/typeclass/Guard/api.mjs +0 -24
  1615. package/_mjs/typeclass/Guard/api.mjs.map +0 -1
  1616. package/_mjs/typeclass/Guard/definition.mjs.map +0 -1
  1617. package/_mjs/typeclass/Guard/derivations.mjs +0 -67
  1618. package/_mjs/typeclass/Guard/derivations.mjs.map +0 -1
  1619. package/_mjs/typeclass/Guard.mjs +0 -4
  1620. package/_mjs/typeclass/Guard.mjs.map +0 -1
  1621. package/_mjs/typeclass/Hash.mjs.map +0 -1
  1622. package/_mjs/typeclass/HashEq.mjs +0 -33
  1623. package/_mjs/typeclass/HashEq.mjs.map +0 -1
  1624. package/_mjs/typeclass/Hashable/definition.mjs.map +0 -1
  1625. package/_mjs/typeclass/Hashable/hash.mjs.map +0 -1
  1626. package/_mjs/typeclass/Hashable.mjs.map +0 -1
  1627. package/_mjs/typeclass/Ord/api/contramap.mjs +0 -10
  1628. package/_mjs/typeclass/Ord/api/contramap.mjs.map +0 -1
  1629. package/_mjs/typeclass/Ord/api/max.mjs +0 -8
  1630. package/_mjs/typeclass/Ord/api/max.mjs.map +0 -1
  1631. package/_mjs/typeclass/Ord/api/min.mjs +0 -8
  1632. package/_mjs/typeclass/Ord/api/min.mjs.map +0 -1
  1633. package/_mjs/typeclass/Ord/api.mjs.map +0 -1
  1634. package/_mjs/typeclass/Ord/definition.mjs +0 -13
  1635. package/_mjs/typeclass/Ord/definition.mjs.map +0 -1
  1636. package/_mjs/typeclass/Ord/instances.mjs +0 -37
  1637. package/_mjs/typeclass/Ord/instances.mjs.map +0 -1
  1638. package/_mjs/typeclass/Ord.mjs.map +0 -1
  1639. package/_mjs/typeclass/Ordering.mjs.map +0 -1
  1640. package/_mjs/typeclass/Showable/definition.mjs.map +0 -1
  1641. package/_mjs/typeclass/Showable/show.mjs.map +0 -1
  1642. package/_mjs/typeclass/Showable/styles.mjs.map +0 -1
  1643. package/_mjs/typeclass/Showable/util.mjs.map +0 -1
  1644. package/_mjs/typeclass/Showable.mjs.map +0 -1
  1645. package/_src/collection/compat/Array/derivations.ts +0 -85
  1646. package/_src/collection/compat/Record/instances.ts +0 -102
  1647. package/_src/collection/compat/Record.ts +0 -3
  1648. package/_src/collection/immutable/Conc/derivations.ts +0 -28
  1649. package/_src/collection/immutable/ImmutableArray/derivations.ts +0 -28
  1650. package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +0 -44
  1651. package/_src/data/Branded/derivations.ts +0 -58
  1652. package/_src/typeclass/Guard/api.ts +0 -32
  1653. package/_src/typeclass/Guard/derivations.ts +0 -81
  1654. package/_src/typeclass/Guard.ts +0 -4
  1655. package/_src/typeclass/Ord/api/contramap.ts +0 -11
  1656. package/_src/typeclass/Ord/api/max.ts +0 -9
  1657. package/_src/typeclass/Ord/api/min.ts +0 -9
  1658. package/collection/compat/Array/derivations.d.ts +0 -24
  1659. package/collection/compat/Record/instances.d.ts +0 -22
  1660. package/collection/compat/Record.d.ts +0 -1
  1661. package/collection/immutable/Conc/derivations.d.ts +0 -14
  1662. package/collection/immutable/ImmutableArray/derivations.d.ts +0 -14
  1663. package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +0 -14
  1664. package/data/Branded/derivations.d.ts +0 -24
  1665. package/typeclass/Guard/api.d.ts +0 -20
  1666. package/typeclass/Guard/derivations.d.ts +0 -36
  1667. package/typeclass/Ord/api/contramap.d.ts +0 -6
  1668. package/typeclass/Ord/api/max.d.ts +0 -7
  1669. package/typeclass/Ord/api/min.d.ts +0 -7
  1670. package/typeclass/Ord/definition.d.ts +0 -19
  1671. package/typeclass/Showable/definition.d.ts +0 -17
@@ -1,5 +1,6 @@
1
1
  import type { Concat, ConcF } from "@fncts/base/collection/immutable/Conc/definition";
2
2
  import type { Eq } from "@fncts/base/typeclass";
3
+ import type * as P from "@fncts/base/typeclass";
3
4
 
4
5
  import {
5
6
  _Empty,
@@ -11,49 +12,53 @@ import {
11
12
  Slice,
12
13
  } from "@fncts/base/collection/immutable/Conc/definition";
13
14
  import { EitherTag } from "@fncts/base/data/Either";
14
- import { identity, tuple } from "@fncts/base/data/function";
15
+ import { identity, pipe, tuple } from "@fncts/base/data/function";
15
16
  import { Stack } from "@fncts/base/internal/Stack";
16
- import * as P from "@fncts/base/typeclass";
17
17
 
18
18
  /**
19
- * @tsplus fluent fncts.Conc align
19
+ * @tsplus pipeable fncts.Conc align
20
20
  */
21
- export function align_<A, B>(self: Conc<A>, fb: Conc<B>): Conc<These<A, B>> {
22
- return self.alignWith(fb, identity);
21
+ export function align<B>(fb: Conc<B>) {
22
+ return <A>(self: Conc<A>): Conc<These<A, B>> => {
23
+ return self.alignWith(fb, identity);
24
+ };
23
25
  }
24
26
 
25
27
  /**
26
- * @tsplus fluent fncts.Conc alignWith
28
+ * @tsplus pipeable fncts.Conc alignWith
27
29
  */
28
- export function alignWith_<A, B, C>(self: Conc<A>, fb: Conc<B>, f: (_: These<A, B>) => C): Conc<C> {
29
- concrete(self);
30
- concrete(fb);
31
- const out = builder<C>();
32
- const minlen = Math.min(self.length, fb.length);
33
- const maxlen = Math.max(self.length, fb.length);
34
- for (let i = 0; i < minlen; i++) {
35
- out.append(f(These.both(self.get(i), fb.get(i))));
36
- }
37
- if (minlen === maxlen) {
38
- return out.result();
39
- } else if (self.length > fb.length) {
40
- for (let i = minlen; i < maxlen; i++) {
41
- out.append(f(These.left(self.get(i))));
30
+ export function alignWith<A, B, C>(fb: Conc<B>, f: (_: These<A, B>) => C) {
31
+ return (self: Conc<A>): Conc<C> => {
32
+ concrete(self);
33
+ concrete(fb);
34
+ const out = builder<C>();
35
+ const minlen = Math.min(self.length, fb.length);
36
+ const maxlen = Math.max(self.length, fb.length);
37
+ for (let i = 0; i < minlen; i++) {
38
+ out.append(f(These.both(self.get(i), fb.get(i))));
42
39
  }
43
- } else {
44
- for (let i = minlen; i < maxlen; i++) {
45
- out.append(f(These.right(fb.get(i))));
40
+ if (minlen === maxlen) {
41
+ return out.result();
42
+ } else if (self.length > fb.length) {
43
+ for (let i = minlen; i < maxlen; i++) {
44
+ out.append(f(These.left(self.get(i))));
45
+ }
46
+ } else {
47
+ for (let i = minlen; i < maxlen; i++) {
48
+ out.append(f(These.right(fb.get(i))));
49
+ }
46
50
  }
47
- }
48
- return out.result();
51
+ return out.result();
52
+ };
49
53
  }
50
-
51
54
  /**
52
- * @tsplus fluent fncts.Conc append
55
+ * @tsplus pipeable fncts.Conc append
53
56
  */
54
- export function append_<A1, A2>(self: Conc<A1>, a: A2): Conc<A1 | A2> {
55
- concrete(self);
56
- return self.append(a);
57
+ export function append<A2>(a: A2) {
58
+ return <A1>(self: Conc<A1>): Conc<A1 | A2> => {
59
+ concrete(self);
60
+ return self.append(a);
61
+ };
57
62
  }
58
63
 
59
64
  export class ConcBuilder<A> {
@@ -75,22 +80,24 @@ export function builder<A>(): ConcBuilder<A> {
75
80
  }
76
81
 
77
82
  /**
78
- * @tsplus fluent fncts.Conc flatMap
83
+ * @tsplus pipeable fncts.Conc flatMap
79
84
  */
80
- export function flatMap_<A, B>(ma: Conc<A>, f: (a: A) => Conc<B>): Conc<B> {
81
- concrete(ma);
82
- const iterator = ma.arrayIterator();
83
- let result: IteratorResult<ArrayLike<A>>;
84
- let out = Conc.empty<B>();
85
- while (!(result = iterator.next()).done) {
86
- const arr = result.value;
87
- const length = arr.length;
88
- for (let i = 0; i < length; i++) {
89
- const a = arr[i]!;
90
- out = out.concat(f(a));
85
+ export function flatMap<A, B>(f: (a: A) => Conc<B>) {
86
+ return (ma: Conc<A>): Conc<B> => {
87
+ concrete(ma);
88
+ const iterator = ma.arrayIterator();
89
+ let result: IteratorResult<ArrayLike<A>>;
90
+ let out = Conc.empty<B>();
91
+ while (!(result = iterator.next()).done) {
92
+ const arr = result.value;
93
+ const length = arr.length;
94
+ for (let i = 0; i < length; i++) {
95
+ const a = arr[i]!;
96
+ out = out.concat(f(a));
97
+ }
91
98
  }
92
- }
93
- return out;
99
+ return out;
100
+ };
94
101
  }
95
102
 
96
103
  /**
@@ -145,55 +152,60 @@ export function chainRecBreadthFirst<A, B>(a: A, f: (a: A) => Conc<Either<A, B>>
145
152
  }
146
153
 
147
154
  /**
148
- * @tsplus fluent fncts.Conc chop
155
+ * @tsplus pipeable fncts.Conc chop
149
156
  */
150
- export function chop_<A, B>(self: Conc<A>, f: (as: Conc<A>) => readonly [B, Conc<A>]): Conc<B> {
151
- const out = builder<B>();
152
- let cs: Conc<A> = self;
153
- while (cs.isNonEmpty) {
154
- const [b, c] = f(cs);
155
- out.append(b);
156
- cs = c;
157
- }
158
- return out.result();
157
+ export function chop<A, B>(f: (as: Conc<A>) => readonly [B, Conc<A>]) {
158
+ return (self: Conc<A>): Conc<B> => {
159
+ const out = builder<B>();
160
+ let cs: Conc<A> = self;
161
+ while (cs.isNonEmpty) {
162
+ const [b, c] = f(cs);
163
+ out.append(b);
164
+ cs = c;
165
+ }
166
+ return out.result();
167
+ };
159
168
  }
160
169
 
161
170
  /**
162
- * @tsplus fluent fncts.Conc chunksOf
171
+ * @tsplus pipeable fncts.Conc chunksOf
163
172
  */
164
- export function chunksOf_<A>(self: Conc<A>, n: number): Conc<Conc<A>> {
165
- return self.chop((as) => as.splitAt(n));
173
+ export function chunksOf(n: number) {
174
+ return <A>(self: Conc<A>): Conc<Conc<A>> => {
175
+ return self.chop((as) => as.splitAt(n));
176
+ };
166
177
  }
167
178
 
168
179
  /**
169
180
  * Transforms all elements of the Conc for as long as the specified partial function is defined.
170
181
  *
171
- * @tsplus fluent fncts.Conc collectWhile
172
- */
173
- export function collectWhile_<A, B>(as: Conc<A>, f: (a: A) => Maybe<B>): Conc<B> {
174
- concrete(as);
175
-
176
- switch (as._tag) {
177
- case ConcTag.Singleton: {
178
- return f(as.value).match(() => Conc.empty(), Conc.single);
179
- }
180
- case ConcTag.Chunk: {
181
- const array = as.arrayLike();
182
- let dest = Conc.empty<B>();
183
- for (let i = 0; i < array.length; i++) {
184
- const rhs = f(array[i]!);
185
- if (rhs.isJust()) {
186
- dest = dest.append(rhs.value);
187
- } else {
188
- return dest;
182
+ * @tsplus pipeable fncts.Conc collectWhile
183
+ */
184
+ export function collectWhile<A, B>(f: (a: A) => Maybe<B>) {
185
+ return (as: Conc<A>): Conc<B> => {
186
+ concrete(as);
187
+ switch (as._tag) {
188
+ case ConcTag.Singleton: {
189
+ return f(as.value).match(() => Conc.empty(), Conc.single);
190
+ }
191
+ case ConcTag.Chunk: {
192
+ const array = as.arrayLike();
193
+ let dest = Conc.empty<B>();
194
+ for (let i = 0; i < array.length; i++) {
195
+ const rhs = f(array[i]!);
196
+ if (rhs.isJust()) {
197
+ dest = dest.append(rhs.value);
198
+ } else {
199
+ return dest;
200
+ }
189
201
  }
202
+ return dest;
203
+ }
204
+ default: {
205
+ return (as.materialize() as Conc<A>).collectWhile(f);
190
206
  }
191
- return dest;
192
- }
193
- default: {
194
- return collectWhile_(as.materialize(), f);
195
207
  }
196
- }
208
+ };
197
209
  }
198
210
 
199
211
  /**
@@ -204,219 +216,241 @@ export function compact<A>(self: Conc<Maybe<A>>): Conc<A> {
204
216
  }
205
217
 
206
218
  /**
207
- * @tsplus fluent fncts.Conc concat
219
+ * @tsplus pipeable fncts.Conc concat
208
220
  */
209
- export function concat_<A, B>(self: Conc<A>, that: Conc<B>): Conc<A | B> {
210
- concrete(self);
211
- concrete(that);
212
- return self.concat(that);
221
+ export function concat<B>(that: Conc<B>) {
222
+ return <A>(self: Conc<A>): Conc<A | B> => {
223
+ concrete(self);
224
+ concrete(that);
225
+ return self.concat(that);
226
+ };
213
227
  }
214
228
 
215
229
  /**
216
- * @tsplus fluent fncts.Conc elem
230
+ * @tsplus pipeable fncts.Conc elem
217
231
  */
218
- export function elem_<A>(self: Conc<A>, a: A, /** @tsplus auto */ E: Eq<A>): boolean {
219
- return self.exists((el) => E.equals(el, a));
232
+ export function elem<A>(a: A, /** @tsplus auto */ E: Eq<A>) {
233
+ return (self: Conc<A>): boolean => {
234
+ return self.some((el) => E.equals(a)(el));
235
+ };
220
236
  }
221
237
 
222
238
  /**
223
- * @tsplus fluent fncts.Conc exists
239
+ * @tsplus pipeable fncts.Conc some
224
240
  */
225
- export function exists_<A>(as: Conc<A>, predicate: Predicate<A>): boolean {
226
- concrete(as);
227
- const iterator = as.arrayIterator();
228
- let exists = false;
229
- let result: IteratorResult<ArrayLike<A>>;
230
- while (!exists && !(result = iterator.next()).done) {
231
- const array = result.value;
232
- for (let i = 0; !exists && i < array.length; i++) {
233
- exists = predicate(array[i]!);
241
+ export function some<A>(predicate: Predicate<A>) {
242
+ return (as: Conc<A>): boolean => {
243
+ concrete(as);
244
+ const iterator = as.arrayIterator();
245
+ let exists = false;
246
+ let result: IteratorResult<ArrayLike<A>>;
247
+ while (!exists && !(result = iterator.next()).done) {
248
+ const array = result.value;
249
+ for (let i = 0; !exists && i < array.length; i++) {
250
+ exists = predicate(array[i]!);
251
+ }
234
252
  }
235
- }
236
- return exists;
253
+ return exists;
254
+ };
237
255
  }
238
256
 
239
257
  /**
240
- * @tsplus fluent fncts.Conc drop
258
+ * @tsplus pipeable fncts.Conc drop
241
259
  */
242
- export function drop_<A>(self: Conc<A>, n: number): Conc<A> {
243
- concrete(self);
244
- const len = self.length;
245
- if (len <= 0) {
246
- return self;
247
- } else if (n >= len) {
248
- return Conc.empty();
249
- } else {
250
- switch (self._tag) {
251
- case ConcTag.Slice:
252
- return new Slice(self.conc, self.offset + n, self.l - n);
253
- case ConcTag.Singleton:
254
- return n > 0 ? Conc.empty() : self;
255
- case ConcTag.Empty:
256
- return Conc.empty();
257
- default:
258
- return new Slice(self, n, len - n);
260
+ export function drop(n: number) {
261
+ return <A>(self: Conc<A>): Conc<A> => {
262
+ concrete(self);
263
+ const len = self.length;
264
+ if (len <= 0) {
265
+ return self;
266
+ } else if (n >= len) {
267
+ return Conc.empty();
268
+ } else {
269
+ switch (self._tag) {
270
+ case ConcTag.Slice:
271
+ return new Slice(self.conc, self.offset + n, self.l - n);
272
+ case ConcTag.Singleton:
273
+ return n > 0 ? Conc.empty() : self;
274
+ case ConcTag.Empty:
275
+ return Conc.empty();
276
+ default:
277
+ return new Slice(self, n, len - n);
278
+ }
259
279
  }
260
- }
280
+ };
261
281
  }
262
282
 
263
283
  /**
264
- * @tsplus fluent fncts.Conc dropUntil
284
+ * @tsplus pipeable fncts.Conc dropUntil
265
285
  */
266
- export function dropUntil<A>(self: Conc<A>, p: Predicate<A>): Conc<A> {
267
- let cont = true;
268
- let i = 0;
269
- for (const elem of self) {
270
- if (!cont) {
271
- break;
286
+ export function dropUntil<A>(p: Predicate<A>) {
287
+ return (self: Conc<A>): Conc<A> => {
288
+ let cont = true;
289
+ let i = 0;
290
+ for (const elem of self) {
291
+ if (!cont) {
292
+ break;
293
+ }
294
+ i++;
295
+ cont = !p(elem);
272
296
  }
273
- i++;
274
- cont = !p(elem);
275
- }
276
- return self.drop(i);
297
+ return self.drop(i);
298
+ };
277
299
  }
278
300
 
279
301
  /**
280
- * @tsplus fluent fncts.Conc dropWhile
302
+ * @tsplus pipeable fncts.Conc dropWhile
281
303
  */
282
- export function dropWhile_<A>(self: Conc<A>, p: Predicate<A>): Conc<A> {
283
- concrete(self);
284
- switch (self._tag) {
285
- case ConcTag.Chunk: {
286
- const arr = self.arrayLike();
287
- let i = 0;
288
- while (i < arr.length && p(arr[i]!)) {
289
- i++;
304
+ export function dropWhile<A>(p: Predicate<A>) {
305
+ return (self: Conc<A>): Conc<A> => {
306
+ concrete(self);
307
+ switch (self._tag) {
308
+ case ConcTag.Chunk: {
309
+ const arr = self.arrayLike();
310
+ let i = 0;
311
+ while (i < arr.length && p(arr[i]!)) {
312
+ i++;
313
+ }
314
+ return (self as Conc<A>).drop(i);
290
315
  }
291
- return drop_(self, i);
292
- }
293
- default: {
294
- const iterator = self.arrayIterator();
295
- let result: IteratorResult<ArrayLike<A>>;
296
- let cont = true;
297
- let i = 0;
298
- while (cont && !(result = iterator.next()).done) {
299
- const array = result.value;
300
- let j = 0;
301
- while (cont && j < array.length) {
302
- if (p(array[j]!)) {
303
- i++;
304
- j++;
305
- } else {
306
- cont = false;
316
+ default: {
317
+ const iterator = self.arrayIterator();
318
+ let result: IteratorResult<ArrayLike<A>>;
319
+ let cont = true;
320
+ let i = 0;
321
+ while (cont && !(result = iterator.next()).done) {
322
+ const array = result.value;
323
+ let j = 0;
324
+ while (cont && j < array.length) {
325
+ if (p(array[j]!)) {
326
+ i++;
327
+ j++;
328
+ } else {
329
+ cont = false;
330
+ }
307
331
  }
308
332
  }
333
+ return (self as Conc<A>).drop(i);
309
334
  }
310
- return drop_(self, i);
311
335
  }
312
- }
336
+ };
313
337
  }
314
338
 
315
339
  /**
316
- * @tsplus fluent fncts.Conc filter
340
+ * @tsplus pipeable fncts.Conc filter
317
341
  */
318
- export function filter_<A, B extends A>(self: Conc<A>, p: Refinement<A, B>): Conc<B>;
319
- export function filter_<A>(self: Conc<A>, p: Predicate<A>): Conc<A>;
320
- export function filter_<A>(self: Conc<A>, p: Predicate<A>): Conc<A> {
321
- return self.filterWithIndex((_, a) => p(a));
342
+ export function filter<A, B extends A>(p: Refinement<A, B>): (self: Conc<A>) => Conc<B>;
343
+ export function filter<A>(p: Predicate<A>): (self: Conc<A>) => Conc<A>;
344
+ export function filter<A>(p: Predicate<A>) {
345
+ return (self: Conc<A>): Conc<A> => {
346
+ return self.filterWithIndex((_, a) => p(a));
347
+ };
322
348
  }
323
349
 
324
350
  /**
325
- * @tsplus fluent fncts.Conc filterMap
351
+ * @tsplus pipeable fncts.Conc filterMap
326
352
  */
327
- export function filterMap_<A, B>(self: Conc<A>, f: (a: A) => Maybe<B>): Conc<B> {
328
- return self.filterMapWithIndex((_, a) => f(a));
353
+ export function filterMap<A, B>(f: (a: A) => Maybe<B>) {
354
+ return (self: Conc<A>): Conc<B> => {
355
+ return self.filterMapWithIndex((_, a) => f(a));
356
+ };
329
357
  }
330
358
 
331
359
  /**
332
- * @tsplus fluent fncts.Conc filterMapWithIndex
360
+ * @tsplus pipeable fncts.Conc filterMapWithIndex
333
361
  */
334
- export function filterMapWithIndex_<A, B>(self: Conc<A>, f: (i: number, a: A) => Maybe<B>): Conc<B> {
335
- concrete(self);
336
- const iterator = self.arrayIterator();
337
- const out = builder<B>();
338
- let result: IteratorResult<ArrayLike<A>>;
339
- let i = 0;
340
- while (!(result = iterator.next()).done) {
341
- const array = result.value;
342
- for (let j = 0; j < array.length; j++) {
343
- const ob = f(i, array[j]!);
344
- if (ob.isJust()) {
345
- out.append(ob.value);
362
+ export function filterMapWithIndex<A, B>(f: (i: number, a: A) => Maybe<B>) {
363
+ return (self: Conc<A>): Conc<B> => {
364
+ concrete(self);
365
+ const iterator = self.arrayIterator();
366
+ const out = builder<B>();
367
+ let result: IteratorResult<ArrayLike<A>>;
368
+ let i = 0;
369
+ while (!(result = iterator.next()).done) {
370
+ const array = result.value;
371
+ for (let j = 0; j < array.length; j++) {
372
+ const ob = f(i, array[j]!);
373
+ if (ob.isJust()) {
374
+ out.append(ob.value);
375
+ }
376
+ i++;
346
377
  }
347
- i++;
348
378
  }
349
- }
350
- return out.result();
379
+ return out.result();
380
+ };
351
381
  }
352
382
 
353
383
  /**
354
- * @tsplus fluent fncts.Conc filterWithIndex
384
+ * @tsplus pipeable fncts.Conc filterWithIndex
355
385
  */
356
- export function filterWithIndex_<A, B extends A>(self: Conc<A>, p: RefinementWithIndex<number, A, B>): Conc<B>;
357
- export function filterWithIndex_<A>(self: Conc<A>, p: PredicateWithIndex<number, A>): Conc<A>;
358
- export function filterWithIndex_<A>(self: Conc<A>, p: PredicateWithIndex<number, A>): Conc<A> {
359
- concrete(self);
360
- switch (self._tag) {
361
- case ConcTag.Empty: {
362
- return _Empty;
363
- }
364
- case ConcTag.Chunk: {
365
- const arr = self.arrayLike();
366
- let builder = Conc.empty<A>();
367
- for (let i = 0; i < arr.length; i++) {
368
- const a = arr[i]!;
369
- if (p(i, a)) {
370
- builder = builder.append(a);
386
+ export function filterWithIndex<A, B extends A>(p: RefinementWithIndex<number, A, B>): (self: Conc<A>) => Conc<B>;
387
+ export function filterWithIndex<A>(p: PredicateWithIndex<number, A>): (self: Conc<A>) => Conc<A>;
388
+ export function filterWithIndex<A>(p: PredicateWithIndex<number, A>) {
389
+ return (self: Conc<A>): Conc<A> => {
390
+ concrete(self);
391
+ switch (self._tag) {
392
+ case ConcTag.Empty: {
393
+ return _Empty;
394
+ }
395
+ case ConcTag.Chunk: {
396
+ const arr = self.arrayLike();
397
+ let builder = Conc.empty<A>();
398
+ for (let i = 0; i < arr.length; i++) {
399
+ const a = arr[i]!;
400
+ if (p(i, a)) {
401
+ builder = builder.append(a);
402
+ }
371
403
  }
404
+ return builder;
372
405
  }
373
- return builder;
374
- }
375
- case ConcTag.Singleton: {
376
- if (p(0, self.value)) {
377
- return self;
406
+ case ConcTag.Singleton: {
407
+ if (p(0, self.value)) {
408
+ return self;
409
+ }
410
+ return _Empty;
378
411
  }
379
- return _Empty;
380
- }
381
- default: {
382
- const iterator = self.arrayIterator();
383
- let out = Conc.empty<A>();
384
- let result: IteratorResult<ArrayLike<A>>;
385
- let i = 0;
386
- while (!(result = iterator.next()).done) {
387
- const array = result.value;
388
- for (let j = 0; j < array.length; j++) {
389
- const a = array[j]!;
390
- if (p(i, a)) {
391
- out = out.append(a);
412
+ default: {
413
+ const iterator = self.arrayIterator();
414
+ let out = Conc.empty<A>();
415
+ let result: IteratorResult<ArrayLike<A>>;
416
+ let i = 0;
417
+ while (!(result = iterator.next()).done) {
418
+ const array = result.value;
419
+ for (let j = 0; j < array.length; j++) {
420
+ const a = array[j]!;
421
+ if (p(i, a)) {
422
+ out = out.append(a);
423
+ }
424
+ i++;
392
425
  }
393
- i++;
394
426
  }
427
+ return out;
395
428
  }
396
- return out;
397
429
  }
398
- }
430
+ };
399
431
  }
400
432
 
401
433
  /**
402
- * @tsplus fluent fncts.Conc find
434
+ * @tsplus pipeable fncts.Conc find
403
435
  */
404
- export function find_<A>(self: Conc<A>, f: (a: A) => boolean): Maybe<A> {
405
- concrete(self);
406
- const iterator = self.arrayIterator();
407
- let out = Nothing<A>();
408
- let result: IteratorResult<ArrayLike<A>>;
409
- while (out.isNothing() && !(result = iterator.next()).done) {
410
- const array = result.value;
411
- const length = array.length;
412
- for (let i = 0; out.isNothing() && i < length; i++) {
413
- const a = array[i]!;
414
- if (f(a)) {
415
- out = Just(a);
436
+ export function find<A>(f: (a: A) => boolean) {
437
+ return (self: Conc<A>): Maybe<A> => {
438
+ concrete(self);
439
+ const iterator = self.arrayIterator();
440
+ let out = Nothing<A>();
441
+ let result: IteratorResult<ArrayLike<A>>;
442
+ while (out.isNothing() && !(result = iterator.next()).done) {
443
+ const array = result.value;
444
+ const length = array.length;
445
+ for (let i = 0; out.isNothing() && i < length; i++) {
446
+ const a = array[i]!;
447
+ if (f(a)) {
448
+ out = Just(a);
449
+ }
416
450
  }
417
451
  }
418
- }
419
- return out;
452
+ return out;
453
+ };
420
454
  }
421
455
 
422
456
  /**
@@ -425,115 +459,136 @@ export function find_<A>(self: Conc<A>, f: (a: A) => boolean): Maybe<A> {
425
459
  export function flatten<A>(self: Conc<Conc<A>>): Conc<A> {
426
460
  return self.flatMap(identity);
427
461
  }
462
+
428
463
  /**
429
464
  * Folds over the elements in this Conc from the left.
430
465
  * Stops the fold early when the condition is not fulfilled.
431
466
  *
432
- * @tsplus fluent fncts.Conc foldLeftWhile
433
- */
434
- export function foldLeftWhile_<A, B>(as: Conc<A>, b: B, p: Predicate<B>, f: (b: B, a: A) => B): B {
435
- concrete(as);
436
- const iterator = as.arrayIterator();
437
- let s = b;
438
- let cont = p(s);
439
- let result: IteratorResult<ArrayLike<A>>;
440
- while (cont && !(result = iterator.next()).done) {
441
- const array = result.value;
442
- for (let i = 0; cont && i < array.length; i++) {
443
- s = f(s, array[i]!);
444
- cont = p(s);
467
+ * @tsplus pipeable fncts.Conc foldLeftWhile
468
+ */
469
+ export function foldLeftWhile<A, B>(b: B, p: Predicate<B>, f: (b: B, a: A) => B) {
470
+ return (as: Conc<A>): B => {
471
+ concrete(as);
472
+ const iterator = as.arrayIterator();
473
+ let s = b;
474
+ let cont = p(s);
475
+ let result: IteratorResult<ArrayLike<A>>;
476
+ while (cont && !(result = iterator.next()).done) {
477
+ const array = result.value;
478
+ for (let i = 0; cont && i < array.length; i++) {
479
+ s = f(s, array[i]!);
480
+ cont = p(s);
481
+ }
445
482
  }
446
- }
447
- return s;
483
+ return s;
484
+ };
448
485
  }
449
486
 
450
487
  /**
451
- * @tsplus fluent fncts.Conc foldLeft
488
+ * @tsplus pipeable fncts.Conc foldLeft
452
489
  */
453
- export function foldLeft_<A, B>(self: Conc<A>, b: B, f: (b: B, a: A) => B): B {
454
- return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
490
+ export function foldLeft<A, B>(b: B, f: (b: B, a: A) => B) {
491
+ return (self: Conc<A>): B => {
492
+ return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
493
+ };
455
494
  }
456
495
 
457
496
  /**
458
- * @tsplus fluent fncts.Conc foldLeftWithIndex
497
+ * @tsplus pipeable fncts.Conc foldLeftWithIndex
459
498
  */
460
- export function foldLeftWithIndex_<A, B>(self: Conc<A>, b: B, f: (i: number, b: B, a: A) => B): B {
461
- concrete(self);
462
- const iterator = self.arrayIterator();
463
- let out = b;
464
- let result: IteratorResult<ArrayLike<A>>;
465
- let i = 0;
466
- while (!(result = iterator.next()).done) {
467
- const array = result.value;
468
- for (let j = 0; j < array.length; j++) {
469
- out = f(i, out, array[j]!);
470
- i++;
499
+ export function foldLeftWithIndex<A, B>(b: B, f: (i: number, b: B, a: A) => B) {
500
+ return (self: Conc<A>): B => {
501
+ concrete(self);
502
+ const iterator = self.arrayIterator();
503
+ let out = b;
504
+ let result: IteratorResult<ArrayLike<A>>;
505
+ let i = 0;
506
+ while (!(result = iterator.next()).done) {
507
+ const array = result.value;
508
+ for (let j = 0; j < array.length; j++) {
509
+ out = f(i, out, array[j]!);
510
+ i++;
511
+ }
471
512
  }
472
- }
473
- return out;
513
+ return out;
514
+ };
474
515
  }
475
516
 
476
517
  /**
477
- * @tsplus fluent fncts.Conc foldMap
518
+ * @tsplus pipeable fncts.Conc foldMap
478
519
  */
479
- export function foldMap_<A, M>(fa: Conc<A>, f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>): M {
480
- return fa.foldMapWithIndex((_, a) => f(a), M);
520
+ export function foldMap<A, M>(f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>) {
521
+ return (fa: Conc<A>): M => {
522
+ return fa.foldMapWithIndex((_, a) => f(a), M);
523
+ };
481
524
  }
482
525
 
483
526
  /**
484
- * @tsplus fluent fncts.Conc foldMapWithIndex
527
+ * @tsplus pipeable fncts.Conc foldMapWithIndex
485
528
  */
486
- export function foldMapWithIndex_<A, M>(fa: Conc<A>, f: (i: number, a: A) => M, /** @tsplus auto */ M: P.Monoid<M>): M {
487
- return fa.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(b, f(i, a)));
529
+ export function foldMapWithIndex<A, M>(f: (i: number, a: A) => M, /** @tsplus auto */ M: P.Monoid<M>) {
530
+ return (fa: Conc<A>): M => {
531
+ return fa.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(f(i, a))(b));
532
+ };
488
533
  }
489
534
 
490
535
  /**
491
- * @tsplus fluent fncts.Conc foldRight
536
+ * @tsplus pipeable fncts.Conc foldRight
492
537
  */
493
- export function foldRight_<A, B>(fa: Conc<A>, b: B, f: (a: A, b: B) => B): B {
494
- return fa.foldRightWithIndex(b, (_, a, b) => f(a, b));
538
+ export function foldRight<A, B>(b: B, f: (a: A, b: B) => B) {
539
+ return (fa: Conc<A>): B => {
540
+ return fa.foldRightWithIndex(b, (_, a, b) => f(a, b));
541
+ };
495
542
  }
496
543
 
497
544
  /**
498
- * @tsplus fluent fncts.Conc foldRightWithIndex
545
+ * @tsplus pipeable fncts.Conc foldRightWithIndex
499
546
  */
500
- export function foldRightWithIndex_<A, B>(self: Conc<A>, b: B, f: (i: number, a: A, b: B) => B): B {
501
- concrete(self);
502
- const iterator = self.reverseArrayIterator();
503
- let out = b;
504
- let result: IteratorResult<ArrayLike<A>>;
505
- let i = self.length - 1;
506
- while (!(result = iterator.next()).done) {
507
- const array = result.value;
508
- for (let j = array.length - 1; j >= 0; j--) {
509
- out = f(i, array[i]!, out);
510
- i--;
547
+ export function foldRightWithIndex<A, B>(b: B, f: (i: number, a: A, b: B) => B) {
548
+ return (self: Conc<A>): B => {
549
+ concrete(self);
550
+ const iterator = self.reverseArrayIterator();
551
+ let out = b;
552
+ let result: IteratorResult<ArrayLike<A>>;
553
+ let i = self.length - 1;
554
+ while (!(result = iterator.next()).done) {
555
+ const array = result.value;
556
+ for (let j = array.length - 1; j >= 0; j--) {
557
+ out = f(i, array[j]!, out);
558
+ i--;
559
+ }
511
560
  }
512
- }
513
- return out;
561
+ return out;
562
+ };
514
563
  }
515
564
 
516
565
  /**
517
- * @tsplus fluent fncts.Conc forEach
566
+ * @tsplus pipeable fncts.Conc forEach
518
567
  */
519
- export function forEach_<A, B>(self: Conc<A>, f: (a: A) => B): void {
520
- concrete(self);
521
- return self.forEach(0, (_, a) => f(a));
568
+ export function forEach<A, B>(f: (a: A) => B) {
569
+ return (self: Conc<A>): void => {
570
+ concrete(self);
571
+ return self.forEach(0, (_, a) => f(a));
572
+ };
522
573
  }
523
574
 
524
575
  /**
525
- * @tsplus fluent fncts.Conc forEachWithIndex
576
+ * @tsplus pipeable fncts.Conc forEachWithIndex
526
577
  */
527
- export function forEachWithIndex_<A, B>(self: Conc<A>, f: (i: number, a: A) => B): void {
528
- concrete(self);
529
- self.forEach(0, f);
578
+ export function forEachWithIndex<A, B>(f: (i: number, a: A) => B) {
579
+ return (self: Conc<A>): void => {
580
+ concrete(self);
581
+ self.forEach(0, f);
582
+ };
530
583
  }
531
584
 
532
585
  /**
533
- * @tsplus fluent fncts.Conc get
586
+ * @tsplus pipeable fncts.Conc get
534
587
  */
535
- export function get_<A>(as: Conc<A>, n: number): Maybe<A> {
536
- return Maybe.tryCatch(() => unsafeGet_(as, n));
588
+ export function get(n: number) {
589
+ return <A>(as: Conc<A>): Maybe<A> => {
590
+ return Maybe.tryCatch(() => as[n]);
591
+ };
537
592
  }
538
593
 
539
594
  /**
@@ -558,13 +613,15 @@ export function init<A>(self: Conc<A>): Maybe<Conc<A>> {
558
613
  }
559
614
 
560
615
  /**
561
- * @tsplus fluent fncts.Conc join
616
+ * @tsplus pipeable fncts.Conc join
562
617
  */
563
- export function join_(self: Conc<string>, separator: string): string {
564
- if (self.length === 0) {
565
- return "";
566
- }
567
- return self.unsafeTail.foldLeft(self.unsafeGet(0), (b, s) => b + separator + s);
618
+ export function join(separator: string) {
619
+ return (self: Conc<string>): string => {
620
+ if (self.length === 0) {
621
+ return "";
622
+ }
623
+ return self.unsafeTail.foldLeft(self.unsafeGet(0), (b, s) => b + separator + s);
624
+ };
568
625
  }
569
626
 
570
627
  /**
@@ -579,40 +636,44 @@ export function last<A>(self: Conc<A>): Maybe<A> {
579
636
  }
580
637
 
581
638
  /**
582
- * @tsplus fluent fncts.Conc map
639
+ * @tsplus pipeable fncts.Conc map
583
640
  */
584
- export function map_<A, B>(self: Conc<A>, f: (a: A) => B): Conc<B> {
585
- return self.mapWithIndex((_, a) => f(a));
641
+ export function map<A, B>(f: (a: A) => B) {
642
+ return (self: Conc<A>): Conc<B> => {
643
+ return self.mapWithIndex((_, a) => f(a));
644
+ };
586
645
  }
587
646
 
588
647
  /**
589
648
  * Statefully maps over the Conc, producing new elements of type `B`.
590
649
  *
591
- * @tsplus fluent fncts.Conc mapAccum
592
- */
593
- export function mapAccum_<A, S, B>(self: Conc<A>, s: S, f: (s: S, a: A) => readonly [S, B]): readonly [S, Conc<B>] {
594
- concrete(self);
595
- const iterator = self.arrayIterator();
596
- const out = builder<B>();
597
- let state = s;
598
- let result;
599
- while (!(result = iterator.next()).done) {
600
- const array = result.value;
601
- const length = array.length;
602
- for (let i = 0; i < length; i++) {
603
- const a = array[i]!;
604
- const tup = f(state, a);
605
- out.append(tup[1]);
606
- state = tup[0];
650
+ * @tsplus pipeable fncts.Conc mapAccum
651
+ */
652
+ export function mapAccum<A, S, B>(s: S, f: (s: S, a: A) => readonly [S, B]) {
653
+ return (self: Conc<A>): readonly [S, Conc<B>] => {
654
+ concrete(self);
655
+ const iterator = self.arrayIterator();
656
+ const out = builder<B>();
657
+ let state = s;
658
+ let result;
659
+ while (!(result = iterator.next()).done) {
660
+ const array = result.value;
661
+ const length = array.length;
662
+ for (let i = 0; i < length; i++) {
663
+ const a = array[i]!;
664
+ const tup = f(state, a);
665
+ out.append(tup[1]);
666
+ state = tup[0];
667
+ }
607
668
  }
608
- }
609
- return tuple(s, out.result());
669
+ return tuple(state, out.result());
670
+ };
610
671
  }
611
672
 
612
673
  function mapArrayLike<A, B>(as: ArrayLike<A>, len: number, startIndex: number, f: (i: number, a: A) => B): Conc<B> {
613
674
  let bs = Conc.empty<B>();
614
675
  for (let i = 0; i < len; i++) {
615
- bs = append_(bs, f(i + startIndex, as[i]!));
676
+ bs = bs.append(f(i + startIndex, as[i]!));
616
677
  }
617
678
  return bs;
618
679
  }
@@ -625,7 +686,7 @@ function mapArrayLikeReverse<A, B>(
625
686
  ): Conc<B> {
626
687
  let bs = Conc.empty<B>();
627
688
  for (let i = BUFFER_SIZE - len, j = len - 1; i < BUFFER_SIZE; i++, j--) {
628
- bs = append_(bs, f(endIndex - j, as[i]!));
689
+ bs = bs.append(f(endIndex - j, as[i]!));
629
690
  }
630
691
  return bs;
631
692
  }
@@ -658,101 +719,99 @@ class PrependFrame<A, B> {
658
719
  type Frame<A, B> = DoneFrame | ConcatLeftFrame<A> | ConcatRightFrame<B> | AppendFrame<A> | PrependFrame<A, B>;
659
720
 
660
721
  /**
661
- * @tsplus fluent fncts.Conc mapWithIndex
662
- */
663
- export function mapWithIndex_<A, B>(self: Conc<A>, f: (i: number, a: A) => B): Conc<B> {
664
- let current = self;
665
-
666
- let index = 0;
667
-
668
- const stack = Stack<Frame<A, B>>();
669
- stack.push(new DoneFrame());
670
-
671
- let result: Conc<B> = Conc.empty();
672
-
673
- recursion: while (stack.hasNext) {
674
- // eslint-disable-next-line no-constant-condition
675
- pushing: while (true) {
676
- concrete<A>(current);
677
- switch (current._tag) {
678
- case ConcTag.Singleton: {
679
- result = new Singleton(f(index++, current.value));
680
- break pushing;
681
- }
682
- case ConcTag.Empty: {
683
- result = _Empty;
684
- break pushing;
685
- }
686
- case ConcTag.Chunk: {
687
- result = new Chunk(current._array.map((a, i) => f(i + index, a)));
688
- index += current.length;
689
- break pushing;
690
- }
691
- case ConcTag.Concat: {
692
- stack.push(new ConcatLeftFrame(current, index));
693
- current = current.left;
694
- continue pushing;
695
- }
696
- case ConcTag.AppendN: {
697
- stack.push(new AppendFrame(current.buffer as ArrayLike<A>, current.bufferUsed, index));
698
- current = current.start;
699
- continue pushing;
700
- }
701
- case ConcTag.PrependN: {
702
- stack.push(
703
- new PrependFrame(
704
- mapArrayLikeReverse(
705
- current.buffer as ArrayLike<A>,
706
- current.bufferUsed,
707
- index + current.bufferUsed - 1,
708
- f,
722
+ * @tsplus pipeable fncts.Conc mapWithIndex
723
+ */
724
+ export function mapWithIndex<A, B>(f: (i: number, a: A) => B) {
725
+ return (self: Conc<A>): Conc<B> => {
726
+ let current = self;
727
+ let index = 0;
728
+ const stack = Stack<Frame<A, B>>();
729
+ stack.push(new DoneFrame());
730
+ let result: Conc<B> = Conc.empty();
731
+ recursion: while (stack.hasNext) {
732
+ // eslint-disable-next-line no-constant-condition
733
+ pushing: while (true) {
734
+ concrete<A>(current);
735
+ switch (current._tag) {
736
+ case ConcTag.Singleton: {
737
+ result = new Singleton(f(index++, current.value));
738
+ break pushing;
739
+ }
740
+ case ConcTag.Empty: {
741
+ result = _Empty;
742
+ break pushing;
743
+ }
744
+ case ConcTag.Chunk: {
745
+ result = new Chunk(current._array.map((a, i) => f(i + index, a)));
746
+ index += current.length;
747
+ break pushing;
748
+ }
749
+ case ConcTag.Concat: {
750
+ stack.push(new ConcatLeftFrame(current, index));
751
+ current = current.left;
752
+ continue pushing;
753
+ }
754
+ case ConcTag.AppendN: {
755
+ stack.push(new AppendFrame(current.buffer as ArrayLike<A>, current.bufferUsed, index));
756
+ current = current.start;
757
+ continue pushing;
758
+ }
759
+ case ConcTag.PrependN: {
760
+ stack.push(
761
+ new PrependFrame(
762
+ mapArrayLikeReverse(
763
+ current.buffer as ArrayLike<A>,
764
+ current.bufferUsed,
765
+ index + current.bufferUsed - 1,
766
+ f,
767
+ ),
768
+ current.end,
709
769
  ),
710
- current.end,
711
- ),
712
- );
713
- index += current.bufferUsed;
714
- break pushing;
715
- }
716
- case ConcTag.Slice: {
717
- let r = Conc.empty<B>();
718
- for (let i = 0; i < current.length; i++) {
719
- r = r.append(f(i + index, unsafeGet_(current, i)));
770
+ );
771
+ index += current.bufferUsed;
772
+ break pushing;
773
+ }
774
+ case ConcTag.Slice: {
775
+ let r = Conc.empty<B>();
776
+ for (let i = 0; i < current.length; i++) {
777
+ r = r.append(f(i + index, current.get(i)));
778
+ }
779
+ result = r;
780
+ index += current.length;
781
+ break pushing;
720
782
  }
721
- result = r;
722
- index += current.length;
723
- break pushing;
724
783
  }
725
784
  }
726
- }
727
- // eslint-disable-next-line no-constant-condition
728
- popping: while (true) {
729
- const top = stack.pop()!;
730
- switch (top._tag) {
731
- case "Done": {
732
- return result;
733
- }
734
- case "ConcatLeft": {
735
- current = top.conc.right;
736
- stack.push(new ConcatRightFrame(result));
737
- continue recursion;
738
- }
739
- case "ConcatRight": {
740
- result = concat_(top.leftResult, result);
741
- continue popping;
742
- }
743
- case "Append": {
744
- result = concat_(result, mapArrayLike(top.buffer, top.bufferUsed, index, f));
745
- continue popping;
746
- }
747
- case "Prepend": {
748
- current = top.end;
749
- stack.push(new ConcatRightFrame(top.pre));
750
- continue recursion;
785
+ // eslint-disable-next-line no-constant-condition
786
+ popping: while (true) {
787
+ const top = stack.pop()!;
788
+ switch (top._tag) {
789
+ case "Done": {
790
+ return result;
791
+ }
792
+ case "ConcatLeft": {
793
+ current = top.conc.right;
794
+ stack.push(new ConcatRightFrame(result));
795
+ continue recursion;
796
+ }
797
+ case "ConcatRight": {
798
+ result = top.leftResult.concat(result);
799
+ continue popping;
800
+ }
801
+ case "Append": {
802
+ result = result.concat(mapArrayLike(top.buffer, top.bufferUsed, index, f));
803
+ continue popping;
804
+ }
805
+ case "Prepend": {
806
+ current = top.end;
807
+ stack.push(new ConcatRightFrame(top.pre));
808
+ continue recursion;
809
+ }
751
810
  }
752
811
  }
753
812
  }
754
- }
755
- throw new Error("bug");
813
+ throw new Error("bug");
814
+ };
756
815
  }
757
816
 
758
817
  /**
@@ -771,84 +830,90 @@ export function isNonEmpty<A>(conc: Conc<A>): boolean {
771
830
  }
772
831
 
773
832
  /**
774
- * @tsplus fluent fncts.Conc partition
833
+ * @tsplus pipeable fncts.Conc partition
775
834
  */
776
- export function partition_<A, B extends A>(self: Conc<A>, p: Refinement<A, B>): readonly [Conc<A>, Conc<B>];
777
- export function partition_<A>(self: Conc<A>, p: Predicate<A>): readonly [Conc<A>, Conc<A>];
778
- export function partition_<A>(self: Conc<A>, p: Predicate<A>): readonly [Conc<A>, Conc<A>] {
779
- return self.partitionWithIndex((_, a) => p(a));
835
+ export function partition<A, B extends A>(p: Refinement<A, B>): (self: Conc<A>) => readonly [Conc<A>, Conc<B>];
836
+ export function partition<A>(p: Predicate<A>): (self: Conc<A>) => readonly [Conc<A>, Conc<A>];
837
+ export function partition<A>(p: Predicate<A>) {
838
+ return (self: Conc<A>): readonly [Conc<A>, Conc<A>] => {
839
+ return self.partitionWithIndex((_, a) => p(a));
840
+ };
780
841
  }
781
842
 
782
843
  /**
783
- * @tsplus fluent fncts.Conc partitionMap
844
+ * @tsplus pipeable fncts.Conc partitionMap
784
845
  */
785
- export function partitionMap_<A, B, C>(self: Conc<A>, f: (a: A) => Either<B, C>): readonly [Conc<B>, Conc<C>] {
786
- return self.partitionMapWithIndex((_, a) => f(a));
846
+ export function partitionMap<A, B, C>(f: (a: A) => Either<B, C>) {
847
+ return (self: Conc<A>): readonly [Conc<B>, Conc<C>] => {
848
+ return self.partitionMapWithIndex((_, a) => f(a));
849
+ };
787
850
  }
788
851
 
789
852
  /**
790
- * @tsplus fluent fncts.Conc partitionMapWithIndex
853
+ * @tsplus pipeable fncts.Conc partitionMapWithIndex
791
854
  */
792
- export function partitionMapWithIndex_<A, B, C>(
793
- fa: Conc<A>,
794
- f: (i: number, a: A) => Either<B, C>,
795
- ): readonly [Conc<B>, Conc<C>] {
796
- concrete(fa);
797
- const iterator = fa.arrayIterator();
798
- const left = builder<B>();
799
- const right = builder<C>();
800
- let result: IteratorResult<ArrayLike<A>>;
801
- let i = 0;
802
- while (!(result = iterator.next()).done) {
803
- const array = result.value;
804
- for (let j = 0; j < array.length; j++) {
805
- const eab = f(i, array[j]!);
806
- eab.match(
807
- (b) => left.append(b),
808
- (c) => right.append(c),
809
- );
810
- i++;
855
+ export function partitionMapWithIndex<A, B, C>(f: (i: number, a: A) => Either<B, C>) {
856
+ return (fa: Conc<A>): readonly [Conc<B>, Conc<C>] => {
857
+ concrete(fa);
858
+ const iterator = fa.arrayIterator();
859
+ const left = builder<B>();
860
+ const right = builder<C>();
861
+ let result: IteratorResult<ArrayLike<A>>;
862
+ let i = 0;
863
+ while (!(result = iterator.next()).done) {
864
+ const array = result.value;
865
+ for (let j = 0; j < array.length; j++) {
866
+ const eab = f(i, array[j]!);
867
+ eab.match(
868
+ (b) => left.append(b),
869
+ (c) => right.append(c),
870
+ );
871
+ i++;
872
+ }
811
873
  }
812
- }
813
- return [left.result(), right.result()];
874
+ return [left.result(), right.result()];
875
+ };
814
876
  }
815
877
 
816
878
  /**
817
- * @tsplus fluent fncts.Conc partitionWithIndex
879
+ * @tsplus pipeable fncts.Conc partitionWithIndex
818
880
  */
819
- export function partitionWithIndex_<A, B extends A>(
820
- self: Conc<A>,
881
+ export function partitionWithIndex<A, B extends A>(
821
882
  p: RefinementWithIndex<number, A, B>,
822
- ): readonly [Conc<A>, Conc<B>];
823
- export function partitionWithIndex_<A>(self: Conc<A>, p: PredicateWithIndex<number, A>): readonly [Conc<A>, Conc<A>];
824
- export function partitionWithIndex_<A>(self: Conc<A>, p: PredicateWithIndex<number, A>): readonly [Conc<A>, Conc<A>] {
825
- concrete(self);
826
- const iterator = self.arrayIterator();
827
- const left = builder<A>();
828
- const right = builder<A>();
829
- let result: IteratorResult<ArrayLike<A>>;
830
- let i = 0;
831
- while (!(result = iterator.next()).done) {
832
- const array = result.value;
833
- for (let j = 0; j < array.length; j++) {
834
- const a = array[j]!;
835
- if (p(i, a)) {
836
- right.append(a);
837
- } else {
838
- left.append(a);
883
+ ): (self: Conc<A>) => readonly [Conc<A>, Conc<B>];
884
+ export function partitionWithIndex<A>(p: PredicateWithIndex<number, A>): (self: Conc<A>) => readonly [Conc<A>, Conc<A>];
885
+ export function partitionWithIndex<A>(p: PredicateWithIndex<number, A>) {
886
+ return (self: Conc<A>): readonly [Conc<A>, Conc<A>] => {
887
+ concrete(self);
888
+ const iterator = self.arrayIterator();
889
+ const left = builder<A>();
890
+ const right = builder<A>();
891
+ let result: IteratorResult<ArrayLike<A>>;
892
+ let i = 0;
893
+ while (!(result = iterator.next()).done) {
894
+ const array = result.value;
895
+ for (let j = 0; j < array.length; j++) {
896
+ const a = array[j]!;
897
+ if (p(i, a)) {
898
+ right.append(a);
899
+ } else {
900
+ left.append(a);
901
+ }
902
+ i++;
839
903
  }
840
- i++;
841
904
  }
842
- }
843
- return [left.result(), right.result()];
905
+ return [left.result(), right.result()];
906
+ };
844
907
  }
845
908
 
846
909
  /**
847
- * @tsplus fluent fncts.Conc prepend
910
+ * @tsplus pipeable fncts.Conc prepend
848
911
  */
849
- export function prepend_<A, B>(self: Conc<A>, a: B): Conc<A | B> {
850
- concrete(self);
851
- return self.prepend(a);
912
+ export function prepend<B>(a: B) {
913
+ return <A>(self: Conc<A>): Conc<A | B> => {
914
+ concrete(self);
915
+ return self.prepend(a);
916
+ };
852
917
  }
853
918
 
854
919
  /**
@@ -887,40 +952,42 @@ export function separate<E, A>(self: Conc<Either<E, A>>): readonly [Conc<E>, Con
887
952
  }
888
953
 
889
954
  /**
890
- * @tsplus fluent fncts.Conc splitAt
955
+ * @tsplus pipeable fncts.Conc splitAt
891
956
  */
892
- export function splitAt_<A>(self: Conc<A>, n: number): readonly [Conc<A>, Conc<A>] {
893
- return [self.take(n), self.drop(n)];
957
+ export function splitAt(n: number) {
958
+ return <A>(self: Conc<A>): readonly [Conc<A>, Conc<A>] => {
959
+ return [self.take(n), self.drop(n)];
960
+ };
894
961
  }
895
962
 
896
963
  /**
897
964
  * Splits this Conc on the first element that matches this predicate.
898
965
  *
899
- * @tsplus fluent fncts.Conc splitWhere
900
- */
901
- export function splitWhere_<A>(self: Conc<A>, f: (a: A) => boolean): readonly [Conc<A>, Conc<A>] {
902
- concrete(self);
903
- const iterator = self.arrayIterator();
904
- let next;
905
- let cont = true;
906
- let i = 0;
907
-
908
- while (cont && (next = iterator.next()) && !next.done) {
909
- const array = next.value;
910
- const len = array.length;
911
- let j = 0;
912
- while (cont && j < len) {
913
- const a = array[j]!;
914
- if (f(a)) {
915
- cont = false;
916
- } else {
917
- i++;
918
- j++;
966
+ * @tsplus pipeable fncts.Conc splitWhere
967
+ */
968
+ export function splitWhere<A>(f: (a: A) => boolean) {
969
+ return (self: Conc<A>): readonly [Conc<A>, Conc<A>] => {
970
+ concrete(self);
971
+ const iterator = self.arrayIterator();
972
+ let next;
973
+ let cont = true;
974
+ let i = 0;
975
+ while (cont && (next = iterator.next()) && !next.done) {
976
+ const array = next.value;
977
+ const len = array.length;
978
+ let j = 0;
979
+ while (cont && j < len) {
980
+ const a = array[j]!;
981
+ if (f(a)) {
982
+ cont = false;
983
+ } else {
984
+ i++;
985
+ j++;
986
+ }
919
987
  }
920
988
  }
921
- }
922
-
923
- return splitAt_(self, i);
989
+ return (self as Conc<A>).splitAt(i);
990
+ };
924
991
  }
925
992
 
926
993
  /**
@@ -934,62 +1001,92 @@ export function tail<A>(conc: Conc<A>): Maybe<Conc<A>> {
934
1001
  }
935
1002
 
936
1003
  /**
937
- * @tsplus fluent fncts.Conc take
1004
+ * @tsplus pipeable fncts.Conc take
938
1005
  */
939
- export function take_<A>(self: Conc<A>, n: number): Conc<A> {
940
- concrete(self);
941
- return self.take(n);
1006
+ export function take(n: number) {
1007
+ return <A>(self: Conc<A>): Conc<A> => {
1008
+ concrete(self);
1009
+ return self.take(n);
1010
+ };
942
1011
  }
943
1012
 
944
1013
  /**
945
- * @tsplus fluent fncts.Conc takeWhile
1014
+ * @tsplus pipeable fncts.Conc takeWhile
946
1015
  */
947
- export function takeWhile_<A>(self: Conc<A>, p: Predicate<A>): Conc<A> {
948
- concrete(self);
949
- switch (self._tag) {
950
- case ConcTag.Chunk: {
951
- const arr = self.arrayLike();
952
- let i = 0;
953
- while (i < arr.length && p(arr[i]!)) {
954
- i++;
1016
+ export function takeWhile<A>(p: Predicate<A>) {
1017
+ return (self: Conc<A>): Conc<A> => {
1018
+ concrete(self);
1019
+ switch (self._tag) {
1020
+ case ConcTag.Chunk: {
1021
+ const arr = self.arrayLike();
1022
+ let i = 0;
1023
+ while (i < arr.length && p(arr[i]!)) {
1024
+ i++;
1025
+ }
1026
+ return self.take(i);
955
1027
  }
956
- return take_(self, i);
957
- }
958
- default: {
959
- const iterator = self.arrayIterator();
960
- let result: IteratorResult<ArrayLike<A>>;
961
- let cont = true;
962
- let i = 0;
963
- while (cont && !(result = iterator.next()).done) {
964
- const array = result.value;
965
- let j = 0;
966
- while (cont && j < array.length) {
967
- if (!p(array[j]!)) {
968
- cont = false;
969
- } else {
970
- i++;
971
- j++;
1028
+ default: {
1029
+ const iterator = self.arrayIterator();
1030
+ let result: IteratorResult<ArrayLike<A>>;
1031
+ let cont = true;
1032
+ let i = 0;
1033
+ while (cont && !(result = iterator.next()).done) {
1034
+ const array = result.value;
1035
+ let j = 0;
1036
+ while (cont && j < array.length) {
1037
+ if (!p(array[j]!)) {
1038
+ cont = false;
1039
+ } else {
1040
+ i++;
1041
+ j++;
1042
+ }
972
1043
  }
973
1044
  }
1045
+ return self.take(i);
974
1046
  }
975
- return take_(self, i);
976
1047
  }
977
- }
1048
+ };
978
1049
  }
979
1050
 
1051
+ export const traverse: P.Traversable<ConcF>["traverse"] = (G) => (f) => (self) => self.traverse(G)(f);
1052
+
1053
+ export const traverseWithIndex: P.TraversableWithIndex<ConcF>["traverseWithIndex"] = (G) => (f) => (self) =>
1054
+ self.traverseWithIndex(G)(f);
1055
+
980
1056
  /**
981
- * @tsplus getter fncts.Conc traverse
1057
+ * @tsplus getter fncts.Conc traverseWithIndex
982
1058
  */
983
- export const traverse: P.Traversable<ConcF>["traverse"] = (self) => (G) => (f) =>
984
- self.traverseWithIndex(G)((_, a) => f(a));
1059
+ export function _traverseWithIndex<A>(
1060
+ self: Conc<A>,
1061
+ ): <G extends HKT, GC = HKT.None>(
1062
+ G: P.Applicative<G, GC>,
1063
+ ) => <K, Q, W, X, I, S, R, E, B>(
1064
+ f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
1065
+ ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Conc<B>>;
1066
+ export function _traverseWithIndex<A>(
1067
+ self: Conc<A>,
1068
+ ): <G>(G: P.Applicative<HKT.F<G>>) => <B>(f: (i: number, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, Conc<B>> {
1069
+ return (G) => (f) =>
1070
+ self.foldLeftWithIndex(G.pure(Conc.empty()), (i, fbs, a) =>
1071
+ pipe(
1072
+ fbs,
1073
+ G.zipWith(f(i, a), (bs, b) => bs.append(b)),
1074
+ ),
1075
+ );
1076
+ }
985
1077
 
986
1078
  /**
987
- * @tsplus getter fncts.Conc traverseWithIndex
1079
+ * @tsplus getter fncts.Conc traverse
988
1080
  */
989
- export const traverseWithIndex = P.TraversableWithIndex.makeTraverseWithIndex<ConcF>()(
990
- () => (self) => (G) => (f) =>
991
- self.foldLeftWithIndex(G.pure(Conc.empty()), (i, fbs, a) => G.zipWith(fbs, f(i, a), (bs, b) => bs.append(b))),
992
- );
1081
+ export function _traverse<A>(
1082
+ self: Conc<A>,
1083
+ ): <G extends HKT, GC = HKT.None>(
1084
+ G: P.Applicative<G, GC>,
1085
+ ) => <K, Q, W, X, I, S, R, E, B>(
1086
+ f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
1087
+ ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Conc<B>> {
1088
+ return (G) => (f) => self.traverseWithIndex(G)((_, a) => f(a));
1089
+ }
993
1090
 
994
1091
  /**
995
1092
  * @tsplus getter fncts.Conc toBuffer
@@ -1000,7 +1097,7 @@ export function toBuffer(self: Conc<Byte>): Uint8Array {
1000
1097
  }
1001
1098
 
1002
1099
  /**
1003
- * @tsplus fluent fncts.ConcOps unfold
1100
+ * @tsplus static fncts.ConcOps unfold
1004
1101
  */
1005
1102
  export function unfold<A, B>(b: B, f: (b: B) => Maybe<readonly [A, B]>): Conc<A> {
1006
1103
  const out = builder<A>();
@@ -1018,12 +1115,14 @@ export function unfold<A, B>(b: B, f: (b: B) => Maybe<readonly [A, B]>): Conc<A>
1018
1115
  }
1019
1116
 
1020
1117
  /**
1021
- * @tsplus fluent fncts.Conc unsafeGet
1022
- * @tsplus index fncts.Conc
1118
+ * @tsplus pipeable fncts.Conc unsafeGet
1119
+ * @tsplus pipeable-index fncts.Conc
1023
1120
  */
1024
- export function unsafeGet_<A>(self: Conc<A>, n: number): A {
1025
- concrete(self);
1026
- return self.get(n);
1121
+ export function unsafeGet(n: number) {
1122
+ return <A>(self: Conc<A>): A => {
1123
+ concrete(self);
1124
+ return self.get(n);
1125
+ };
1027
1126
  }
1028
1127
 
1029
1128
  /**
@@ -1055,70 +1154,78 @@ export function unsafeTail<A>(self: Conc<A>): Conc<A> {
1055
1154
  }
1056
1155
 
1057
1156
  /**
1058
- * @tsplus fluent fncts.Conc unsafeUpdateAt
1157
+ * @tsplus pipeable fncts.Conc unsafeUpdateAt
1059
1158
  */
1060
- export function unsafeUpdateAt_<A, A1>(self: Conc<A>, i: number, a: A1): Conc<A | A1> {
1061
- concrete(self);
1062
- return self.update(i, a);
1159
+ export function unsafeUpdateAt<A1>(i: number, a: A1) {
1160
+ return <A>(self: Conc<A>): Conc<A | A1> => {
1161
+ concrete(self);
1162
+ return self.update(i, a);
1163
+ };
1063
1164
  }
1064
1165
 
1065
1166
  /**
1066
- * @tsplus fluent fncts.Conc updateAt
1167
+ * @tsplus pipeable fncts.Conc updateAt
1067
1168
  */
1068
- export function updateAt_<A, A1>(self: Conc<A>, i: number, a: A1): Maybe<Conc<A | A1>> {
1069
- try {
1070
- return Just(self.unsafeUpdateAt(i, a));
1071
- } catch {
1072
- return Nothing();
1073
- }
1169
+ export function updateAt<A1>(i: number, a: A1) {
1170
+ return <A>(self: Conc<A>): Maybe<Conc<A | A1>> => {
1171
+ try {
1172
+ return Just(self.unsafeUpdateAt(i, a));
1173
+ } catch {
1174
+ return Nothing();
1175
+ }
1176
+ };
1074
1177
  }
1075
1178
 
1076
1179
  /**
1077
- * @tsplus fluent fncts.Conc zip
1180
+ * @tsplus pipeable fncts.Conc zip
1078
1181
  */
1079
- export function zip_<A, B>(self: Conc<A>, fb: Conc<B>): Conc<readonly [A, B]> {
1080
- return self.zipWith(fb, tuple);
1182
+ export function zip<B>(fb: Conc<B>) {
1183
+ return <A>(self: Conc<A>): Conc<readonly [A, B]> => {
1184
+ return self.zipWith(fb, tuple);
1185
+ };
1081
1186
  }
1082
1187
 
1083
1188
  /**
1084
- * @tsplus fluent fncts.Conc zipWith
1189
+ * @tsplus pipeable fncts.Conc zipWith
1085
1190
  */
1086
- export function zipWith_<A, B, C>(self: Conc<A>, fb: Conc<B>, f: (a: A, b: B) => C): Conc<C> {
1087
- concrete(self);
1088
- concrete(fb);
1089
- const length = Math.min(self.length, fb.length);
1090
- if (length === 0) {
1091
- return Conc.empty();
1092
- } else {
1093
- const leftIterator = self.arrayIterator();
1094
- const rightIterator = fb.arrayIterator();
1095
- const out = builder<C>();
1096
- let left: IteratorResult<ArrayLike<A>> = null as any;
1097
- let right: IteratorResult<ArrayLike<B>> = null as any;
1098
- let leftLength = 0;
1099
- let rightLength = 0;
1100
- let i = 0;
1101
- let j = 0;
1102
- let k = 0;
1103
- while (i < length) {
1104
- if (j < leftLength && k < rightLength) {
1105
- const a = left.value[j];
1106
- const b = right.value[k];
1107
- const c = f(a, b);
1108
- out.append(c);
1109
- i++;
1110
- j++;
1111
- k++;
1112
- } else if (j === leftLength && !(left = leftIterator.next()).done) {
1113
- leftLength = left.value.length;
1114
- j = 0;
1115
- } else if (k === rightLength && !(right = rightIterator.next()).done) {
1116
- rightLength = right.value.length;
1117
- k = 0;
1191
+ export function zipWith<A, B, C>(fb: Conc<B>, f: (a: A, b: B) => C) {
1192
+ return (self: Conc<A>): Conc<C> => {
1193
+ concrete(self);
1194
+ concrete(fb);
1195
+ const length = Math.min(self.length, fb.length);
1196
+ if (length === 0) {
1197
+ return Conc.empty();
1198
+ } else {
1199
+ const leftIterator = self.arrayIterator();
1200
+ const rightIterator = fb.arrayIterator();
1201
+ const out = builder<C>();
1202
+ let left: IteratorResult<ArrayLike<A>> = null as any;
1203
+ let right: IteratorResult<ArrayLike<B>> = null as any;
1204
+ let leftLength = 0;
1205
+ let rightLength = 0;
1206
+ let i = 0;
1207
+ let j = 0;
1208
+ let k = 0;
1209
+ while (i < length) {
1210
+ if (j < leftLength && k < rightLength) {
1211
+ const a = left.value[j];
1212
+ const b = right.value[k];
1213
+ const c = f(a, b);
1214
+ out.append(c);
1215
+ i++;
1216
+ j++;
1217
+ k++;
1218
+ } else if (j === leftLength && !(left = leftIterator.next()).done) {
1219
+ leftLength = left.value.length;
1220
+ j = 0;
1221
+ } else if (k === rightLength && !(right = rightIterator.next()).done) {
1222
+ rightLength = right.value.length;
1223
+ k = 0;
1224
+ }
1118
1225
  }
1226
+ return out.result();
1119
1227
  }
1120
- return out.result();
1121
- }
1228
+ };
1122
1229
  }
1123
1230
 
1124
1231
  /**
@@ -1129,20 +1236,22 @@ export function zipWithIndex<A>(self: Conc<A>): Conc<readonly [A, number]> {
1129
1236
  }
1130
1237
 
1131
1238
  /**
1132
- * @tsplus fluent fncts.Conc zipWithIndexOffset
1239
+ * @tsplus pipeable fncts.Conc zipWithIndexOffset
1133
1240
  */
1134
- export function zipWithIndexOffset_<A>(as: Conc<A>, offset: number): Conc<readonly [A, number]> {
1135
- concrete(as);
1136
- const iterator = as.arrayIterator();
1137
- let next: IteratorResult<ArrayLike<A>>;
1138
- let i = offset;
1139
- const out = builder<readonly [A, number]>();
1140
- while (!(next = iterator.next()).done) {
1141
- const array = next.value;
1142
- const len = array.length;
1143
- for (let j = 0; i < len; j++, i++) {
1144
- out.append([array[j]!, i]);
1241
+ export function zipWithIndexOffset(offset: number) {
1242
+ return <A>(as: Conc<A>): Conc<readonly [A, number]> => {
1243
+ concrete(as);
1244
+ const iterator = as.arrayIterator();
1245
+ let next: IteratorResult<ArrayLike<A>>;
1246
+ let i = offset;
1247
+ const out = builder<readonly [A, number]>();
1248
+ while (!(next = iterator.next()).done) {
1249
+ const array = next.value;
1250
+ const len = array.length;
1251
+ for (let j = 0; i < len; j++, i++) {
1252
+ out.append([array[j]!, i]);
1253
+ }
1145
1254
  }
1146
- }
1147
- return out.result();
1255
+ return out.result();
1256
+ };
1148
1257
  }