@fncts/base 0.0.3 → 0.0.6

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 (812) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +21 -15
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/Iterable/api.cjs +23 -37
  4. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  5. package/_cjs/collection/compat/Array/api.cjs +1 -1
  6. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  7. package/_cjs/collection/immutable/Conc/api.cjs +41 -53
  8. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  9. package/_cjs/collection/immutable/Conc/definition.cjs +49 -39
  10. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  11. package/_cjs/collection/immutable/Dictionary/definition.cjs +4 -2
  12. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  13. package/_cjs/collection/immutable/HashMap/api.cjs +35 -108
  14. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  15. package/_cjs/collection/immutable/HashMap/definition.cjs +19 -15
  16. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  17. package/_cjs/collection/immutable/HashSet/api.cjs +10 -10
  18. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +22 -0
  20. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -0
  21. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +20 -0
  22. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -0
  23. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +20 -0
  24. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -0
  25. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +33 -0
  26. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -0
  27. package/_cjs/collection/immutable/ImmutableArray/api.cjs +252 -409
  28. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  29. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +12 -10
  30. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  31. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +153 -157
  32. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  33. package/_cjs/collection/immutable/ImmutableArray.cjs +52 -0
  34. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +125 -184
  36. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -4
  38. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +25 -2
  40. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  41. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +5 -3
  42. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  43. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +45 -81
  44. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  45. package/_cjs/collection/immutable/List/api.cjs +4 -7
  46. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  47. package/_cjs/collection/immutable/RoseTree/api.cjs +484 -0
  48. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -0
  49. package/_cjs/collection/immutable/RoseTree/definition.cjs +58 -0
  50. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -0
  51. package/_cjs/collection/immutable/RoseTree.cjs +32 -0
  52. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -0
  53. package/_cjs/collection/immutable/SortedMap/api.cjs +65 -65
  54. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  55. package/_cjs/collection/immutable/Vector/api.cjs +70 -15
  56. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  57. package/_cjs/collection/immutable/Vector/definition.cjs +13 -11
  58. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  59. package/_cjs/collection/mutable/HashMap.cjs +5 -5
  60. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  61. package/_cjs/collection/mutable/HashSet.cjs +4 -4
  62. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  63. package/_cjs/control/Eval/api.cjs +6 -0
  64. package/_cjs/control/Eval/api.cjs.map +1 -1
  65. package/_cjs/control/Eval/definition.cjs +7 -0
  66. package/_cjs/control/Eval/definition.cjs.map +1 -1
  67. package/_cjs/control/Eval/instance.cjs +14 -25
  68. package/_cjs/control/Eval/instance.cjs.map +1 -1
  69. package/_cjs/control/Z/definition.cjs +9 -3
  70. package/_cjs/control/Z/definition.cjs.map +1 -1
  71. package/_cjs/control/Z/instances.cjs +6 -13
  72. package/_cjs/control/Z/instances.cjs.map +1 -1
  73. package/_cjs/data/Branded/definition.cjs +29 -0
  74. package/_cjs/data/Branded/definition.cjs.map +1 -0
  75. package/_cjs/data/Branded/derivations.cjs +58 -0
  76. package/_cjs/data/Branded/derivations.cjs.map +1 -0
  77. package/_cjs/data/Branded.cjs +32 -0
  78. package/_cjs/data/Branded.cjs.map +1 -0
  79. package/_cjs/data/CaseClass.cjs +4 -2
  80. package/_cjs/data/CaseClass.cjs.map +1 -1
  81. package/_cjs/data/Cause/api/fold.cjs +2 -0
  82. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  83. package/_cjs/data/Cause/api.cjs +23 -0
  84. package/_cjs/data/Cause/api.cjs.map +1 -1
  85. package/_cjs/data/Const/api.cjs +3 -7
  86. package/_cjs/data/Const/api.cjs.map +1 -1
  87. package/_cjs/data/Const/definition.cjs +19 -1
  88. package/_cjs/data/Const/definition.cjs.map +1 -1
  89. package/_cjs/data/Const/instances.cjs +9 -20
  90. package/_cjs/data/Const/instances.cjs.map +1 -1
  91. package/_cjs/data/DecodeError/definition.cjs +308 -0
  92. package/_cjs/data/DecodeError/definition.cjs.map +1 -0
  93. package/_cjs/data/DecodeError.cjs +19 -0
  94. package/_cjs/data/DecodeError.cjs.map +1 -0
  95. package/_cjs/data/Decoder/api.cjs +217 -0
  96. package/_cjs/data/Decoder/api.cjs.map +1 -0
  97. package/_cjs/data/Decoder/definition.cjs +41 -0
  98. package/_cjs/data/Decoder/definition.cjs.map +1 -0
  99. package/_cjs/data/Decoder.cjs +32 -0
  100. package/_cjs/data/Decoder.cjs.map +1 -0
  101. package/_cjs/data/Duration/api.cjs +22 -9
  102. package/_cjs/data/Duration/api.cjs.map +1 -1
  103. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  104. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  105. package/_cjs/data/Either/api.cjs +105 -42
  106. package/_cjs/data/Either/api.cjs.map +1 -1
  107. package/_cjs/data/Either/definition.cjs +39 -10
  108. package/_cjs/data/Either/definition.cjs.map +1 -1
  109. package/_cjs/data/Either/destructors.cjs +2 -0
  110. package/_cjs/data/Either/destructors.cjs.map +1 -1
  111. package/_cjs/data/Either/instances.cjs +123 -40
  112. package/_cjs/data/Either/instances.cjs.map +1 -1
  113. package/_cjs/data/Environment/api.cjs +29 -8
  114. package/_cjs/data/Environment/api.cjs.map +1 -1
  115. package/_cjs/data/Identity/api.cjs +35 -6
  116. package/_cjs/data/Identity/api.cjs.map +1 -1
  117. package/_cjs/data/Identity/definition.cjs +10 -1
  118. package/_cjs/data/Identity/definition.cjs.map +1 -1
  119. package/_cjs/data/Identity/instances.cjs +11 -25
  120. package/_cjs/data/Identity/instances.cjs.map +1 -1
  121. package/_cjs/data/Interval.cjs +154 -0
  122. package/_cjs/data/Interval.cjs.map +1 -0
  123. package/_cjs/data/Maybe/api.cjs +30 -43
  124. package/_cjs/data/Maybe/api.cjs.map +1 -1
  125. package/_cjs/data/Maybe/definition.cjs +45 -18
  126. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  127. package/_cjs/data/Maybe/destructors.cjs +1 -0
  128. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  129. package/_cjs/data/Maybe/instances.cjs +62 -42
  130. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  131. package/_cjs/data/Newtype.cjs +5 -3
  132. package/_cjs/data/Newtype.cjs.map +1 -1
  133. package/_cjs/data/Patch/api.cjs +1 -1
  134. package/_cjs/data/Patch/api.cjs.map +1 -1
  135. package/_cjs/data/Refinement/api.cjs +0 -4
  136. package/_cjs/data/Refinement/api.cjs.map +1 -1
  137. package/_cjs/data/Struct/definition.cjs +4 -2
  138. package/_cjs/data/Struct/definition.cjs.map +1 -1
  139. package/_cjs/data/These/api.cjs +299 -0
  140. package/_cjs/data/These/api.cjs.map +1 -0
  141. package/_cjs/data/These/constructors.cjs +24 -4
  142. package/_cjs/data/These/constructors.cjs.map +1 -1
  143. package/_cjs/data/These/definition.cjs +16 -0
  144. package/_cjs/data/These/definition.cjs.map +1 -1
  145. package/_cjs/data/These/destructors.cjs +70 -0
  146. package/_cjs/data/These/destructors.cjs.map +1 -1
  147. package/_cjs/data/These/instances.cjs +54 -0
  148. package/_cjs/data/These/instances.cjs.map +1 -0
  149. package/_cjs/data/These.cjs +13 -0
  150. package/_cjs/data/These.cjs.map +1 -1
  151. package/_cjs/data/bigint/definition.cjs +6 -0
  152. package/_cjs/data/bigint/definition.cjs.map +1 -0
  153. package/_cjs/data/bigint/instances.cjs +24 -0
  154. package/_cjs/data/bigint/instances.cjs.map +1 -0
  155. package/_cjs/data/bigint.cjs +32 -0
  156. package/_cjs/data/bigint.cjs.map +1 -0
  157. package/_cjs/data/boolean/definition.cjs +6 -0
  158. package/_cjs/data/boolean/definition.cjs.map +1 -0
  159. package/_cjs/data/boolean/instances.cjs +24 -0
  160. package/_cjs/data/boolean/instances.cjs.map +1 -0
  161. package/_cjs/data/boolean.cjs +32 -0
  162. package/_cjs/data/boolean.cjs.map +1 -0
  163. package/_cjs/data/number/instances.cjs +18 -5
  164. package/_cjs/data/number/instances.cjs.map +1 -1
  165. package/_cjs/data/object/instances.cjs +24 -0
  166. package/_cjs/data/object/instances.cjs.map +1 -0
  167. package/_cjs/data/string/instances.cjs +24 -9
  168. package/_cjs/data/string/instances.cjs.map +1 -1
  169. package/_cjs/internal/Stack.cjs +4 -0
  170. package/_cjs/internal/Stack.cjs.map +1 -1
  171. package/_cjs/json/EitherJson.cjs +33 -0
  172. package/_cjs/json/EitherJson.cjs.map +1 -0
  173. package/_cjs/json/MaybeJson.cjs +31 -0
  174. package/_cjs/json/MaybeJson.cjs.map +1 -0
  175. package/_cjs/json/TheseJson.cjs +37 -0
  176. package/_cjs/json/TheseJson.cjs.map +1 -0
  177. package/_cjs/optics/Optional/definition.cjs +6 -4
  178. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  179. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  180. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  181. package/_cjs/optics/Traversal/api/fromTraversable.cjs +4 -4
  182. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  183. package/_cjs/optics/Traversal/definition.cjs +17 -12
  184. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  185. package/_cjs/typeclass/Align.cjs +0 -20
  186. package/_cjs/typeclass/Align.cjs.map +1 -1
  187. package/_cjs/typeclass/Alt.cjs +5 -15
  188. package/_cjs/typeclass/Alt.cjs.map +1 -1
  189. package/_cjs/typeclass/Alternative.cjs +0 -23
  190. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  191. package/_cjs/typeclass/Applicative.cjs +0 -22
  192. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  193. package/_cjs/typeclass/ApplicativeExcept.cjs +40 -34
  194. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  195. package/_cjs/typeclass/Apply.cjs +93 -49
  196. package/_cjs/typeclass/Apply.cjs.map +1 -1
  197. package/_cjs/typeclass/Chain.cjs +40 -17
  198. package/_cjs/typeclass/Chain.cjs.map +1 -1
  199. package/_cjs/typeclass/Closure.cjs +1 -4
  200. package/_cjs/typeclass/Closure.cjs.map +1 -1
  201. package/_cjs/typeclass/Eq/definition.cjs +18 -0
  202. package/_cjs/typeclass/Eq/definition.cjs.map +1 -0
  203. package/_cjs/typeclass/Eq/derivations.cjs +59 -0
  204. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -0
  205. package/_cjs/typeclass/Eq.cjs +11 -13
  206. package/_cjs/typeclass/Eq.cjs.map +1 -1
  207. package/_cjs/typeclass/Fail.cjs +6 -12
  208. package/_cjs/typeclass/Fail.cjs.map +1 -1
  209. package/_cjs/typeclass/Filterable.cjs +31 -18
  210. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  211. package/_cjs/typeclass/FilterableWithIndex.cjs +0 -26
  212. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  213. package/_cjs/typeclass/Foldable.cjs +33 -19
  214. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  215. package/_cjs/typeclass/FoldableWithIndex.cjs +33 -21
  216. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  217. package/_cjs/typeclass/Functor.cjs +19 -16
  218. package/_cjs/typeclass/Functor.cjs.map +1 -1
  219. package/_cjs/typeclass/FunctorWithIndex.cjs +0 -21
  220. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  221. package/_cjs/typeclass/Guard/api.cjs +40 -0
  222. package/_cjs/typeclass/Guard/api.cjs.map +1 -0
  223. package/_cjs/typeclass/Guard/definition.cjs +40 -0
  224. package/_cjs/typeclass/Guard/definition.cjs.map +1 -0
  225. package/_cjs/typeclass/Guard/derivations.cjs +85 -0
  226. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -0
  227. package/_cjs/typeclass/Guard.cjs +32 -0
  228. package/_cjs/typeclass/Guard.cjs.map +1 -0
  229. package/_cjs/typeclass/HashEq.cjs +3 -3
  230. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  231. package/_cjs/typeclass/Monad.cjs +0 -22
  232. package/_cjs/typeclass/Monad.cjs.map +1 -1
  233. package/_cjs/typeclass/MonadExcept.cjs +12 -19
  234. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  235. package/_cjs/typeclass/Monoid.cjs +56 -2
  236. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  237. package/_cjs/typeclass/Nil.cjs +10 -0
  238. package/_cjs/typeclass/Nil.cjs.map +1 -1
  239. package/_cjs/typeclass/Ord/api/contramap.cjs +2 -4
  240. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  241. package/_cjs/typeclass/Ord/api/max.cjs +1 -1
  242. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  243. package/_cjs/typeclass/Ord/api/min.cjs +1 -1
  244. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  245. package/_cjs/typeclass/Ord/definition.cjs +2 -3
  246. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  247. package/_cjs/typeclass/Ord/instances.cjs +7 -7
  248. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  249. package/_cjs/typeclass/Pointed.cjs +6 -11
  250. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  251. package/_cjs/typeclass/Semialign.cjs +77 -94
  252. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  253. package/_cjs/typeclass/Semigroup/api.cjs +2 -2
  254. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  255. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  256. package/_cjs/typeclass/Semigroup/derivations.cjs +63 -0
  257. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -0
  258. package/_cjs/typeclass/Semimonoidal.cjs +9 -13
  259. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  260. package/_cjs/typeclass/Showable/show.cjs +11 -11
  261. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  262. package/_cjs/typeclass/Traversable.cjs +26 -34
  263. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  264. package/_cjs/typeclass/TraversableWithIndex.cjs +7 -38
  265. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  266. package/_cjs/typeclass/Witherable.cjs +41 -42
  267. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  268. package/_cjs/typeclass/WitherableWithIndex.cjs +41 -50
  269. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  270. package/_cjs/typeclass.cjs +13 -0
  271. package/_cjs/typeclass.cjs.map +1 -1
  272. package/_cjs/util/predicates.cjs +5 -0
  273. package/_cjs/util/predicates.cjs.map +1 -1
  274. package/_mjs/collection/Iterable/api/traverseConc.mjs +20 -15
  275. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  276. package/_mjs/collection/Iterable/api.mjs +21 -31
  277. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  278. package/_mjs/collection/compat/Array/api.mjs +1 -1
  279. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  280. package/_mjs/collection/immutable/Conc/api.mjs +35 -36
  281. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  282. package/_mjs/collection/immutable/Conc/definition.mjs +48 -39
  283. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  284. package/_mjs/collection/immutable/Dictionary/definition.mjs +3 -2
  285. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  286. package/_mjs/collection/immutable/HashMap/api.mjs +26 -66
  287. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  288. package/_mjs/collection/immutable/HashMap/definition.mjs +18 -15
  289. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  290. package/_mjs/collection/immutable/HashSet/api.mjs +5 -5
  291. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  292. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +10 -0
  293. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -0
  294. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +9 -0
  295. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -0
  296. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +9 -0
  297. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -0
  298. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +21 -0
  299. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -0
  300. package/_mjs/collection/immutable/ImmutableArray/api.mjs +229 -326
  301. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  302. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +11 -10
  303. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  304. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +151 -138
  305. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  306. package/_mjs/collection/immutable/ImmutableArray.mjs +7 -1
  307. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  308. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +113 -145
  309. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  310. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +7 -7
  311. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  312. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +20 -2
  313. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  314. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +4 -3
  315. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  316. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +46 -67
  317. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  318. package/_mjs/collection/immutable/List/api.mjs +4 -5
  319. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  320. package/_mjs/collection/immutable/RoseTree/api.mjs +447 -0
  321. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -0
  322. package/_mjs/collection/immutable/RoseTree/definition.mjs +35 -0
  323. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -0
  324. package/_mjs/collection/immutable/RoseTree.mjs +4 -0
  325. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -0
  326. package/_mjs/collection/immutable/SortedMap/api.mjs +65 -65
  327. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  328. package/_mjs/collection/immutable/Vector/api.mjs +59 -15
  329. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  330. package/_mjs/collection/immutable/Vector/definition.mjs +12 -11
  331. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  332. package/_mjs/collection/mutable/HashMap.mjs +5 -5
  333. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  334. package/_mjs/collection/mutable/HashSet.mjs +4 -4
  335. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  336. package/_mjs/control/Eval/api.mjs +5 -2
  337. package/_mjs/control/Eval/api.mjs.map +1 -1
  338. package/_mjs/control/Eval/definition.mjs +1 -0
  339. package/_mjs/control/Eval/definition.mjs.map +1 -1
  340. package/_mjs/control/Eval/instance.mjs +15 -18
  341. package/_mjs/control/Eval/instance.mjs.map +1 -1
  342. package/_mjs/control/Z/definition.mjs +2 -0
  343. package/_mjs/control/Z/definition.mjs.map +1 -1
  344. package/_mjs/control/Z/instances.mjs +7 -8
  345. package/_mjs/control/Z/instances.mjs.map +1 -1
  346. package/_mjs/data/Branded/definition.mjs +18 -0
  347. package/_mjs/data/Branded/definition.mjs.map +1 -0
  348. package/_mjs/data/Branded/derivations.mjs +39 -0
  349. package/_mjs/data/Branded/derivations.mjs.map +1 -0
  350. package/_mjs/data/Branded.mjs +4 -0
  351. package/_mjs/data/Branded.mjs.map +1 -0
  352. package/_mjs/data/CaseClass.mjs +3 -2
  353. package/_mjs/data/CaseClass.mjs.map +1 -1
  354. package/_mjs/data/Cause/api/fold.mjs +2 -0
  355. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  356. package/_mjs/data/Cause/api.mjs +20 -0
  357. package/_mjs/data/Cause/api.mjs.map +1 -1
  358. package/_mjs/data/Const/api.mjs +3 -3
  359. package/_mjs/data/Const/api.mjs.map +1 -1
  360. package/_mjs/data/Const/definition.mjs +13 -1
  361. package/_mjs/data/Const/definition.mjs.map +1 -1
  362. package/_mjs/data/Const/instances.mjs +7 -15
  363. package/_mjs/data/Const/instances.mjs.map +1 -1
  364. package/_mjs/data/DecodeError/definition.mjs +226 -0
  365. package/_mjs/data/DecodeError/definition.mjs.map +1 -0
  366. package/_mjs/data/DecodeError.mjs +3 -0
  367. package/_mjs/data/DecodeError.mjs.map +1 -0
  368. package/_mjs/data/Decoder/api.mjs +179 -0
  369. package/_mjs/data/Decoder/api.mjs.map +1 -0
  370. package/_mjs/data/Decoder/definition.mjs +24 -0
  371. package/_mjs/data/Decoder/definition.mjs.map +1 -0
  372. package/_mjs/data/Decoder.mjs +4 -0
  373. package/_mjs/data/Decoder.mjs.map +1 -0
  374. package/_mjs/data/Duration/api.mjs +17 -8
  375. package/_mjs/data/Duration/api.mjs.map +1 -1
  376. package/_mjs/data/Either/api/alignWith.mjs +2 -0
  377. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  378. package/_mjs/data/Either/api.mjs +91 -21
  379. package/_mjs/data/Either/api.mjs.map +1 -1
  380. package/_mjs/data/Either/definition.mjs +25 -5
  381. package/_mjs/data/Either/definition.mjs.map +1 -1
  382. package/_mjs/data/Either/destructors.mjs +2 -0
  383. package/_mjs/data/Either/destructors.mjs.map +1 -1
  384. package/_mjs/data/Either/instances.mjs +109 -39
  385. package/_mjs/data/Either/instances.mjs.map +1 -1
  386. package/_mjs/data/Environment/api.mjs +23 -7
  387. package/_mjs/data/Environment/api.mjs.map +1 -1
  388. package/_mjs/data/Identity/api.mjs +24 -5
  389. package/_mjs/data/Identity/api.mjs.map +1 -1
  390. package/_mjs/data/Identity/definition.mjs +3 -1
  391. package/_mjs/data/Identity/definition.mjs.map +1 -1
  392. package/_mjs/data/Identity/instances.mjs +12 -18
  393. package/_mjs/data/Identity/instances.mjs.map +1 -1
  394. package/_mjs/data/Interval.mjs +114 -0
  395. package/_mjs/data/Interval.mjs.map +1 -0
  396. package/_mjs/data/Maybe/api.mjs +30 -35
  397. package/_mjs/data/Maybe/api.mjs.map +1 -1
  398. package/_mjs/data/Maybe/definition.mjs +37 -14
  399. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  400. package/_mjs/data/Maybe/destructors.mjs +1 -0
  401. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  402. package/_mjs/data/Maybe/instances.mjs +56 -39
  403. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  404. package/_mjs/data/Newtype.mjs +4 -3
  405. package/_mjs/data/Newtype.mjs.map +1 -1
  406. package/_mjs/data/Patch/api.mjs +1 -1
  407. package/_mjs/data/Patch/api.mjs.map +1 -1
  408. package/_mjs/data/Refinement/api.mjs +0 -4
  409. package/_mjs/data/Refinement/api.mjs.map +1 -1
  410. package/_mjs/data/Struct/definition.mjs +3 -2
  411. package/_mjs/data/Struct/definition.mjs.map +1 -1
  412. package/_mjs/data/These/api.mjs +262 -0
  413. package/_mjs/data/These/api.mjs.map +1 -0
  414. package/_mjs/data/These/constructors.mjs +14 -2
  415. package/_mjs/data/These/constructors.mjs.map +1 -1
  416. package/_mjs/data/These/definition.mjs +8 -0
  417. package/_mjs/data/These/definition.mjs.map +1 -1
  418. package/_mjs/data/These/destructors.mjs +53 -0
  419. package/_mjs/data/These/destructors.mjs.map +1 -1
  420. package/_mjs/data/These/instances.mjs +36 -0
  421. package/_mjs/data/These/instances.mjs.map +1 -0
  422. package/_mjs/data/These.mjs +1 -0
  423. package/_mjs/data/These.mjs.map +1 -1
  424. package/_mjs/data/bigint/definition.mjs +2 -0
  425. package/_mjs/data/bigint/definition.mjs.map +1 -0
  426. package/_mjs/data/bigint/instances.mjs +10 -0
  427. package/_mjs/data/bigint/instances.mjs.map +1 -0
  428. package/_mjs/data/bigint.mjs +4 -0
  429. package/_mjs/data/bigint.mjs.map +1 -0
  430. package/_mjs/data/boolean/definition.mjs +2 -0
  431. package/_mjs/data/boolean/definition.mjs.map +1 -0
  432. package/_mjs/data/boolean/instances.mjs +10 -0
  433. package/_mjs/data/boolean/instances.mjs.map +1 -0
  434. package/_mjs/data/boolean.mjs +4 -0
  435. package/_mjs/data/boolean.mjs.map +1 -0
  436. package/_mjs/data/number/instances.mjs +14 -4
  437. package/_mjs/data/number/instances.mjs.map +1 -1
  438. package/_mjs/data/object/instances.mjs +10 -0
  439. package/_mjs/data/object/instances.mjs.map +1 -0
  440. package/_mjs/data/string/instances.mjs +20 -8
  441. package/_mjs/data/string/instances.mjs.map +1 -1
  442. package/_mjs/internal/Stack.mjs +4 -0
  443. package/_mjs/internal/Stack.mjs.map +1 -1
  444. package/_mjs/json/EitherJson.mjs +18 -0
  445. package/_mjs/json/EitherJson.mjs.map +1 -0
  446. package/_mjs/json/MaybeJson.mjs +16 -0
  447. package/_mjs/json/MaybeJson.mjs.map +1 -0
  448. package/_mjs/json/TheseJson.mjs +22 -0
  449. package/_mjs/json/TheseJson.mjs.map +1 -0
  450. package/_mjs/optics/Optional/definition.mjs +5 -4
  451. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  452. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  453. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  454. package/_mjs/optics/Traversal/api/fromTraversable.mjs +5 -4
  455. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  456. package/_mjs/optics/Traversal/definition.mjs +14 -12
  457. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  458. package/_mjs/typeclass/Align.mjs +0 -11
  459. package/_mjs/typeclass/Align.mjs.map +1 -1
  460. package/_mjs/typeclass/Alt.mjs +4 -7
  461. package/_mjs/typeclass/Alt.mjs.map +1 -1
  462. package/_mjs/typeclass/Alternative.mjs +0 -13
  463. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  464. package/_mjs/typeclass/Applicative.mjs +0 -12
  465. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  466. package/_mjs/typeclass/ApplicativeExcept.mjs +32 -24
  467. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  468. package/_mjs/typeclass/Apply.mjs +85 -42
  469. package/_mjs/typeclass/Apply.mjs.map +1 -1
  470. package/_mjs/typeclass/Chain.mjs +33 -12
  471. package/_mjs/typeclass/Chain.mjs.map +1 -1
  472. package/_mjs/typeclass/Closure.mjs +1 -4
  473. package/_mjs/typeclass/Closure.mjs.map +1 -1
  474. package/_mjs/typeclass/Eq/definition.mjs +9 -0
  475. package/_mjs/typeclass/Eq/definition.mjs.map +1 -0
  476. package/_mjs/typeclass/Eq/derivations.mjs +46 -0
  477. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -0
  478. package/_mjs/typeclass/Eq.mjs +1 -11
  479. package/_mjs/typeclass/Eq.mjs.map +1 -1
  480. package/_mjs/typeclass/Fail.mjs +5 -7
  481. package/_mjs/typeclass/Fail.mjs.map +1 -1
  482. package/_mjs/typeclass/Filterable.mjs +27 -13
  483. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  484. package/_mjs/typeclass/FilterableWithIndex.mjs +0 -16
  485. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  486. package/_mjs/typeclass/Foldable.mjs +29 -12
  487. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  488. package/_mjs/typeclass/FoldableWithIndex.mjs +29 -13
  489. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  490. package/_mjs/typeclass/Functor.mjs +16 -9
  491. package/_mjs/typeclass/Functor.mjs.map +1 -1
  492. package/_mjs/typeclass/FunctorWithIndex.mjs +0 -12
  493. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  494. package/_mjs/typeclass/Guard/api.mjs +23 -0
  495. package/_mjs/typeclass/Guard/api.mjs.map +1 -0
  496. package/_mjs/typeclass/Guard/definition.mjs +23 -0
  497. package/_mjs/typeclass/Guard/definition.mjs.map +1 -0
  498. package/_mjs/typeclass/Guard/derivations.mjs +67 -0
  499. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -0
  500. package/_mjs/typeclass/Guard.mjs +4 -0
  501. package/_mjs/typeclass/Guard.mjs.map +1 -0
  502. package/_mjs/typeclass/HashEq.mjs +3 -3
  503. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  504. package/_mjs/typeclass/Monad.mjs +0 -12
  505. package/_mjs/typeclass/Monad.mjs.map +1 -1
  506. package/_mjs/typeclass/MonadExcept.mjs +9 -13
  507. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  508. package/_mjs/typeclass/Monoid.mjs +50 -1
  509. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  510. package/_mjs/typeclass/Nil.mjs +8 -1
  511. package/_mjs/typeclass/Nil.mjs.map +1 -1
  512. package/_mjs/typeclass/Ord/api/contramap.mjs +2 -4
  513. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  514. package/_mjs/typeclass/Ord/api/max.mjs +1 -1
  515. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  516. package/_mjs/typeclass/Ord/api/min.mjs +1 -1
  517. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  518. package/_mjs/typeclass/Ord/definition.mjs +2 -3
  519. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  520. package/_mjs/typeclass/Ord/instances.mjs +7 -7
  521. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  522. package/_mjs/typeclass/Pointed.mjs +5 -4
  523. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  524. package/_mjs/typeclass/Semialign.mjs +67 -74
  525. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  526. package/_mjs/typeclass/Semigroup/api.mjs +2 -2
  527. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  528. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  529. package/_mjs/typeclass/Semigroup/derivations.mjs +50 -0
  530. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -0
  531. package/_mjs/typeclass/Semigroup.mjs +1 -1
  532. package/_mjs/typeclass/Semimonoidal.mjs +8 -6
  533. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  534. package/_mjs/typeclass/Showable/show.mjs +11 -11
  535. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  536. package/_mjs/typeclass/Traversable.mjs +25 -24
  537. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  538. package/_mjs/typeclass/TraversableWithIndex.mjs +6 -24
  539. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  540. package/_mjs/typeclass/Witherable.mjs +39 -32
  541. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  542. package/_mjs/typeclass/WitherableWithIndex.mjs +39 -37
  543. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  544. package/_mjs/typeclass.mjs +1 -0
  545. package/_mjs/typeclass.mjs.map +1 -1
  546. package/_mjs/util/predicates.mjs +3 -0
  547. package/_mjs/util/predicates.mjs.map +1 -1
  548. package/_src/collection/Iterable/api/traverseConc.ts +21 -29
  549. package/_src/collection/Iterable/api.ts +20 -34
  550. package/_src/collection/compat/Array/api.ts +1 -1
  551. package/_src/collection/immutable/Conc/api.ts +26 -46
  552. package/_src/collection/immutable/Conc/definition.ts +19 -8
  553. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  554. package/_src/collection/immutable/HashMap/api.ts +24 -81
  555. package/_src/collection/immutable/HashMap/definition.ts +7 -9
  556. package/_src/collection/immutable/HashMap/internal.ts +1 -1
  557. package/_src/collection/immutable/HashSet/api.ts +4 -4
  558. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +6 -0
  559. package/_src/collection/immutable/ImmutableArray/api/slice.ts +6 -0
  560. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +6 -0
  561. package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +18 -0
  562. package/_src/collection/immutable/ImmutableArray/api.ts +181 -267
  563. package/_src/collection/immutable/ImmutableArray/definition.ts +6 -8
  564. package/_src/collection/immutable/ImmutableArray/instances.ts +156 -134
  565. package/_src/collection/immutable/ImmutableArray.ts +7 -0
  566. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +87 -157
  567. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -0
  568. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +18 -6
  569. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +39 -49
  570. package/_src/collection/immutable/List/api.ts +2 -6
  571. package/_src/collection/immutable/RoseTree/api.ts +272 -0
  572. package/_src/collection/immutable/RoseTree/definition.ts +29 -0
  573. package/_src/collection/immutable/RoseTree.ts +4 -0
  574. package/_src/collection/immutable/SortedMap/api.ts +56 -53
  575. package/_src/collection/immutable/Vector/api.ts +57 -17
  576. package/_src/collection/immutable/Vector/definition.ts +10 -0
  577. package/_src/collection/mutable/HashMap.ts +5 -5
  578. package/_src/collection/mutable/HashSet.ts +4 -4
  579. package/_src/control/Eval/api.ts +5 -1
  580. package/_src/control/Eval/definition.ts +5 -8
  581. package/_src/control/Eval/instance.ts +16 -15
  582. package/_src/control/Z/definition.ts +26 -19
  583. package/_src/control/Z/instances.ts +9 -8
  584. package/_src/data/Branded/definition.ts +47 -0
  585. package/_src/data/Branded/derivations.ts +57 -0
  586. package/_src/data/Branded.ts +4 -0
  587. package/_src/data/CaseClass.ts +2 -2
  588. package/_src/data/Cause/api/fold.ts +1 -0
  589. package/_src/data/Cause/api.ts +18 -0
  590. package/_src/data/Const/api.ts +3 -3
  591. package/_src/data/Const/definition.ts +22 -5
  592. package/_src/data/Const/instances.ts +12 -21
  593. package/_src/data/DecodeError/definition.ts +227 -0
  594. package/_src/data/DecodeError.ts +3 -0
  595. package/_src/data/Decoder/api.ts +198 -0
  596. package/_src/data/Decoder/definition.ts +25 -0
  597. package/_src/data/Decoder.ts +4 -0
  598. package/_src/data/Duration/api.ts +21 -14
  599. package/_src/data/Either/api/alignWith.ts +2 -0
  600. package/_src/data/Either/api.ts +85 -30
  601. package/_src/data/Either/definition.ts +41 -19
  602. package/_src/data/Either/destructors.ts +1 -0
  603. package/_src/data/Either/instances.ts +102 -51
  604. package/_src/data/Environment/api.ts +19 -4
  605. package/_src/data/Identity/api.ts +19 -4
  606. package/_src/data/Identity/definition.ts +7 -3
  607. package/_src/data/Identity/instances.ts +15 -8
  608. package/_src/data/Interval.ts +103 -0
  609. package/_src/data/Maybe/api.ts +21 -31
  610. package/_src/data/Maybe/definition.ts +31 -19
  611. package/_src/data/Maybe/destructors.ts +1 -0
  612. package/_src/data/Maybe/instances.ts +61 -34
  613. package/_src/data/Newtype.ts +11 -32
  614. package/_src/data/Patch/api.ts +1 -1
  615. package/_src/data/Refinement/api.ts +4 -2
  616. package/_src/data/Struct/definition.ts +1 -1
  617. package/_src/data/These/api.ts +184 -0
  618. package/_src/data/These/constructors.ts +10 -0
  619. package/_src/data/These/definition.ts +7 -0
  620. package/_src/data/These/destructors.ts +45 -0
  621. package/_src/data/These/instances.ts +43 -0
  622. package/_src/data/These.ts +1 -0
  623. package/_src/data/bigint/definition.ts +13 -0
  624. package/_src/data/bigint/instances.ts +8 -0
  625. package/_src/data/bigint.ts +4 -0
  626. package/_src/data/boolean/definition.ts +13 -0
  627. package/_src/data/boolean/instances.ts +8 -0
  628. package/_src/data/boolean.ts +4 -0
  629. package/_src/data/number/instances.ts +13 -3
  630. package/_src/data/object/instances.ts +7 -0
  631. package/_src/data/string/instances.ts +17 -5
  632. package/_src/internal/Stack.ts +4 -0
  633. package/_src/json/EitherJson.ts +28 -0
  634. package/_src/json/MaybeJson.ts +27 -0
  635. package/_src/json/TheseJson.ts +31 -0
  636. package/_src/optics/Optional/definition.ts +2 -2
  637. package/_src/optics/Traversal/api/compose.ts +1 -1
  638. package/_src/optics/Traversal/api/fromTraversable.ts +15 -41
  639. package/_src/optics/Traversal/definition.ts +21 -23
  640. package/_src/typeclass/Align.ts +4 -18
  641. package/_src/typeclass/Alt.ts +59 -90
  642. package/_src/typeclass/Alternative.ts +4 -20
  643. package/_src/typeclass/Applicative.ts +3 -23
  644. package/_src/typeclass/ApplicativeExcept.ts +94 -193
  645. package/_src/typeclass/Apply.ts +319 -509
  646. package/_src/typeclass/Chain.ts +127 -199
  647. package/_src/typeclass/Closure.ts +4 -20
  648. package/_src/typeclass/Eq/definition.ts +20 -0
  649. package/_src/typeclass/Eq/derivations.ts +61 -0
  650. package/_src/typeclass/Eq.ts +2 -36
  651. package/_src/typeclass/Fail.ts +28 -27
  652. package/_src/typeclass/Filterable.ts +70 -117
  653. package/_src/typeclass/FilterableWithIndex.ts +27 -131
  654. package/_src/typeclass/Foldable.ts +35 -52
  655. package/_src/typeclass/FoldableWithIndex.ts +40 -75
  656. package/_src/typeclass/Functor.ts +21 -59
  657. package/_src/typeclass/FunctorWithIndex.ts +6 -34
  658. package/_src/typeclass/Guard/api.ts +32 -0
  659. package/_src/typeclass/Guard/definition.ts +23 -0
  660. package/_src/typeclass/Guard/derivations.ts +80 -0
  661. package/_src/typeclass/Guard.ts +5 -0
  662. package/_src/typeclass/HashEq.ts +3 -4
  663. package/_src/typeclass/Monad.ts +3 -18
  664. package/_src/typeclass/MonadExcept.ts +9 -32
  665. package/_src/typeclass/Monoid.ts +60 -2
  666. package/_src/typeclass/Nil.ts +26 -17
  667. package/_src/typeclass/Ord/api/contramap.ts +2 -4
  668. package/_src/typeclass/Ord/api/max.ts +1 -1
  669. package/_src/typeclass/Ord/api/min.ts +1 -1
  670. package/_src/typeclass/Ord/definition.ts +3 -19
  671. package/_src/typeclass/Ord/instances.ts +6 -6
  672. package/_src/typeclass/Pointed.ts +29 -25
  673. package/_src/typeclass/Semialign.ts +308 -444
  674. package/_src/typeclass/Semigroup/api.ts +2 -2
  675. package/_src/typeclass/Semigroup/definition.ts +2 -6
  676. package/_src/typeclass/Semigroup/derivations.ts +64 -0
  677. package/_src/typeclass/Semigroup.ts +1 -1
  678. package/_src/typeclass/Semimonoidal.ts +55 -84
  679. package/_src/typeclass/Showable/show.ts +6 -8
  680. package/_src/typeclass/Traversable.ts +67 -157
  681. package/_src/typeclass/TraversableWithIndex.ts +37 -127
  682. package/_src/typeclass/Witherable.ts +120 -279
  683. package/_src/typeclass/WitherableWithIndex.ts +129 -337
  684. package/_src/typeclass.ts +2 -0
  685. package/_src/util/predicates.ts +4 -0
  686. package/collection/Iterable/api/traverseConc.d.ts +6 -4
  687. package/collection/Iterable/api.d.ts +5 -13
  688. package/collection/immutable/Conc/api.d.ts +15 -23
  689. package/collection/immutable/Conc/definition.d.ts +14 -7
  690. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  691. package/collection/immutable/HashMap/api.d.ts +15 -27
  692. package/collection/immutable/HashMap/definition.d.ts +7 -9
  693. package/collection/immutable/HashMap/internal.d.ts +2 -2
  694. package/collection/immutable/HashSet/definition.d.ts +1 -0
  695. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +6 -0
  696. package/collection/immutable/ImmutableArray/api/slice.d.ts +6 -0
  697. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +6 -0
  698. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +7 -0
  699. package/collection/immutable/ImmutableArray/api.d.ts +42 -119
  700. package/collection/immutable/ImmutableArray/definition.d.ts +6 -7
  701. package/collection/immutable/ImmutableArray/instances.d.ts +86 -17
  702. package/collection/immutable/ImmutableArray.d.ts +4 -0
  703. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +27 -48
  704. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -1
  705. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +15 -7
  706. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +1 -1
  707. package/collection/immutable/List/api.d.ts +1 -2
  708. package/collection/immutable/RoseTree/api.d.ts +63 -0
  709. package/collection/immutable/RoseTree/definition.d.ts +24 -0
  710. package/collection/immutable/RoseTree.d.ts +2 -0
  711. package/collection/immutable/SortedMap/api.d.ts +2 -1
  712. package/collection/immutable/SortedMap/iterator.d.ts +1 -1
  713. package/collection/immutable/Vector/api.d.ts +31 -8
  714. package/collection/immutable/Vector/definition.d.ts +13 -0
  715. package/collection/mutable/HashMap.d.ts +2 -1
  716. package/collection/mutable/HashSet.d.ts +1 -0
  717. package/collection/mutable/ListBuffer.d.ts +1 -0
  718. package/control/Eval/api.d.ts +1 -0
  719. package/control/Eval/definition.d.ts +5 -7
  720. package/control/Eval/instance.d.ts +4 -1
  721. package/control/Z/definition.d.ts +23 -17
  722. package/control/Z/instances.d.ts +4 -3
  723. package/data/Branded/definition.d.ts +36 -0
  724. package/data/Branded/derivations.d.ts +24 -0
  725. package/data/Branded.d.ts +2 -0
  726. package/data/Cause/api.d.ts +7 -1
  727. package/data/Const/api.d.ts +1 -1
  728. package/data/Const/definition.d.ts +24 -7
  729. package/data/Const/instances.d.ts +4 -12
  730. package/data/DecodeError/definition.d.ts +141 -0
  731. package/data/DecodeError.d.ts +1 -0
  732. package/data/Decoder/api.d.ts +65 -0
  733. package/data/Decoder/definition.d.ts +25 -0
  734. package/data/Decoder.d.ts +2 -0
  735. package/data/Duration/api.d.ts +12 -8
  736. package/data/Either/api.d.ts +29 -17
  737. package/data/Either/definition.d.ts +32 -14
  738. package/data/Either/instances.d.ts +26 -11
  739. package/data/Environment/api.d.ts +5 -0
  740. package/data/Exit/definition.d.ts +1 -0
  741. package/data/Identity/api.d.ts +11 -0
  742. package/data/Identity/definition.d.ts +8 -2
  743. package/data/Identity/instances.d.ts +5 -9
  744. package/data/Interval.d.ts +71 -0
  745. package/data/Maybe/api.d.ts +3 -17
  746. package/data/Maybe/definition.d.ts +23 -14
  747. package/data/Maybe/instances.d.ts +14 -8
  748. package/data/Newtype.d.ts +8 -9
  749. package/data/Refinement/api.d.ts +2 -0
  750. package/data/Struct/definition.d.ts +1 -1
  751. package/data/These/api.d.ts +73 -0
  752. package/data/These/constructors.d.ts +7 -1
  753. package/data/These/definition.d.ts +5 -0
  754. package/data/These/destructors.d.ts +27 -1
  755. package/data/These/instances.d.ts +13 -0
  756. package/data/These.d.ts +1 -0
  757. package/data/bigint/definition.d.ts +13 -0
  758. package/data/bigint/instances.d.ts +7 -0
  759. package/data/bigint.d.ts +2 -0
  760. package/data/boolean/definition.d.ts +13 -0
  761. package/data/boolean/instances.d.ts +7 -0
  762. package/data/boolean.d.ts +2 -0
  763. package/data/number/instances.d.ts +8 -0
  764. package/data/object/instances.d.ts +7 -0
  765. package/data/string/instances.d.ts +10 -0
  766. package/internal/Stack.d.ts +1 -0
  767. package/json/EitherJson.d.ts +24 -0
  768. package/json/MaybeJson.d.ts +23 -0
  769. package/json/TheseJson.d.ts +26 -0
  770. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  771. package/optics/Traversal/definition.d.ts +4 -9
  772. package/package.json +2 -2
  773. package/typeclass/Align.d.ts +3 -10
  774. package/typeclass/Alt.d.ts +6 -19
  775. package/typeclass/Alternative.d.ts +4 -12
  776. package/typeclass/Applicative.d.ts +3 -12
  777. package/typeclass/ApplicativeExcept.d.ts +14 -39
  778. package/typeclass/Apply.d.ts +41 -72
  779. package/typeclass/Chain.d.ts +18 -28
  780. package/typeclass/Closure.d.ts +2 -12
  781. package/typeclass/Eq/definition.d.ts +17 -0
  782. package/typeclass/Eq/derivations.d.ts +24 -0
  783. package/typeclass/Eq.d.ts +2 -27
  784. package/typeclass/Fail.d.ts +4 -10
  785. package/typeclass/Filterable.d.ts +30 -51
  786. package/typeclass/FilterableWithIndex.d.ts +10 -53
  787. package/typeclass/Foldable.d.ts +19 -31
  788. package/typeclass/FoldableWithIndex.d.ts +20 -33
  789. package/typeclass/Functor.d.ts +11 -22
  790. package/typeclass/FunctorWithIndex.d.ts +3 -19
  791. package/typeclass/Guard/api.d.ts +20 -0
  792. package/typeclass/Guard/definition.d.ts +23 -0
  793. package/typeclass/Guard/derivations.d.ts +36 -0
  794. package/typeclass/Guard.d.ts +2 -0
  795. package/typeclass/HashEq.d.ts +1 -2
  796. package/typeclass/Monad.d.ts +3 -11
  797. package/typeclass/MonadExcept.d.ts +6 -17
  798. package/typeclass/Monoid.d.ts +24 -2
  799. package/typeclass/Nil.d.ts +7 -8
  800. package/typeclass/Ord/definition.d.ts +2 -14
  801. package/typeclass/Pointed.d.ts +4 -10
  802. package/typeclass/Semialign.d.ts +51 -63
  803. package/typeclass/Semigroup/definition.d.ts +3 -5
  804. package/typeclass/Semigroup/derivations.d.ts +25 -0
  805. package/typeclass/Semimonoidal.d.ts +5 -14
  806. package/typeclass/Showable/show.d.ts +1 -0
  807. package/typeclass/Traversable.d.ts +17 -57
  808. package/typeclass/TraversableWithIndex.d.ts +9 -52
  809. package/typeclass/Witherable.d.ts +22 -82
  810. package/typeclass/WitherableWithIndex.d.ts +26 -98
  811. package/typeclass.d.ts +1 -0
  812. package/util/predicates.d.ts +1 -0
@@ -12,22 +12,18 @@ exports.chainRecBreadthFirst = chainRecBreadthFirst;
12
12
  exports.chainRecDepthFirst = chainRecDepthFirst;
13
13
  exports.chop = void 0;
14
14
  exports.chopSelf = chopSelf;
15
- exports.chop_ = void 0;
16
- exports.chunksOf_ = chunksOf_;
15
+ exports.chop_ = chop_;
17
16
  exports.collectWhile_ = collectWhile_;
18
17
  exports.comprehension = comprehension;
19
- exports.concat_ = void 0;
20
- exports.crossWith_ = crossWith_;
18
+ exports.crossWith_ = exports.concat_ = void 0;
19
+ exports.cross_ = cross_;
21
20
  exports.deleteAt_ = deleteAt_;
22
- exports.differenceSelf = differenceSelf;
23
21
  exports.difference_ = difference_;
24
22
  exports.dropLastWhile_ = dropLastWhile_;
25
23
  exports.dropLast_ = dropLast_;
26
24
  exports.dropWhile_ = dropWhile_;
27
25
  exports.drop_ = drop_;
28
- exports.elemSelf = elemSelf;
29
- exports.elem_ = elem_;
30
- exports.everyWithIndex_ = void 0;
26
+ exports.everyWithIndex_ = exports.elem_ = void 0;
31
27
  exports.every_ = every_;
32
28
  exports.exists_ = exists_;
33
29
  exports.filterMapWithIndex_ = void 0;
@@ -42,31 +38,26 @@ exports.findMapWithIndex_ = void 0;
42
38
  exports.findMap_ = findMap_;
43
39
  exports.findWithIndex_ = void 0;
44
40
  exports.find_ = find_;
45
- exports.flatten = exports.flatMap_ = exports.flatMapWithIndex_ = void 0;
46
- exports.fold = fold;
41
+ exports.fold = exports.flatten = exports.flatMap_ = exports.flatMapWithIndex_ = void 0;
47
42
  exports.foldLeftWhile_ = foldLeftWhile_;
48
- exports.foldLeft_ = exports.foldLeftWithIndex_ = exports.foldLeftWithIndexWhile_ = void 0;
49
- exports.foldMapSelf = foldMapSelf;
50
- exports.foldMapWithIndexSelf = void 0;
51
- exports.foldMapWithIndex_ = foldMapWithIndex_;
43
+ exports.foldMapWithIndex_ = exports.foldLeft_ = exports.foldLeftWithIndex_ = exports.foldLeftWithIndexWhile_ = void 0;
52
44
  exports.foldMap_ = foldMap_;
53
45
  exports.foldRightWhile_ = foldRightWhile_;
54
46
  exports.foldRightWithIndex_ = exports.foldRightWithIndexWhile_ = void 0;
55
47
  exports.foldRight_ = foldRight_;
56
- exports.get_ = exports.forEach_ = exports.foldSelf = void 0;
48
+ exports.get_ = exports.forEach_ = void 0;
57
49
  exports.group = group;
58
50
  exports.groupBy_ = groupBy_;
59
51
  exports.head = head;
60
52
  exports.init = init;
61
53
  exports.insertAt_ = insertAt_;
62
- exports.intersectionSelf = intersectionSelf;
63
54
  exports.intersection_ = intersection_;
64
55
  exports.intersperse_ = intersperse_;
65
- exports.isOutOfBound_ = exports.isNonEmpty = exports.isEmpty = void 0;
56
+ exports.isOutOfBound_ = exports.isEmpty = void 0;
66
57
  exports.join = join;
67
58
  exports.last = last;
68
59
  exports.lefts = lefts;
69
- exports.length = void 0;
60
+ exports.length = length;
70
61
  exports.mapAccum_ = mapAccum_;
71
62
  exports.map_ = exports.mapWithIndex_ = void 0;
72
63
  exports.modifyAt_ = modifyAt_;
@@ -80,57 +71,63 @@ exports.rights = rights;
80
71
  exports.rotate_ = void 0;
81
72
  exports.scanLeft_ = scanLeft_;
82
73
  exports.scanRight_ = scanRight_;
83
- exports.sort = exports.slice_ = exports.sequenceSelf = exports.sequence = void 0;
74
+ exports.sort = void 0;
84
75
  exports.sortBy = sortBy;
85
76
  exports.spanIndexRight_ = exports.spanIndexLeft_ = void 0;
86
77
  exports.spanLeft_ = spanLeft_;
87
78
  exports.spanRight_ = spanRight_;
88
- exports.splitAt_ = void 0;
89
- exports.splitWhere_ = splitWhere_;
90
79
  exports.tail = tail;
91
80
  exports.takeLast_ = takeLast_;
92
81
  exports.takeWhile_ = takeWhile_;
93
82
  exports.take_ = take_;
94
- exports.traverse_ = exports.traverseWithIndex_ = exports.traverseWithIndexSelf = exports.traverseWithIndex = exports.traverseSelf = exports.traverse = void 0;
83
+ exports.traverse_ = exports.traverseWithIndex_ = void 0;
95
84
  exports.union_ = union_;
96
85
  exports.uniq = uniq;
97
- exports.uniqSelf = uniqSelf;
98
86
  exports.unprepend = unprepend;
99
- exports.unsafeUpdateAt_ = exports.unsafeModifyAt_ = exports.unsafeInsertAt_ = exports.unsafeGet = exports.unsafeDeleteAt_ = exports.unsafeAsMutable = void 0;
87
+ exports.unsafeAsMutable = void 0;
88
+ exports.unsafeUpdateAt_ = exports.unsafeModifyAt_ = exports.unsafeInsertAt_ = exports.unsafeGet = exports.unsafeDeleteAt_ = void 0;
100
89
  exports.unzip = unzip;
101
90
  exports.updateAt_ = updateAt_;
102
- exports.zipWith_ = exports.wither_ = exports.witherWithIndex_ = exports.witherWithIndexSelf = exports.witherWithIndex = exports.witherSelf = exports.wither = exports.wilt_ = exports.wiltWithIndex_ = exports.wiltWithIndexSelf = exports.wiltWithIndex = exports.wiltSelf = exports.wilt = void 0;
91
+ exports.wiltWithIndex_ = wiltWithIndex_;
92
+ exports.wilt_ = wilt_;
93
+ exports.witherWithIndex_ = void 0;
94
+ exports.wither_ = wither_;
95
+ exports.zipWith_ = void 0;
103
96
  exports.zip_ = zip_;
104
97
 
105
98
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/These/constructors"));
106
99
 
107
100
  var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableArray/constructors"));
108
101
 
109
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableNonEmptyArray/api"));
102
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableArray/api/slice"));
103
+
104
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition"));
105
+
106
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
110
107
 
111
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
108
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/constructors"));
112
109
 
113
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/constructors"));
110
+ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/instance"));
114
111
 
115
- var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/instance"));
112
+ var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/api"));
116
113
 
117
- var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/api"));
114
+ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/run"));
118
115
 
119
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/control/Eval/run"));
116
+ var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
120
117
 
121
- var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
118
+ var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableNonEmptyArray/constructors"));
122
119
 
123
- var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableNonEmptyArray/constructors"));
120
+ var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Dictionary/api"));
124
121
 
125
- var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Dictionary/api"));
122
+ var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Dictionary/definition"));
126
123
 
127
- var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Dictionary/definition"));
124
+ var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Ord/instances"));
128
125
 
129
- var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Ord/instances"));
126
+ var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Apply"));
130
127
 
131
- var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/function/api"));
128
+ var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
132
129
 
133
- var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
130
+ var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Functor"));
134
131
 
135
132
  var _function = /*#__PURE__*/require("@fncts/base/data/function");
136
133
 
@@ -144,16 +141,18 @@ const alignWith_ = alignWith_1;
144
141
  exports.alignWith_ = alignWith_;
145
142
  const append_ = append_1;
146
143
  exports.append_ = append_;
144
+ const crossWith_ = crossWith_1;
145
+ exports.crossWith_ = crossWith_;
147
146
  const flatMapWithIndex_ = flatMapWithIndex_1;
148
147
  exports.flatMapWithIndex_ = flatMapWithIndex_;
149
148
  const flatMap_ = flatMap_1;
150
149
  exports.flatMap_ = flatMap_;
151
150
  const flatten = flatten_1;
152
151
  exports.flatten = flatten;
153
- const chop_ = chop_1;
154
- exports.chop_ = chop_;
155
152
  const concat_ = concat_1;
156
153
  exports.concat_ = concat_;
154
+ const elem_ = elem_1;
155
+ exports.elem_ = elem_;
157
156
  const everyWithIndex_ = everyWithIndex_1;
158
157
  exports.everyWithIndex_ = everyWithIndex_;
159
158
  const filter_ = filter_1;
@@ -174,10 +173,10 @@ const foldLeft_ = foldLeft_1;
174
173
  exports.foldLeft_ = foldLeft_;
175
174
  const foldLeftWithIndexWhile_ = foldLeftWithIndexWhile_1;
176
175
  exports.foldLeftWithIndexWhile_ = foldLeftWithIndexWhile_;
177
- const foldSelf = foldSelf_1;
178
- exports.foldSelf = foldSelf;
179
- const foldMapWithIndexSelf = foldMapWithIndexSelf_1;
180
- exports.foldMapWithIndexSelf = foldMapWithIndexSelf;
176
+ const fold = fold_1;
177
+ exports.fold = fold;
178
+ const foldMapWithIndex_ = foldMapWithIndex_1;
179
+ exports.foldMapWithIndex_ = foldMapWithIndex_;
181
180
  const foldRightWithIndex_ = foldRightWithIndex_1;
182
181
  exports.foldRightWithIndex_ = foldRightWithIndex_;
183
182
  const foldRightWithIndexWhile_ = foldRightWithIndexWhile_1;
@@ -188,12 +187,8 @@ const get_ = get_1;
188
187
  exports.get_ = get_;
189
188
  const isEmpty = isEmpty_1;
190
189
  exports.isEmpty = isEmpty;
191
- const isNonEmpty = isNonEmpty_1;
192
- exports.isNonEmpty = isNonEmpty;
193
190
  const isOutOfBound_ = isOutOfBound_1;
194
191
  exports.isOutOfBound_ = isOutOfBound_;
195
- const length = length_1;
196
- exports.length = length;
197
192
  const map_ = map_1;
198
193
  exports.map_ = map_;
199
194
  const mapWithIndex_ = mapWithIndex_1;
@@ -218,10 +213,6 @@ const spanIndexLeft_ = spanIndexLeft_1;
218
213
  exports.spanIndexLeft_ = spanIndexLeft_;
219
214
  const spanIndexRight_ = spanIndexRight_1;
220
215
  exports.spanIndexRight_ = spanIndexRight_;
221
- const slice_ = slice_1;
222
- exports.slice_ = slice_;
223
- const splitAt_ = splitAt_1;
224
- exports.splitAt_ = splitAt_;
225
216
  const unsafeGet = unsafeGet_1;
226
217
  exports.unsafeGet = unsafeGet;
227
218
  const unsafeAsMutable = unsafeAsMutable_1;
@@ -234,6 +225,8 @@ const unsafeModifyAt_ = unsafeModifyAt_1;
234
225
  exports.unsafeModifyAt_ = unsafeModifyAt_;
235
226
  const unsafeUpdateAt_ = unsafeUpdateAt_1;
236
227
  exports.unsafeUpdateAt_ = unsafeUpdateAt_;
228
+ const witherWithIndex_ = witherWithIndex_1;
229
+ exports.witherWithIndex_ = witherWithIndex_;
237
230
  const zipWith_ = zipWith_1;
238
231
  exports.zipWith_ = zipWith_;
239
232
 
@@ -311,20 +304,29 @@ function append_1(self, last) {
311
304
  */
312
305
 
313
306
 
314
- function crossWith_(self, fb, f) {
307
+ function crossWith_1(self, fb, f) {
315
308
  return flatMap_1(self, a => map_1(fb, b => f(a, b)));
316
309
  }
310
+ /**
311
+ * @tsplus fluent fncts.ImmutableArray cross
312
+ */
313
+
314
+
315
+ function cross_(self, fb) {
316
+ return crossWith_1(self, fb, _function.tuple);
317
+ }
317
318
  /**
318
319
  * @tsplus static fncts.ImmutableArrayOps chainRecDepthFirst
319
320
  */
320
321
 
321
322
 
322
323
  function chainRecDepthFirst(a, f) {
323
- const buffer = unsafeAsMutable_1(slice_1(f(a)));
324
+ const buffer = unsafeAsMutable_1(tsplus_module_3.slice_(f(a)));
324
325
  const out = [];
325
326
 
326
327
  while (buffer.length > 0) {
327
328
  const e = buffer.shift();
329
+ void 0;
328
330
 
329
331
  if (e._tag === "Left"
330
332
  /* EitherTag.Left */
@@ -348,6 +350,8 @@ function chainRecBreadthFirst(a, f) {
348
350
  const out = [];
349
351
 
350
352
  function go(e) {
353
+ void 0;
354
+
351
355
  if (e._tag === "Left") {
352
356
  forEach_1(f(e.left), v => buffer.push(v));
353
357
  } else {
@@ -426,11 +430,11 @@ function flatten_1(self) {
426
430
  */
427
431
 
428
432
 
429
- function chop_1(as, f) {
433
+ function chop_(as, f) {
430
434
  const result = [];
431
435
  let cs = as;
432
436
 
433
- while (isNonEmpty_1(cs)) {
437
+ while (tsplus_module_4.isNonEmpty(cs)) {
434
438
  const [b, c] = f(cs);
435
439
  result.push(b);
436
440
  cs = c;
@@ -441,27 +445,19 @@ function chop_1(as, f) {
441
445
 
442
446
  const chop = f => as => chop_(as, f);
443
447
  /**
444
- * @tsplus fluent fncts.ImmutableArray chunksOf
448
+ * @tsplus fluent fncts.ImmutableArray collectWhile
445
449
  */
446
450
 
447
451
 
448
452
  exports.chop = chop;
449
453
 
450
- function chunksOf_(self, n) {
451
- return chop_1(self, as => tsplus_module_3.splitAt_(as, n));
452
- }
453
- /**
454
- * @tsplus fluent fncts.ImmutableArray collectWhile
455
- */
456
-
457
-
458
454
  function collectWhile_(as, f) {
459
455
  const result = [];
460
456
 
461
- for (let i = 0; i < length_1(as); i++) {
457
+ for (let i = 0; i < tsplus_module_4.length(as); i++) {
462
458
  const o = f(as._array[i]);
463
459
 
464
- if (tsplus_module_4.isJust(o)) {
460
+ if (tsplus_module_5.isJust(o)) {
465
461
  result.push(o.value);
466
462
  } else {
467
463
  break;
@@ -473,19 +469,18 @@ function collectWhile_(as, f) {
473
469
 
474
470
  function comprehensionLoop(scope, input, f, g) {
475
471
  if (input.length === 0) {
476
- return g(...scope) ? tsplus_module_5.now(tsplus_module_2.make(f(...scope))) : tsplus_module_5.now(tsplus_module_2.empty());
472
+ return g(...scope) ? tsplus_module_6.now(tsplus_module_2.make(f(...scope))) : tsplus_module_6.now(tsplus_module_2.empty());
477
473
  } else {
478
- return tsplus_module_7.map_(traverseSelf_1(input[0])(tsplus_module_6.Applicative)(a => comprehensionLoop(append_1(scope, a), input.slice(1), f, g)), rs => flatten_1(rs));
474
+ return tsplus_module_8.map_(traverse_1(input[0], a => comprehensionLoop(append_1(scope, a), input.slice(1), f, g), tsplus_module_7.Applicative), rs => flatten_1(rs));
479
475
  }
480
476
  }
481
477
 
482
478
  function comprehension(input, f, g = () => true) {
483
- return tsplus_module_8.run(comprehensionLoop(tsplus_module_2.empty(), input, f, g));
479
+ return tsplus_module_9.run(comprehensionLoop(tsplus_module_2.empty(), input, f, g));
484
480
  }
485
481
  /**
486
482
  * @tsplus fluent fncts.ImmutableArray concat
487
483
  * @tsplus operator fncts.ImmutableArray +
488
- * @tsplus operator fncts.base.MutableArray +
489
484
  */
490
485
 
491
486
 
@@ -520,24 +515,17 @@ function concat_1(self, that) {
520
515
 
521
516
 
522
517
  function deleteAt_(as, i) {
523
- return isOutOfBound_1(as, i) ? tsplus_module_9.nothing() : tsplus_module_9.just(unsafeDeleteAt_1(as, i));
518
+ return isOutOfBound_1(as, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeDeleteAt_1(as, i));
524
519
  }
525
520
  /**
526
- * @constrained
521
+ * @tsplus fluent fncts.ImmutableArray difference
527
522
  */
528
523
 
529
524
 
530
- function difference_(E) {
531
- const elemE_ = elem_(E);
532
- return (self, ys) => filter_1(self, a => !elemE_(ys, a));
533
- }
534
- /**
535
- * @tsplus getter fncts.ImmutableArray difference
536
- */
537
-
538
-
539
- function differenceSelf(self) {
540
- return E => that => difference_(E)(self, that);
525
+ function difference_(self, ys,
526
+ /** @tsplus auto */
527
+ E) {
528
+ return filter_1(self, a => !elem_1(ys, a, E));
541
529
  }
542
530
  /**
543
531
  * @tsplus fluent fncts.ImmutableArray drop
@@ -545,7 +533,7 @@ function differenceSelf(self) {
545
533
 
546
534
 
547
535
  function drop_(self, n) {
548
- return slice_1(self, n);
536
+ return tsplus_module_3.slice_(self, n);
549
537
  }
550
538
  /**
551
539
  * @tsplus fluent fncts.ImmutableArray dropLast
@@ -553,7 +541,7 @@ function drop_(self, n) {
553
541
 
554
542
 
555
543
  function dropLast_(self, n) {
556
- return slice_1(self, 0, length_1(self) - n);
544
+ return tsplus_module_3.slice_(self, 0, tsplus_module_4.length(self) - n);
557
545
  }
558
546
  /**
559
547
  * @tsplus fluent fncts.ImmutableArray dropWhile
@@ -561,7 +549,7 @@ function dropLast_(self, n) {
561
549
 
562
550
 
563
551
  function dropWhile_(self, p) {
564
- return slice_1(self, spanIndexLeft_1(self, p));
552
+ return tsplus_module_3.slice_(self, spanIndexLeft_1(self, p));
565
553
  }
566
554
  /**
567
555
  * @tsplus fluent fncts.ImmutableArray dropLastWhile
@@ -569,43 +557,31 @@ function dropWhile_(self, p) {
569
557
 
570
558
 
571
559
  function dropLastWhile_(as, p) {
572
- return slice_1(as, 0, spanIndexRight_1(as, p) + 1);
560
+ return tsplus_module_3.slice_(as, 0, spanIndexRight_1(as, p) + 1);
573
561
  }
574
562
  /**
575
563
  * Test if a value is a member of an array. Takes an `Eq<A>` as a single
576
564
  * argument which returns the function to use to search for a value of type `A` in
577
565
  * an array of type `ImmutableArray<A>`.
578
566
  *
579
- * @constrained
567
+ * @tsplus fluent fncts.ImmutableArray elem
580
568
  */
581
569
 
582
570
 
583
- function elem_(E) {
584
- return (as, a) => {
585
- const predicate = element => E.equals_(element, a);
571
+ function elem_1(as, a,
572
+ /** @tsplus auto */
573
+ E) {
574
+ const predicate = element => E.equals(element, a);
586
575
 
587
- const len = length_1(as);
576
+ const len = tsplus_module_4.length(as);
588
577
 
589
- for (let i = 0; i < len; i++) {
590
- if (predicate(as._array[i])) {
591
- return true;
592
- }
578
+ for (let i = 0; i < len; i++) {
579
+ if (predicate(as._array[i])) {
580
+ return true;
593
581
  }
582
+ }
594
583
 
595
- return false;
596
- };
597
- }
598
- /**
599
- * Test if a value is a member of an array. Takes an `Eq<A>` as a single
600
- * argument which returns the function to use to search for a value of type `A` in
601
- * an array of type `ImmutableArray<A>`.
602
- *
603
- * @tsplus getter fncts.ImmutableArray elem
604
- */
605
-
606
-
607
- function elemSelf(self) {
608
- return E => a => elem_(E)(self, a);
584
+ return false;
609
585
  }
610
586
 
611
587
  function every_(self, p) {
@@ -616,7 +592,7 @@ function everyWithIndex_1(self, p) {
616
592
  let result = true;
617
593
  let i = 0;
618
594
 
619
- while (result && i < length_1(self)) {
595
+ while (result && i < tsplus_module_4.length(self)) {
620
596
  result = p(i, self._array[i]);
621
597
  i++;
622
598
  }
@@ -632,7 +608,7 @@ function exists_(self, p) {
632
608
  let result = false;
633
609
  let i = 0;
634
610
 
635
- while (!result && i < length_1(self)) {
611
+ while (!result && i < tsplus_module_4.length(self)) {
636
612
  result = p(self._array[i]);
637
613
  i++;
638
614
  }
@@ -647,7 +623,7 @@ function filter_1(self, p) {
647
623
  function filterWithIndex_1(self, p) {
648
624
  const result = [];
649
625
 
650
- for (let i = 0; i < length_1(self); i++) {
626
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
651
627
  const a = self._array[i];
652
628
 
653
629
  if (p(i, a)) {
@@ -665,10 +641,10 @@ function filterWithIndex_1(self, p) {
665
641
  function filterMapWithIndex_1(fa, f) {
666
642
  const result = [];
667
643
 
668
- for (let i = 0; i < length_1(fa); i++) {
644
+ for (let i = 0; i < tsplus_module_4.length(fa); i++) {
669
645
  const maybeB = f(i, unsafeGet_1(fa, i));
670
646
 
671
- if (tsplus_module_4.isJust(maybeB)) {
647
+ if (tsplus_module_5.isJust(maybeB)) {
672
648
  result.push(maybeB.value);
673
649
  }
674
650
  }
@@ -693,19 +669,19 @@ function find_(self, p) {
693
669
 
694
670
 
695
671
  function findIndex_(as, predicate) {
696
- return findMapWithIndex_1(as, (i, a) => predicate(a) ? tsplus_module_9.just(i) : tsplus_module_9.nothing());
672
+ return findMapWithIndex_1(as, (i, a) => predicate(a) ? tsplus_module_10.just(i) : tsplus_module_10.nothing());
697
673
  }
698
674
 
699
675
  function findWithIndex_1(as, p) {
700
- const len = length_1(as);
676
+ const len = tsplus_module_4.length(as);
701
677
 
702
678
  for (let i = 0; i < len; i++) {
703
679
  if (p(i, as._array[i])) {
704
- return tsplus_module_9.just(as._array[i]);
680
+ return tsplus_module_10.just(as._array[i]);
705
681
  }
706
682
  }
707
683
 
708
- return tsplus_module_9.nothing();
684
+ return tsplus_module_10.nothing();
709
685
  }
710
686
  /**
711
687
  * @tsplus fluent fncts.ImmutableArray findMap
@@ -721,29 +697,29 @@ function findMap_(as, f) {
721
697
 
722
698
 
723
699
  function findMapWithIndex_1(as, f) {
724
- const len = length_1(as);
700
+ const len = tsplus_module_4.length(as);
725
701
 
726
702
  for (let i = 0; i < len; i++) {
727
703
  const v = f(i, as._array[i]);
728
704
 
729
- if (tsplus_module_4.isJust(v)) {
705
+ if (tsplus_module_5.isJust(v)) {
730
706
  return v;
731
707
  }
732
708
  }
733
709
 
734
- return tsplus_module_9.nothing();
710
+ return tsplus_module_10.nothing();
735
711
  }
736
712
 
737
713
  function findLast_(as, p) {
738
- const len = length_1(as);
714
+ const len = tsplus_module_4.length(as);
739
715
 
740
716
  for (let i = len - 1; i >= 0; i--) {
741
717
  if (p(as._array[i])) {
742
- return tsplus_module_9.just(as._array[i]);
718
+ return tsplus_module_10.just(as._array[i]);
743
719
  }
744
720
  }
745
721
 
746
- return tsplus_module_9.nothing();
722
+ return tsplus_module_10.nothing();
747
723
  }
748
724
  /**
749
725
  * @tsplus fluent fncts.ImmutableArray findLastIndex
@@ -751,7 +727,7 @@ function findLast_(as, p) {
751
727
 
752
728
 
753
729
  function findLastIndex_(self, p) {
754
- return findLastMapWithIndex_1(self, (i, a) => p(a) ? tsplus_module_9.just(i) : tsplus_module_9.nothing());
730
+ return findLastMapWithIndex_1(self, (i, a) => p(a) ? tsplus_module_10.just(i) : tsplus_module_10.nothing());
755
731
  }
756
732
  /**
757
733
  * @tsplus fluent fncts.ImmutableArray findLastMap
@@ -767,17 +743,17 @@ function findLastMap_(as, f) {
767
743
 
768
744
 
769
745
  function findLastMapWithIndex_1(as, f) {
770
- const len = length_1(as);
746
+ const len = tsplus_module_4.length(as);
771
747
 
772
748
  for (let i = len - 1; i >= 0; i--) {
773
749
  const v = f(i, as._array[i]);
774
750
 
775
- if (tsplus_module_4.isJust(v)) {
751
+ if (tsplus_module_5.isJust(v)) {
776
752
  return v;
777
753
  }
778
754
  }
779
755
 
780
- return tsplus_module_9.nothing();
756
+ return tsplus_module_10.nothing();
781
757
  }
782
758
  /**
783
759
  * @tsplus fluent fncts.ImmutableArray foldLeftWithIndex
@@ -786,7 +762,7 @@ function findLastMapWithIndex_1(as, f) {
786
762
 
787
763
 
788
764
  function foldLeftWithIndex_1(self, b, f) {
789
- const len = length_1(self);
765
+ const len = tsplus_module_4.length(self);
790
766
  let r = b;
791
767
 
792
768
  for (let i = 0; i < len; i++) {
@@ -823,74 +799,52 @@ function foldLeftWithIndexWhile_1(self, b, p, f) {
823
799
  let out = b;
824
800
  let cont = p(out);
825
801
 
826
- for (let i = 0; cont && i < length_1(self); i++) {
802
+ for (let i = 0; cont && i < tsplus_module_4.length(self); i++) {
827
803
  out = f(i, out, self._array[i]);
828
804
  cont = p(out);
829
805
  }
830
806
 
831
807
  return out;
832
808
  }
833
-
834
- function fold(M) {
835
- return self => foldLeft_1(self, M.nat, M.combine_);
836
- }
837
809
  /**
838
810
  * @tsplus fluent fncts.ImmutableArray fold
839
- * @tsplus fluent fncts.base.MutableArray fold
840
811
  */
841
812
 
842
813
 
843
- function foldSelf_1(self, M) {
844
- return foldLeft_1(self, M.nat, M.combine_);
814
+ function fold_1(self,
815
+ /** @tsplus auto */
816
+ M) {
817
+ return foldLeft_1(self, M.nat, M.combine);
845
818
  }
846
819
  /**
847
- * @constrained
820
+ * @tsplus fluent fncts.ImmutableArray foldMapWithIndex
848
821
  */
849
822
 
850
823
 
851
- function foldMapWithIndex_(M) {
852
- return (self, f) => {
853
- return foldLeftWithIndex_1(self, M.nat, (i, b, a) => M.combine_(b, f(i, a)));
854
- };
824
+ function foldMapWithIndex_1(self, f,
825
+ /** @tsplus auto */
826
+ M) {
827
+ return foldLeftWithIndex_1(self, M.nat, (i, b, a) => M.combine(b, f(i, a)));
855
828
  }
856
829
  /**
857
- * @tsplus getter fncts.ImmutableArray foldMapWithIndex
858
- * @tsplus getter fncts.base.MutableArray foldMapWithIndex
830
+ * @tsplus fluent fncts.ImmutableArray foldMap
859
831
  */
860
832
 
861
833
 
862
- function foldMapWithIndexSelf_1(self) {
863
- return M => f => foldMapWithIndex_(M)(self, f);
864
- }
865
- /**
866
- * @constrained
867
- */
868
-
869
-
870
- function foldMap_(M) {
871
- return (self, f) => {
872
- return foldMapWithIndexSelf_1(self)(M)((_, a) => f(a));
873
- };
874
- }
875
- /**
876
- * @tsplus getter fncts.ImmutableArray foldMap
877
- * @tsplus getter fncts.base.MutableArray foldMap
878
- */
879
-
880
-
881
- function foldMapSelf(self) {
882
- return M => f => foldMapWithIndexSelf_1(self)(M)((_, a) => f(a));
834
+ function foldMap_(self, f,
835
+ /** @tsplus auto */
836
+ M) {
837
+ return foldMapWithIndex_1(self, (_, a) => f(a), M);
883
838
  }
884
839
  /**
885
840
  * @tsplus fluent fncts.ImmutableArray foldRightWithIndex
886
- * @tsplus fluent fncts.base.MutableArray foldRightWithIndex
887
841
  */
888
842
 
889
843
 
890
844
  function foldRightWithIndex_1(self, b, f) {
891
845
  let r = b;
892
846
 
893
- for (let i = length_1(self) - 1; i >= 0; i--) {
847
+ for (let i = tsplus_module_4.length(self) - 1; i >= 0; i--) {
894
848
  r = f(i, self._array[i], r);
895
849
  }
896
850
 
@@ -898,7 +852,6 @@ function foldRightWithIndex_1(self, b, f) {
898
852
  }
899
853
  /**
900
854
  * @tsplus fluent fncts.ImmutableArray foldRight
901
- * @tsplus fluent fncts.base.MutableArray foldRight
902
855
  */
903
856
 
904
857
 
@@ -907,7 +860,6 @@ function foldRight_(self, b, f) {
907
860
  }
908
861
  /**
909
862
  * @tsplus fluent fncts.ImmutableArray foldRighWhile
910
- * @tsplus fluent fncts.base.MutableArray foldRightWhile
911
863
  */
912
864
 
913
865
 
@@ -916,7 +868,6 @@ function foldRightWhile_(self, b, p, f) {
916
868
  }
917
869
  /**
918
870
  * @tsplus fluent fncts.ImmutableArray foldRightWithIndexWhile
919
- * @tsplus fluent fncts.base.MutableArray foldRightWithIndexWhile
920
871
  */
921
872
 
922
873
 
@@ -924,7 +875,7 @@ function foldRightWithIndexWhile_1(self, b, predicate, f) {
924
875
  let out = b;
925
876
  let cont = predicate(out);
926
877
 
927
- for (let i = length_1(self) - 1; cont && i >= 0; i--) {
878
+ for (let i = tsplus_module_4.length(self) - 1; cont && i >= 0; i--) {
928
879
  out = f(i, self._array[i], out);
929
880
  cont = predicate(out);
930
881
  }
@@ -946,7 +897,7 @@ function forEach_1(self, f) {
946
897
 
947
898
 
948
899
  function get_1(self, i) {
949
- return isOutOfBound_1(self, i) ? tsplus_module_9.nothing() : tsplus_module_9.just(self._array[i]);
900
+ return isOutOfBound_1(self, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(self._array[i]);
950
901
  }
951
902
 
952
903
  function group(E) {
@@ -955,17 +906,17 @@ function group(E) {
955
906
  const out = [h];
956
907
  let i = 1;
957
908
 
958
- for (; i < length_1(self); i++) {
909
+ for (; i < tsplus_module_4.length(self); i++) {
959
910
  const a = self._array[i];
960
911
 
961
- if (E.equals_(a, h)) {
912
+ if (E.equals(a, h)) {
962
913
  out.push(a);
963
914
  } else {
964
915
  break;
965
916
  }
966
917
  }
967
918
 
968
- return [tsplus_module_10.unsafeAsNonEmptyArray(out), slice_1(self, i)];
919
+ return [tsplus_module_11.unsafeAsNonEmptyArray(out), tsplus_module_3.slice_(self, i)];
969
920
  });
970
921
  }
971
922
  /**
@@ -984,7 +935,7 @@ function chopSelf(self, E) {
984
935
  function groupBy_(self, f) {
985
936
  const out = {};
986
937
 
987
- for (let i = 0; i < length_1(self); i++) {
938
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
988
939
  const a = self._array[i];
989
940
  const k = f(a);
990
941
 
@@ -995,7 +946,7 @@ function groupBy_(self, f) {
995
946
  }
996
947
  }
997
948
 
998
- return tsplus_module_11.toRecord(tsplus_module_11.map_(tsplus_module_12.Dictionary.get(out), tsplus_module_10.from));
949
+ return tsplus_module_12.toRecord(tsplus_module_12.map_(tsplus_module_13.Dictionary.get(out), tsplus_module_11.from));
999
950
  }
1000
951
  /**
1001
952
  * @tsplus getter fncts.ImmutableArray head
@@ -1003,7 +954,7 @@ function groupBy_(self, f) {
1003
954
 
1004
955
 
1005
956
  function head(self) {
1006
- return isNonEmpty_1(self) ? tsplus_module_9.just(self._array[0]) : tsplus_module_9.nothing();
957
+ return tsplus_module_4.isNonEmpty(self) ? tsplus_module_10.just(self._array[0]) : tsplus_module_10.nothing();
1007
958
  }
1008
959
  /**
1009
960
  * @tsplus getter fncts.ImmutableArray init
@@ -1011,8 +962,8 @@ function head(self) {
1011
962
 
1012
963
 
1013
964
  function init(self) {
1014
- const len = length_1(self);
1015
- return len === 0 ? tsplus_module_9.nothing() : tsplus_module_9.just(slice_1(self, 0, len - 1));
965
+ const len = tsplus_module_4.length(self);
966
+ return len === 0 ? tsplus_module_10.nothing() : tsplus_module_10.just(tsplus_module_3.slice_(self, 0, len - 1));
1016
967
  }
1017
968
  /**
1018
969
  * @tsplus fluent fncts.ImmutableArray insertAt
@@ -1020,25 +971,22 @@ function init(self) {
1020
971
 
1021
972
 
1022
973
  function insertAt_(self, i, a) {
1023
- return isOutOfBound_1(self, i) ? tsplus_module_9.nothing() : tsplus_module_9.just(unsafeInsertAt_1(self, i, a));
1024
- }
1025
-
1026
- function intersection_(E) {
1027
- const elemE = elem_(E);
1028
- return (self, that) => filter_1(self, a => elemE(that, a));
974
+ return isOutOfBound_1(self, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeInsertAt_1(self, i, a));
1029
975
  }
1030
976
  /**
1031
- * @tsplus getter fncts.ImmutableArray intersection
977
+ * @tsplus fluent fncts.ImmutableArray intersection
1032
978
  */
1033
979
 
1034
980
 
1035
- function intersectionSelf(self) {
1036
- return E => that => intersection_(E)(self, that);
981
+ function intersection_(self, that,
982
+ /** @tsplus auto */
983
+ E) {
984
+ return filter_1(self, a => elem_1(that, a, E));
1037
985
  }
1038
986
 
1039
987
  function intersperse_(self, a) {
1040
- const len = length_1(self);
1041
- return len === 0 ? self : prepend_1(prependAll_1(slice_1(self, 1, len), a), unsafeGet_1(self, 0));
988
+ const len = tsplus_module_4.length(self);
989
+ return len === 0 ? self : prepend_1(prependAll_1(tsplus_module_3.slice_(self, 1, len), a), unsafeGet_1(self, 0));
1042
990
  }
1043
991
  /**
1044
992
  * @tsplus fluent fncts.ImmutableArray isEmpty
@@ -1046,15 +994,7 @@ function intersperse_(self, a) {
1046
994
 
1047
995
 
1048
996
  function isEmpty_1(self) {
1049
- return length_1(self) === 0;
1050
- }
1051
- /**
1052
- * @tsplus fluent fncts.ImmutableArray isNonEmpty
1053
- */
1054
-
1055
-
1056
- function isNonEmpty_1(self) {
1057
- return length_1(self) > 0;
997
+ return tsplus_module_4.length(self) === 0;
1058
998
  }
1059
999
  /**
1060
1000
  * @tsplus fluent fncts.ImmutableArray isOutOfBound
@@ -1062,7 +1002,7 @@ function isNonEmpty_1(self) {
1062
1002
 
1063
1003
 
1064
1004
  function isOutOfBound_1(self, i) {
1065
- return i < 0 || i >= length_1(self);
1005
+ return i < 0 || i >= tsplus_module_4.length(self);
1066
1006
  }
1067
1007
  /**
1068
1008
  * @tsplus fluent fncts.ImmutableArray join
@@ -1078,14 +1018,14 @@ function join(self, separator) {
1078
1018
 
1079
1019
 
1080
1020
  function last(self) {
1081
- return get_1(self, length_1(self) - 1);
1021
+ return get_1(self, tsplus_module_4.length(self) - 1);
1082
1022
  }
1083
1023
  /**
1084
1024
  * @tsplus getter fncts.ImmutableArray length
1085
1025
  */
1086
1026
 
1087
1027
 
1088
- function length_1(self) {
1028
+ function length(self) {
1089
1029
  return self._array.length;
1090
1030
  }
1091
1031
  /**
@@ -1096,8 +1036,9 @@ function length_1(self) {
1096
1036
  function lefts(self) {
1097
1037
  const ls = [];
1098
1038
 
1099
- for (let i = 0; i < length_1(self); i++) {
1039
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1100
1040
  const a = self._array[i];
1041
+ void 0;
1101
1042
 
1102
1043
  if (a._tag === "Left"
1103
1044
  /* EitherTag.Left */
@@ -1122,10 +1063,10 @@ function map_1(self, f) {
1122
1063
 
1123
1064
 
1124
1065
  function mapAccum_(self, s, f) {
1125
- const bs = Array(length_1(self));
1066
+ const bs = Array(tsplus_module_4.length(self));
1126
1067
  let state = s;
1127
1068
 
1128
- for (let i = 0; i < length_1(self); i++) {
1069
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1129
1070
  const result = f(state, self._array[i]);
1130
1071
  bs[i] = result[0];
1131
1072
  state = result[1];
@@ -1154,7 +1095,7 @@ function mapWithIndex_1(self, f) {
1154
1095
 
1155
1096
 
1156
1097
  function modifyAt_(self, i, f) {
1157
- return isOutOfBound_1(self, i) ? tsplus_module_9.nothing() : tsplus_module_9.just(unsafeModifyAt_1(self, i, f));
1098
+ return isOutOfBound_1(self, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeModifyAt_1(self, i, f));
1158
1099
  }
1159
1100
  /**
1160
1101
  * @tsplus fluent fncts.ImmutableArray mutate
@@ -1172,14 +1113,14 @@ function mutate_1(self, f) {
1172
1113
 
1173
1114
 
1174
1115
  function mutableClone_1(self) {
1175
- return slice_1(self, 0)._array;
1116
+ return tsplus_module_3.slice_(self, 0)._array;
1176
1117
  }
1177
1118
 
1178
1119
  function partitionWithIndex_1(self, p) {
1179
1120
  const left = [];
1180
1121
  const right = [];
1181
1122
 
1182
- for (let i = 0; i < length_1(self); i++) {
1123
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1183
1124
  const a = self._array[i];
1184
1125
 
1185
1126
  if (p(i, a)) {
@@ -1204,8 +1145,9 @@ function partitionMapWithIndex_1(self, f) {
1204
1145
  const left = [];
1205
1146
  const right = [];
1206
1147
 
1207
- for (let i = 0; i < length_1(self); i++) {
1148
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1208
1149
  const ea = f(i, self._array[i]);
1150
+ void 0;
1209
1151
 
1210
1152
  switch (ea._tag) {
1211
1153
  case "Left"
@@ -1238,7 +1180,7 @@ function partitionMap_(self, f) {
1238
1180
 
1239
1181
 
1240
1182
  function prepend_1(self, head) {
1241
- const len = length_1(self);
1183
+ const len = tsplus_module_4.length(self);
1242
1184
  const out = Array(len + 1);
1243
1185
  out[0] = head;
1244
1186
 
@@ -1257,7 +1199,7 @@ function prepend_1(self, head) {
1257
1199
  function prependAll_1(self, a) {
1258
1200
  const out = [];
1259
1201
 
1260
- for (let i = 0; i < length_1(self); i++) {
1202
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1261
1203
  out.push(a, self._array[i]);
1262
1204
  }
1263
1205
 
@@ -1271,12 +1213,12 @@ function prependAll_1(self, a) {
1271
1213
  function reverse(self) {
1272
1214
  if (isEmpty_1(self)) {
1273
1215
  return self;
1274
- } else if (length_1(self) === 1) {
1216
+ } else if (tsplus_module_4.length(self) === 1) {
1275
1217
  return tsplus_module_2.make(self._array[0]);
1276
1218
  } else {
1277
- const out = Array(length_1(self));
1219
+ const out = Array(tsplus_module_4.length(self));
1278
1220
 
1279
- for (let j = 0, i = length_1(self) - 1; i >= 0; i--, j++) {
1221
+ for (let j = 0, i = tsplus_module_4.length(self) - 1; i >= 0; i--, j++) {
1280
1222
  out[j] = self._array[i];
1281
1223
  }
1282
1224
 
@@ -1291,8 +1233,9 @@ function reverse(self) {
1291
1233
  function rights(self) {
1292
1234
  const rs = [];
1293
1235
 
1294
- for (let i = 0; i < length_1(self); i++) {
1236
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1295
1237
  const a = self._array[i];
1238
+ void 0;
1296
1239
 
1297
1240
  if (a._tag === "Right"
1298
1241
  /* EitherTag.Right */
@@ -1309,14 +1252,14 @@ function rights(self) {
1309
1252
 
1310
1253
 
1311
1254
  function rotate_1(self, n) {
1312
- const len = length_1(self);
1255
+ const len = tsplus_module_4.length(self);
1313
1256
 
1314
1257
  if (n === 0 || len <= 1 || len === Math.abs(n)) {
1315
1258
  return self;
1316
1259
  } else if (n < 0) {
1317
1260
  return rotate_1(self, len + n);
1318
1261
  } else {
1319
- return concat_1(slice_1(self, -n), slice_1(self, 0, len - n));
1262
+ return concat_1(tsplus_module_3.slice_(self, -n), tsplus_module_3.slice_(self, 0, len - n));
1320
1263
  }
1321
1264
  }
1322
1265
  /**
@@ -1325,7 +1268,7 @@ function rotate_1(self, n) {
1325
1268
 
1326
1269
 
1327
1270
  function scanLeft_(self, b, f) {
1328
- const l = length_1(self);
1271
+ const l = tsplus_module_4.length(self);
1329
1272
  const r = Array(l + 1);
1330
1273
  r[0] = b;
1331
1274
 
@@ -1341,7 +1284,7 @@ function scanLeft_(self, b, f) {
1341
1284
 
1342
1285
 
1343
1286
  function scanRight_(self, b, f) {
1344
- const l = length_1(self);
1287
+ const l = tsplus_module_4.length(self);
1345
1288
  const r = Array(l + 1);
1346
1289
  r[l] = b;
1347
1290
 
@@ -1356,8 +1299,10 @@ function scanRight_(self, b, f) {
1356
1299
  */
1357
1300
 
1358
1301
 
1359
- function sort_1(self, O) {
1360
- return isEmpty_1(self) || length_1(self) === 1 ? self : tsplus_module_2.asImmutableArray(self._array.slice().sort(O.compare_));
1302
+ function sort_1(self,
1303
+ /** @tsplus auto */
1304
+ O) {
1305
+ return isEmpty_1(self) || tsplus_module_4.length(self) === 1 ? self : tsplus_module_2.asImmutableArray(self._array.slice().sort(O.compare));
1361
1306
  }
1362
1307
  /**
1363
1308
  * @tsplus fluent fncts.ImmutableArray sortBy
@@ -1365,7 +1310,7 @@ function sort_1(self, O) {
1365
1310
 
1366
1311
 
1367
1312
  function sortBy(self, Os) {
1368
- return sort_1(self, foldSelf_1(Os, tsplus_module_13.getMonoid()));
1313
+ return sort_1(self, fold_1(Os, tsplus_module_14.getMonoid()));
1369
1314
  }
1370
1315
 
1371
1316
  function spanLeft_(self, p) {
@@ -1376,7 +1321,7 @@ function spanLeft_(self, p) {
1376
1321
  init[j] = self._array[j];
1377
1322
  }
1378
1323
 
1379
- const l = length_1(self);
1324
+ const l = tsplus_module_4.length(self);
1380
1325
  const rest = Array(l - i);
1381
1326
 
1382
1327
  for (let j = i; j < l; j++) {
@@ -1388,7 +1333,7 @@ function spanLeft_(self, p) {
1388
1333
 
1389
1334
  function spanRight_(self, p) {
1390
1335
  const i = spanIndexRight_1(self, p);
1391
- const l = length_1(self);
1336
+ const l = tsplus_module_4.length(self);
1392
1337
  const tail = Array(l - i - 1);
1393
1338
 
1394
1339
  for (let j = l - 1; j > i; j--) {
@@ -1409,7 +1354,7 @@ function spanRight_(self, p) {
1409
1354
 
1410
1355
 
1411
1356
  function spanIndexLeft_1(self, p) {
1412
- const l = length_1(self);
1357
+ const l = tsplus_module_4.length(self);
1413
1358
  let i = 0;
1414
1359
 
1415
1360
  for (; i < l; i++) {
@@ -1426,7 +1371,7 @@ function spanIndexLeft_1(self, p) {
1426
1371
 
1427
1372
 
1428
1373
  function spanIndexRight_1(as, predicate) {
1429
- let i = length_1(as) - 1;
1374
+ let i = tsplus_module_4.length(as) - 1;
1430
1375
 
1431
1376
  for (; i >= 0; i--) {
1432
1377
  if (!predicate(as._array[i])) {
@@ -1436,60 +1381,13 @@ function spanIndexRight_1(as, predicate) {
1436
1381
 
1437
1382
  return i;
1438
1383
  }
1439
- /**
1440
- * @tsplus fluent fncts.ImmutableArray slice
1441
- */
1442
-
1443
-
1444
- function slice_1(self, start, end) {
1445
- return tsplus_module_2.asImmutableArray(self._array.slice(start, end));
1446
- }
1447
- /**
1448
- * @tsplus fluent fncts.ImmutableArray splitAt
1449
- */
1450
-
1451
-
1452
- function splitAt_1(as, n) {
1453
- return [slice_1(as, 0, n), slice_1(as, n)];
1454
- }
1455
- /**
1456
- * @tsplus fluent fncts.ImmutableArray splitWhere
1457
- */
1458
-
1459
-
1460
- function splitWhere_(self, p) {
1461
- let cont = true;
1462
- let i = 0;
1463
-
1464
- while (cont && i < length_1(self)) {
1465
- if (p(self._array[i])) {
1466
- cont = false;
1467
- } else {
1468
- i++;
1469
- }
1470
- }
1471
-
1472
- return splitAt_1(self, i);
1473
- }
1474
-
1475
- const sequence = A => self => traverseSelf_1(self)(A)(_function.identity);
1476
- /**
1477
- * @tsplus getter fncts.ImmutableArray sequence
1478
- */
1479
-
1480
-
1481
- exports.sequence = sequence;
1482
-
1483
- const sequenceSelf = self => A => traverseSelf_1(self)(A)(_function.identity);
1484
1384
  /**
1485
1385
  * @tsplus getter fncts.ImmutableArray tail
1486
1386
  */
1487
1387
 
1488
1388
 
1489
- exports.sequenceSelf = sequenceSelf;
1490
-
1491
1389
  function tail(self) {
1492
- return isNonEmpty_1(self) ? tsplus_module_9.just(slice_1(self, 1)) : tsplus_module_9.nothing();
1390
+ return tsplus_module_4.isNonEmpty(self) ? tsplus_module_10.just(tsplus_module_3.slice_(self, 1)) : tsplus_module_10.nothing();
1493
1391
  }
1494
1392
  /**
1495
1393
  * @tsplus fluent fncts.ImmutableArray take
@@ -1497,7 +1395,7 @@ function tail(self) {
1497
1395
 
1498
1396
 
1499
1397
  function take_(self, n) {
1500
- return slice_1(self, 0, n);
1398
+ return tsplus_module_3.slice_(self, 0, n);
1501
1399
  }
1502
1400
  /**
1503
1401
  * @tsplus fluent fncts.ImmutableArray takeLast
@@ -1505,7 +1403,7 @@ function take_(self, n) {
1505
1403
 
1506
1404
 
1507
1405
  function takeLast_(as, n) {
1508
- return isEmpty_1(as) ? tsplus_module_2.empty() : slice_1(as, -n);
1406
+ return isEmpty_1(as) ? tsplus_module_2.empty() : tsplus_module_3.slice_(as, -n);
1509
1407
  }
1510
1408
 
1511
1409
  function takeWhile_(self, p) {
@@ -1518,81 +1416,58 @@ function takeWhile_(self, p) {
1518
1416
 
1519
1417
  return tsplus_module_2.asImmutableArray(init);
1520
1418
  }
1521
-
1522
- const traverseWithIndex_ = /*#__PURE__*/P.mkTraverseWithIndex_()(_ => A => (ta, f) => foldLeftWithIndex_1(ta, A.pure(tsplus_module_2.empty()), (i, fbs, a) => A.zipWith_(fbs, f(i, a), (bs, b) => append_1(bs, b))));
1523
1419
  /**
1524
- * @tsplus dataFirst traverseWithIndex_
1420
+ * @tsplus fluent fncts.ImmutableArray traverseWithIndex
1525
1421
  */
1526
1422
 
1527
- exports.traverseWithIndex_ = traverseWithIndex_;
1528
1423
 
1529
- const traverseWithIndex = A => f => self => traverseWithIndex_(A)(self, f);
1424
+ const traverseWithIndex_1 = (ta, f, G) => foldLeftWithIndex_1(ta, G.pure(tsplus_module_2.empty()), (i, fbs, a) => tsplus_module_15.zipWith(fbs, f(i, a), (bs, b) => append_1(bs, b), G));
1425
+
1426
+ const traverseWithIndex_ = traverseWithIndex_1;
1530
1427
  /**
1531
- * @tsplus getter fncts.ImmutableArray traverseWithIndex
1428
+ * @tsplus fluent fncts.ImmutableArray traverse
1532
1429
  */
1533
1430
 
1431
+ exports.traverseWithIndex_ = traverseWithIndex_;
1534
1432
 
1535
- exports.traverseWithIndex = traverseWithIndex;
1536
-
1537
- const traverseWithIndexSelf_1 = self => A => f => traverseWithIndex_(A)(self, f);
1538
-
1539
- const traverseWithIndexSelf = traverseWithIndexSelf_1;
1540
- exports.traverseWithIndexSelf = traverseWithIndexSelf;
1433
+ const traverse_1 = (self, f, G) => traverseWithIndex_1(self, (_, a) => f(a), G);
1541
1434
 
1542
- const traverse_ = A => (self, f) => traverseWithIndexSelf_1(self)(A)((_, a) => f(a));
1435
+ const traverse_ = traverse_1;
1543
1436
  /**
1544
- * @tsplus dataFirst traverse_
1437
+ * @tsplus fluent fncts.ImmutableArray union
1545
1438
  */
1546
1439
 
1547
-
1548
1440
  exports.traverse_ = traverse_;
1549
1441
 
1550
- const traverse = A => f => self => traverseWithIndexSelf_1(self)(A)((_, a) => f(a));
1442
+ function union_(self, that,
1443
+ /** @tsplus auto */
1444
+ E) {
1445
+ return concat_1(self, filter_1(that, a => !elem_1(self, a, E)));
1446
+ }
1551
1447
  /**
1552
- * @tsplus getter fncts.ImmutableArray traverse
1448
+ * @tsplus fluent fncts.ImmutableArray uniq
1553
1449
  */
1554
1450
 
1555
1451
 
1556
- exports.traverse = traverse;
1557
-
1558
- const traverseSelf_1 = self => A => f => traverseWithIndexSelf_1(self)(A)((_, a) => f(a));
1559
-
1560
- const traverseSelf = traverseSelf_1;
1561
- exports.traverseSelf = traverseSelf;
1562
-
1563
- function union_(E) {
1564
- const elemE = elem_(E);
1565
- return (self, that) => concat_1(self, filter_1(that, a => !elemE(self, a)));
1566
- }
1567
-
1568
- function uniq(E) {
1569
- return self => {
1570
- if (length_1(self) === 1) {
1571
- return self;
1572
- }
1452
+ function uniq(self,
1453
+ /** @tsplus auto */
1454
+ E) {
1455
+ if (tsplus_module_4.length(self) === 1) {
1456
+ return self;
1457
+ }
1573
1458
 
1574
- const elemE_ = elem_(E);
1575
- const out = [];
1576
- const len = length_1(self);
1459
+ const out = [];
1460
+ const len = tsplus_module_4.length(self);
1577
1461
 
1578
- for (let i = 0; i < len; i++) {
1579
- const a = self._array[i];
1462
+ for (let i = 0; i < len; i++) {
1463
+ const a = self._array[i];
1580
1464
 
1581
- if (!elemE_(tsplus_module_2.asImmutableArray(out), a)) {
1582
- out.push(a);
1583
- }
1465
+ if (!elem_1(tsplus_module_2.asImmutableArray(out), a, E)) {
1466
+ out.push(a);
1584
1467
  }
1468
+ }
1585
1469
 
1586
- return tsplus_module_2.asImmutableArray(out);
1587
- };
1588
- }
1589
- /**
1590
- * @tsplus fluent fncts.ImmutableArray uniq
1591
- */
1592
-
1593
-
1594
- function uniqSelf(self, E) {
1595
- return uniq(E)(self);
1470
+ return tsplus_module_2.asImmutableArray(out);
1596
1471
  }
1597
1472
  /**
1598
1473
  * @tsplus getter fncts.ImmutableArray unprepend
@@ -1600,7 +1475,7 @@ function uniqSelf(self, E) {
1600
1475
 
1601
1476
 
1602
1477
  function unprepend(self) {
1603
- return isNonEmpty_1(self) ? tsplus_module_9.just([unsafeGet_1(self, 0), slice_1(self, 1)]) : tsplus_module_9.nothing();
1478
+ return tsplus_module_4.isNonEmpty(self) ? tsplus_module_10.just([unsafeGet_1(self, 0), tsplus_module_3.slice_(self, 1)]) : tsplus_module_10.nothing();
1604
1479
  }
1605
1480
  /**
1606
1481
  * @tsplus index fncts.ImmutableArray
@@ -1674,10 +1549,10 @@ function unsafeUpdateAt_1(as, i, a) {
1674
1549
 
1675
1550
 
1676
1551
  function unzip(self) {
1677
- const fa = Array(length_1(self));
1678
- const fb = Array(length_1(self));
1552
+ const fa = Array(tsplus_module_4.length(self));
1553
+ const fb = Array(tsplus_module_4.length(self));
1679
1554
 
1680
- for (let i = 0; i < length_1(self); i++) {
1555
+ for (let i = 0; i < tsplus_module_4.length(self); i++) {
1681
1556
  fa[i] = self._array[i][0];
1682
1557
  fb[i] = self._array[i][1];
1683
1558
  }
@@ -1690,102 +1565,70 @@ function unzip(self) {
1690
1565
 
1691
1566
 
1692
1567
  function updateAt_(as, i, a) {
1693
- return isOutOfBound_1(as, i) ? tsplus_module_9.nothing() : tsplus_module_9.just(unsafeUpdateAt_1(as, i, a));
1568
+ return isOutOfBound_1(as, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeUpdateAt_1(as, i, a));
1694
1569
  }
1695
-
1696
- const wilt_ = A => (self, f) => wiltWithIndexSelf_1(self)(A)((_, a) => f(a));
1697
- /**
1698
- * @tsplus pipeable fncts.ImmutableArray wilt_
1699
- */
1700
-
1701
-
1702
- exports.wilt_ = wilt_;
1703
-
1704
- const wilt = A => f => self => wiltWithIndexSelf_1(self)(A)((_, a) => f(a));
1705
1570
  /**
1706
1571
  * @tsplus fluent fncts.ImmutableArray wilt
1707
1572
  */
1708
1573
 
1709
1574
 
1710
- exports.wilt = wilt;
1711
-
1712
- const wiltSelf = self => A => f => wiltWithIndexSelf_1(self)(A)((_, a) => f(a));
1713
-
1714
- exports.wiltSelf = wiltSelf;
1715
- const wiltWithIndex_ = /*#__PURE__*/P.mkWiltWithIndex_()(_ => A => (self, f) => A.map_(foldLeftWithIndex_1(self, A.pure([[], []]), (i, fbs, a) => A.zipWith_(f(i, a), fbs, (eb, r) => tsplus_module_15.match_(eb, b1 => {
1716
- r[0].push(b1);
1717
- return r;
1718
- }, b2 => {
1719
- r[1].push(b2);
1720
- return r;
1721
- }))), ([b1s, b2s]) => [tsplus_module_2.asImmutableArray(b1s), tsplus_module_2.asImmutableArray(b2s)]));
1722
- /**
1723
- * @tsplus dataFirst wiltWithIndex_
1724
- */
1725
-
1726
- exports.wiltWithIndex_ = wiltWithIndex_;
1727
-
1728
- const wiltWithIndex = A => f => self => wiltWithIndex_(A)(self, f);
1729
- /**
1730
- * @tsplus getter fncts.ImmutableArray wiltWithIndex
1731
- */
1732
-
1733
-
1734
- exports.wiltWithIndex = wiltWithIndex;
1735
-
1736
- const wiltWithIndexSelf_1 = self => A => f => wiltWithIndex_(A)(self, f);
1737
-
1738
- const wiltWithIndexSelf = wiltWithIndexSelf_1;
1739
- exports.wiltWithIndexSelf = wiltWithIndexSelf;
1740
-
1741
- const wither_ = A => (self, f) => witherWithIndex_(A)(self, (_, a) => f(a));
1742
- /**
1743
- * @tsplus dataFirst wither_
1744
- */
1745
-
1746
-
1747
- exports.wither_ = wither_;
1575
+ function wilt_(self, f,
1576
+ /** @tsplus auto */
1577
+ G) {
1578
+ return tsplus_module_17.map(foldLeft_1(self, G.pure([[], []]), (fbs, a) => tsplus_module_15.zipWith(f(a), fbs, (eb, r) => tsplus_module_16.match_(eb, b1 => {
1579
+ r[0].push(b1);
1580
+ return r;
1581
+ }, b2 => {
1582
+ r[1].push(b2);
1583
+ return r;
1584
+ }), G)), ([b1s, b2s]) => [tsplus_module_2.asImmutableArray(b1s), tsplus_module_2.asImmutableArray(b2s)], G);
1585
+ }
1748
1586
 
1749
- const wither = A => f => self => wither_(A)(self, f);
1587
+ function wiltWithIndex_(self, f,
1588
+ /** @tsplus auto */
1589
+ G) {
1590
+ return tsplus_module_17.map(foldLeftWithIndex_1(self, G.pure([[], []]), (i, fbs, a) => tsplus_module_15.zipWith(f(i, a), fbs, (eb, r) => tsplus_module_16.match_(eb, b1 => {
1591
+ r[0].push(b1);
1592
+ return r;
1593
+ }, b2 => {
1594
+ r[1].push(b2);
1595
+ return r;
1596
+ }), G)), ([b1s, b2s]) => [tsplus_module_2.asImmutableArray(b1s), tsplus_module_2.asImmutableArray(b2s)], G);
1597
+ }
1750
1598
  /**
1751
1599
  * @tsplus fluent fncts.ImmutableArray wither
1752
1600
  */
1753
1601
 
1754
1602
 
1755
- exports.wither = wither;
1756
-
1757
- const witherSelf = self => A => f => witherWithIndex_(A)(self, (_, a) => f(a));
1758
-
1759
- exports.witherSelf = witherSelf;
1760
- const witherWithIndex_ = /*#__PURE__*/P.mkWitherWithIndex_()(_ => A => (self, f) => A.map_(foldLeftWithIndex_1(self, A.pure([]), (i, b, a) => A.zipWith_(f(i, a), b, (maybeB, bs) => {
1761
- if (tsplus_module_4.isJust(maybeB)) {
1762
- bs.push(maybeB.value);
1763
- }
1764
-
1765
- return bs;
1766
- })), bs => tsplus_module_2.asImmutableArray(bs)));
1767
- /**
1768
- * @tsplus dataFirst witherWithIndex_
1769
- */
1770
-
1771
- exports.witherWithIndex_ = witherWithIndex_;
1772
-
1773
- const witherWithIndex = A => f => self => witherWithIndex_(A)(self, f);
1603
+ function wither_(self, f,
1604
+ /** @tsplus auto */
1605
+ G) {
1606
+ const G_1 =
1607
+ /** @tsplus auto */
1608
+ G;
1609
+ return witherWithIndex_1(self, (_, a) => f(a), G_1);
1610
+ }
1774
1611
  /**
1775
1612
  * @tsplus fluent fncts.ImmutableArray witherWithIndex
1776
1613
  */
1777
1614
 
1778
1615
 
1779
- exports.witherWithIndex = witherWithIndex;
1616
+ function witherWithIndex_1(self, f,
1617
+ /** @tsplus auto */
1618
+ G) {
1619
+ return tsplus_module_17.map(foldLeftWithIndex_1(self, G.pure([]), (i, b, a) => tsplus_module_15.zipWith(f(i, a), b, (maybeB, bs) => {
1620
+ if (tsplus_module_5.isJust(maybeB)) {
1621
+ bs.push(maybeB.value);
1622
+ }
1780
1623
 
1781
- const witherWithIndexSelf = self => A => f => witherWithIndex_(A)(self, f);
1624
+ return bs;
1625
+ }, G)), bs => tsplus_module_2.asImmutableArray(bs), G);
1626
+ }
1782
1627
  /**
1783
1628
  * @tsplus fluent fncts.ImmutableArray zip
1784
1629
  */
1785
1630
 
1786
1631
 
1787
- exports.witherWithIndexSelf = witherWithIndexSelf;
1788
-
1789
1632
  function zip_(self, that) {
1790
1633
  return zipWith_1(self, that, _function.tuple);
1791
1634
  }
@@ -1795,7 +1638,7 @@ function zip_(self, that) {
1795
1638
 
1796
1639
 
1797
1640
  function zipWith_1(self, fb, f) {
1798
- const len = Math.min(length_1(self), length_1(fb));
1641
+ const len = Math.min(tsplus_module_4.length(self), tsplus_module_4.length(fb));
1799
1642
  const fc = Array(len);
1800
1643
 
1801
1644
  for (let i = 0; i < len; i++) {