@fncts/base 0.0.12 → 0.0.13

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 (473) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +16 -21
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/compat/Record/instances.cjs +67 -16
  4. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  5. package/_cjs/collection/immutable/Conc/api.cjs +9 -12
  6. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  7. package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
  8. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  9. package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
  10. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  11. package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
  12. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  13. package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
  14. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  15. package/_cjs/collection/immutable/ImmutableArray/api.cjs +136 -153
  16. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  17. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +10 -12
  18. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  19. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
  20. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  21. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
  22. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  23. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
  24. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  25. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
  26. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  27. package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
  28. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  29. package/_cjs/collection/immutable/Vector/api.cjs +8 -12
  30. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  31. package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
  32. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  33. package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
  34. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  35. package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
  36. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  37. package/_cjs/control/Eval/api.cjs +9 -3
  38. package/_cjs/control/Eval/api.cjs.map +1 -1
  39. package/_cjs/control/Eval/definition.cjs +0 -7
  40. package/_cjs/control/Eval/definition.cjs.map +1 -1
  41. package/_cjs/control/Eval/instance.cjs +6 -0
  42. package/_cjs/control/Eval/instance.cjs.map +1 -1
  43. package/_cjs/control/Z/api.cjs +16 -14
  44. package/_cjs/control/Z/api.cjs.map +1 -1
  45. package/_cjs/control/Z/definition.cjs +9 -14
  46. package/_cjs/control/Z/definition.cjs.map +1 -1
  47. package/_cjs/control/Z/instances.cjs +6 -0
  48. package/_cjs/control/Z/instances.cjs.map +1 -1
  49. package/_cjs/control/Z/runtime.cjs +15 -13
  50. package/_cjs/control/Z/runtime.cjs.map +1 -1
  51. package/_cjs/data/Const/definition.cjs +0 -7
  52. package/_cjs/data/Const/definition.cjs.map +1 -1
  53. package/_cjs/data/Const/instances.cjs +7 -5
  54. package/_cjs/data/Const/instances.cjs.map +1 -1
  55. package/_cjs/data/Datum/api.cjs +479 -0
  56. package/_cjs/data/Datum/api.cjs.map +1 -0
  57. package/_cjs/data/Datum/definition.cjs +142 -0
  58. package/_cjs/data/Datum/definition.cjs.map +1 -0
  59. package/_cjs/data/Datum/instances.cjs +69 -0
  60. package/_cjs/data/Datum/instances.cjs.map +1 -0
  61. package/_cjs/data/DatumEither/api.cjs +365 -0
  62. package/_cjs/data/DatumEither/api.cjs.map +1 -0
  63. package/_cjs/data/DatumEither/definition.cjs +9 -0
  64. package/_cjs/data/DatumEither/definition.cjs.map +1 -0
  65. package/_cjs/data/DecodeError/definition.cjs +3 -3
  66. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  67. package/_cjs/data/Decoder/definition.cjs +3 -10
  68. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  69. package/_cjs/data/Either/api.cjs +21 -5
  70. package/_cjs/data/Either/api.cjs.map +1 -1
  71. package/_cjs/data/Either/definition.cjs +3 -10
  72. package/_cjs/data/Either/definition.cjs.map +1 -1
  73. package/_cjs/data/Either/instances.cjs +25 -23
  74. package/_cjs/data/Either/instances.cjs.map +1 -1
  75. package/_cjs/data/EitherT/api.cjs +106 -0
  76. package/_cjs/data/EitherT/api.cjs.map +1 -0
  77. package/_cjs/data/EitherT/definition.cjs +9 -0
  78. package/_cjs/data/EitherT/definition.cjs.map +1 -0
  79. package/_cjs/data/Environment/api.cjs +15 -14
  80. package/_cjs/data/Environment/api.cjs.map +1 -1
  81. package/_cjs/data/Environment/definition.cjs.map +1 -1
  82. package/_cjs/data/Identity/api.cjs +3 -1
  83. package/_cjs/data/Identity/api.cjs.map +1 -1
  84. package/_cjs/data/Identity/definition.cjs +2 -4
  85. package/_cjs/data/Identity/definition.cjs.map +1 -1
  86. package/_cjs/data/Identity/instances.cjs +6 -0
  87. package/_cjs/data/Identity/instances.cjs.map +1 -1
  88. package/_cjs/data/Intervals.cjs +292 -0
  89. package/_cjs/data/Intervals.cjs.map +1 -0
  90. package/_cjs/data/Maybe/api.cjs +3 -1
  91. package/_cjs/data/Maybe/api.cjs.map +1 -1
  92. package/_cjs/data/Maybe/definition.cjs +11 -13
  93. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  94. package/_cjs/data/Maybe/instances.cjs +13 -11
  95. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  96. package/_cjs/data/Newtype.cjs +3 -5
  97. package/_cjs/data/Newtype.cjs.map +1 -1
  98. package/_cjs/data/Struct/definition.cjs +2 -4
  99. package/_cjs/data/Struct/definition.cjs.map +1 -1
  100. package/_cjs/data/Zipped.cjs +55 -0
  101. package/_cjs/data/Zipped.cjs.map +1 -0
  102. package/_cjs/data/function/api.cjs +10 -0
  103. package/_cjs/data/function/api.cjs.map +1 -1
  104. package/_cjs/data/object/instances.cjs +9 -1
  105. package/_cjs/data/object/instances.cjs.map +1 -1
  106. package/_cjs/optics/Optional/definition.cjs +4 -6
  107. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  108. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  109. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  110. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
  111. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  112. package/_cjs/optics/Traversal/definition.cjs +3 -3
  113. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  114. package/_cjs/typeclass/Alt.cjs +0 -7
  115. package/_cjs/typeclass/Alt.cjs.map +1 -1
  116. package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
  117. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  118. package/_cjs/typeclass/Apply.cjs +39 -66
  119. package/_cjs/typeclass/Apply.cjs.map +1 -1
  120. package/_cjs/typeclass/Chain.cjs +6 -28
  121. package/_cjs/typeclass/Chain.cjs.map +1 -1
  122. package/_cjs/typeclass/Fail.cjs +0 -10
  123. package/_cjs/typeclass/Fail.cjs.map +1 -1
  124. package/_cjs/typeclass/Filterable.cjs +0 -36
  125. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  126. package/_cjs/typeclass/Foldable.cjs +4 -34
  127. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  128. package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
  129. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  130. package/_cjs/typeclass/Functor.cjs +3 -18
  131. package/_cjs/typeclass/Functor.cjs.map +1 -1
  132. package/_cjs/typeclass/Guard/definition.cjs +3 -10
  133. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  134. package/_cjs/typeclass/MonadExcept.cjs +2 -10
  135. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  136. package/_cjs/typeclass/Nil.cjs +0 -10
  137. package/_cjs/typeclass/Nil.cjs.map +1 -1
  138. package/_cjs/typeclass/Pointed.cjs +0 -11
  139. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  140. package/_cjs/typeclass/Semialign.cjs +18 -46
  141. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  142. package/_cjs/typeclass/Semimonoidal.cjs +0 -11
  143. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  144. package/_cjs/typeclass/Showable/show.cjs +12 -12
  145. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  146. package/_cjs/typeclass/Traversable.cjs +7 -26
  147. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  148. package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
  149. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  150. package/_cjs/typeclass/Witherable.cjs +3 -45
  151. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  152. package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
  153. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  154. package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
  155. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  156. package/_mjs/collection/compat/Record/instances.mjs +62 -16
  157. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  158. package/_mjs/collection/immutable/Conc/api.mjs +7 -11
  159. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  160. package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
  161. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  162. package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
  163. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  164. package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
  165. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  166. package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
  167. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  168. package/_mjs/collection/immutable/ImmutableArray/api.mjs +128 -147
  169. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  170. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +10 -11
  171. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  172. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
  173. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  174. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +18 -19
  175. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  176. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
  177. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  178. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
  179. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  180. package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
  181. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  182. package/_mjs/collection/immutable/Vector/api.mjs +8 -12
  183. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  184. package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
  185. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  186. package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
  187. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  188. package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
  189. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  190. package/_mjs/control/Eval/api.mjs +9 -4
  191. package/_mjs/control/Eval/api.mjs.map +1 -1
  192. package/_mjs/control/Eval/definition.mjs +0 -1
  193. package/_mjs/control/Eval/definition.mjs.map +1 -1
  194. package/_mjs/control/Eval/instance.mjs +1 -0
  195. package/_mjs/control/Eval/instance.mjs.map +1 -1
  196. package/_mjs/control/Z/api.mjs +16 -15
  197. package/_mjs/control/Z/api.mjs.map +1 -1
  198. package/_mjs/control/Z/definition.mjs +4 -5
  199. package/_mjs/control/Z/definition.mjs.map +1 -1
  200. package/_mjs/control/Z/instances.mjs +1 -0
  201. package/_mjs/control/Z/instances.mjs.map +1 -1
  202. package/_mjs/control/Z/runtime.mjs +14 -13
  203. package/_mjs/control/Z/runtime.mjs.map +1 -1
  204. package/_mjs/data/Const/definition.mjs +0 -3
  205. package/_mjs/data/Const/definition.mjs.map +1 -1
  206. package/_mjs/data/Const/instances.mjs +6 -5
  207. package/_mjs/data/Const/instances.mjs.map +1 -1
  208. package/_mjs/data/Datum/api.mjs +403 -0
  209. package/_mjs/data/Datum/api.mjs.map +1 -0
  210. package/_mjs/data/Datum/definition.mjs +112 -0
  211. package/_mjs/data/Datum/definition.mjs.map +1 -0
  212. package/_mjs/data/Datum/instances.mjs +52 -0
  213. package/_mjs/data/Datum/instances.mjs.map +1 -0
  214. package/_mjs/data/DatumEither/api.mjs +290 -0
  215. package/_mjs/data/DatumEither/api.mjs.map +1 -0
  216. package/_mjs/data/DatumEither/definition.mjs +2 -0
  217. package/_mjs/data/DatumEither/definition.mjs.map +1 -0
  218. package/_mjs/data/DecodeError/definition.mjs +3 -3
  219. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  220. package/_mjs/data/Decoder/definition.mjs +0 -2
  221. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  222. package/_mjs/data/Either/api.mjs +16 -3
  223. package/_mjs/data/Either/api.mjs.map +1 -1
  224. package/_mjs/data/Either/definition.mjs +0 -2
  225. package/_mjs/data/Either/definition.mjs.map +1 -1
  226. package/_mjs/data/Either/instances.mjs +23 -22
  227. package/_mjs/data/Either/instances.mjs.map +1 -1
  228. package/_mjs/data/EitherT/api.mjs +73 -0
  229. package/_mjs/data/EitherT/api.mjs.map +1 -0
  230. package/_mjs/data/EitherT/definition.mjs +2 -0
  231. package/_mjs/data/EitherT/definition.mjs.map +1 -0
  232. package/_mjs/data/Environment/api.mjs +12 -13
  233. package/_mjs/data/Environment/api.mjs.map +1 -1
  234. package/_mjs/data/Environment/definition.mjs.map +1 -1
  235. package/_mjs/data/Identity/api.mjs +2 -1
  236. package/_mjs/data/Identity/api.mjs.map +1 -1
  237. package/_mjs/data/Identity/definition.mjs +2 -3
  238. package/_mjs/data/Identity/definition.mjs.map +1 -1
  239. package/_mjs/data/Identity/instances.mjs +1 -0
  240. package/_mjs/data/Identity/instances.mjs.map +1 -1
  241. package/_mjs/data/Intervals.mjs +257 -0
  242. package/_mjs/data/Intervals.mjs.map +1 -0
  243. package/_mjs/data/Maybe/api.mjs +2 -1
  244. package/_mjs/data/Maybe/api.mjs.map +1 -1
  245. package/_mjs/data/Maybe/definition.mjs +8 -10
  246. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  247. package/_mjs/data/Maybe/instances.mjs +12 -11
  248. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  249. package/_mjs/data/Newtype.mjs +3 -4
  250. package/_mjs/data/Newtype.mjs.map +1 -1
  251. package/_mjs/data/Struct/definition.mjs +2 -3
  252. package/_mjs/data/Struct/definition.mjs.map +1 -1
  253. package/_mjs/data/Zipped.mjs +37 -0
  254. package/_mjs/data/Zipped.mjs.map +1 -0
  255. package/_mjs/data/function/api.mjs +8 -0
  256. package/_mjs/data/function/api.mjs.map +1 -1
  257. package/_mjs/data/object/instances.mjs +7 -1
  258. package/_mjs/data/object/instances.mjs.map +1 -1
  259. package/_mjs/optics/Optional/definition.mjs +4 -5
  260. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  261. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  262. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  263. package/_mjs/optics/Traversal/api/fromTraversable.mjs +1 -1
  264. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  265. package/_mjs/optics/Traversal/definition.mjs +3 -3
  266. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  267. package/_mjs/typeclass/Alt.mjs +0 -5
  268. package/_mjs/typeclass/Alt.mjs.map +1 -1
  269. package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
  270. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  271. package/_mjs/typeclass/Apply.mjs +35 -65
  272. package/_mjs/typeclass/Apply.mjs.map +1 -1
  273. package/_mjs/typeclass/Chain.mjs +4 -25
  274. package/_mjs/typeclass/Chain.mjs.map +1 -1
  275. package/_mjs/typeclass/Fail.mjs +1 -8
  276. package/_mjs/typeclass/Fail.mjs.map +1 -1
  277. package/_mjs/typeclass/Filterable.mjs +0 -28
  278. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  279. package/_mjs/typeclass/Foldable.mjs +3 -30
  280. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  281. package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
  282. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  283. package/_mjs/typeclass/Functor.mjs +3 -16
  284. package/_mjs/typeclass/Functor.mjs.map +1 -1
  285. package/_mjs/typeclass/Guard/definition.mjs +0 -2
  286. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  287. package/_mjs/typeclass/MonadExcept.mjs +2 -9
  288. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  289. package/_mjs/typeclass/Nil.mjs +1 -8
  290. package/_mjs/typeclass/Nil.mjs.map +1 -1
  291. package/_mjs/typeclass/Pointed.mjs +0 -9
  292. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  293. package/_mjs/typeclass/Semialign.mjs +17 -45
  294. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  295. package/_mjs/typeclass/Semimonoidal.mjs +0 -9
  296. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  297. package/_mjs/typeclass/Showable/show.mjs +12 -12
  298. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  299. package/_mjs/typeclass/Traversable.mjs +6 -25
  300. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  301. package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
  302. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  303. package/_mjs/typeclass/Witherable.mjs +3 -40
  304. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  305. package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
  306. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  307. package/_src/collection/Iterable/api/traverseConc.ts +24 -21
  308. package/_src/collection/compat/Record/instances.ts +44 -0
  309. package/_src/collection/immutable/Conc/api.ts +9 -11
  310. package/_src/collection/immutable/Conc/definition.ts +9 -5
  311. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  312. package/_src/collection/immutable/HashMap/api.ts +20 -17
  313. package/_src/collection/immutable/HashMap/definition.ts +10 -6
  314. package/_src/collection/immutable/ImmutableArray/api.ts +56 -113
  315. package/_src/collection/immutable/ImmutableArray/definition.ts +8 -5
  316. package/_src/collection/immutable/ImmutableArray/instances.ts +42 -42
  317. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
  318. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +8 -3
  319. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
  320. package/_src/collection/immutable/RoseTree/definition.ts +7 -4
  321. package/_src/collection/immutable/Vector/api.ts +12 -16
  322. package/_src/collection/immutable/Vector/definition.ts +9 -9
  323. package/_src/collection/weak/IterableWeakMap.ts +50 -5
  324. package/_src/collection/weak/IterableWeakSet.ts +57 -9
  325. package/_src/control/Eval/api.ts +5 -2
  326. package/_src/control/Eval/definition.ts +7 -4
  327. package/_src/control/Eval/instance.ts +7 -7
  328. package/_src/control/Z/api.ts +16 -25
  329. package/_src/control/Z/definition.ts +32 -31
  330. package/_src/control/Z/instances.ts +3 -3
  331. package/_src/control/Z/runtime.ts +7 -7
  332. package/_src/data/Const/definition.ts +9 -17
  333. package/_src/data/Const/instances.ts +5 -5
  334. package/_src/data/Datum/api.ts +376 -0
  335. package/_src/data/Datum/definition.ts +102 -0
  336. package/_src/data/Datum/instances.ts +34 -0
  337. package/_src/data/DatumEither/api.ts +348 -0
  338. package/_src/data/DatumEither/definition.ts +20 -0
  339. package/_src/data/DecodeError/definition.ts +3 -3
  340. package/_src/data/Decoder/definition.ts +7 -4
  341. package/_src/data/Either/api.ts +12 -2
  342. package/_src/data/Either/definition.ts +9 -14
  343. package/_src/data/Either/instances.ts +6 -6
  344. package/_src/data/EitherT/api.ts +239 -0
  345. package/_src/data/EitherT/definition.ts +23 -0
  346. package/_src/data/Environment/api.ts +8 -6
  347. package/_src/data/Environment/definition.ts +2 -2
  348. package/_src/data/Identity/api.ts +2 -2
  349. package/_src/data/Identity/definition.ts +2 -2
  350. package/_src/data/Identity/instances.ts +7 -7
  351. package/_src/data/Intervals.ts +126 -0
  352. package/_src/data/Maybe/api.ts +2 -2
  353. package/_src/data/Maybe/definition.ts +7 -4
  354. package/_src/data/Maybe/instances.ts +10 -10
  355. package/_src/data/Newtype.ts +32 -11
  356. package/_src/data/Struct/definition.ts +1 -1
  357. package/_src/data/Tag/definition.ts +2 -2
  358. package/_src/data/Zipped.ts +52 -0
  359. package/_src/data/function/api.ts +8 -0
  360. package/_src/data/object/instances.ts +11 -1
  361. package/_src/optics/Optional/definition.ts +2 -2
  362. package/_src/optics/Traversal/api/compose.ts +1 -1
  363. package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
  364. package/_src/optics/Traversal/definition.ts +13 -12
  365. package/_src/typeclass/Align.ts +1 -1
  366. package/_src/typeclass/Alt.ts +24 -54
  367. package/_src/typeclass/Alternative.ts +1 -1
  368. package/_src/typeclass/Applicative.ts +6 -1
  369. package/_src/typeclass/ApplicativeExcept.ts +55 -81
  370. package/_src/typeclass/Apply.ts +224 -253
  371. package/_src/typeclass/Chain.ts +71 -98
  372. package/_src/typeclass/Fail.ts +10 -28
  373. package/_src/typeclass/Filterable.ts +13 -67
  374. package/_src/typeclass/FilterableWithIndex.ts +13 -13
  375. package/_src/typeclass/Foldable.ts +16 -35
  376. package/_src/typeclass/FoldableWithIndex.ts +14 -37
  377. package/_src/typeclass/Functor.ts +11 -21
  378. package/_src/typeclass/FunctorWithIndex.ts +4 -4
  379. package/_src/typeclass/Guard/definition.ts +1 -3
  380. package/_src/typeclass/Monad.ts +1 -1
  381. package/_src/typeclass/MonadExcept.ts +11 -7
  382. package/_src/typeclass/Nil.ts +10 -27
  383. package/_src/typeclass/Pointed.ts +11 -30
  384. package/_src/typeclass/Semialign.ts +285 -253
  385. package/_src/typeclass/Semimonoidal.ts +23 -54
  386. package/_src/typeclass/Showable/show.ts +8 -10
  387. package/_src/typeclass/Traversable.ts +45 -63
  388. package/_src/typeclass/TraversableWithIndex.ts +37 -34
  389. package/_src/typeclass/Witherable.ts +28 -115
  390. package/_src/typeclass/WitherableWithIndex.ts +82 -115
  391. package/_src/types/extractions.ts +1 -1
  392. package/collection/Iterable/api/traverseConc.d.ts +4 -6
  393. package/collection/compat/Record/instances.d.ts +12 -0
  394. package/collection/immutable/Conc/api.d.ts +4 -6
  395. package/collection/immutable/Conc/definition.d.ts +9 -6
  396. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  397. package/collection/immutable/HashMap/api.d.ts +13 -13
  398. package/collection/immutable/HashMap/definition.d.ts +10 -7
  399. package/collection/immutable/ImmutableArray/api.d.ts +16 -18
  400. package/collection/immutable/ImmutableArray/definition.d.ts +8 -6
  401. package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
  402. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
  403. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +7 -3
  404. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
  405. package/collection/immutable/RoseTree/definition.d.ts +7 -5
  406. package/collection/immutable/Vector/api.d.ts +4 -4
  407. package/collection/immutable/Vector/definition.d.ts +8 -9
  408. package/collection/weak/IterableWeakMap.d.ts +9 -3
  409. package/collection/weak/IterableWeakSet.d.ts +10 -4
  410. package/control/Eval/api.d.ts +6 -1
  411. package/control/Eval/definition.d.ts +6 -4
  412. package/control/Eval/instance.d.ts +3 -3
  413. package/control/Z/api.d.ts +8 -6
  414. package/control/Z/definition.d.ts +38 -32
  415. package/control/Z/instances.d.ts +2 -2
  416. package/control/Z/runtime.d.ts +5 -4
  417. package/data/Const/definition.d.ts +8 -16
  418. package/data/Const/instances.d.ts +4 -3
  419. package/data/Datum/api.d.ts +188 -0
  420. package/data/Datum/definition.d.ts +75 -0
  421. package/data/Datum/instances.d.ts +32 -0
  422. package/data/DatumEither/api.d.ts +169 -0
  423. package/data/DatumEither/definition.d.ts +21 -0
  424. package/data/Decoder/definition.d.ts +6 -4
  425. package/data/Either/api.d.ts +10 -0
  426. package/data/Either/definition.d.ts +8 -14
  427. package/data/Either/instances.d.ts +4 -3
  428. package/data/EitherT/api.d.ts +60 -0
  429. package/data/EitherT/definition.d.ts +12 -0
  430. package/data/Environment/api.d.ts +7 -5
  431. package/data/Environment/definition.d.ts +3 -3
  432. package/data/Identity/api.d.ts +2 -1
  433. package/data/Identity/definition.d.ts +2 -2
  434. package/data/Identity/instances.d.ts +3 -3
  435. package/data/Intervals.d.ts +53 -0
  436. package/data/Maybe/api.d.ts +2 -1
  437. package/data/Maybe/definition.d.ts +7 -4
  438. package/data/Maybe/instances.d.ts +6 -6
  439. package/data/Newtype.d.ts +9 -8
  440. package/data/Struct/definition.d.ts +1 -1
  441. package/data/Tag/definition.d.ts +2 -2
  442. package/data/Zipped.d.ts +24 -0
  443. package/data/function/api.d.ts +6 -0
  444. package/data/object/instances.d.ts +6 -1
  445. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  446. package/optics/Traversal/definition.d.ts +2 -4
  447. package/package.json +2 -2
  448. package/typeclass/Align.d.ts +1 -1
  449. package/typeclass/Alt.d.ts +2 -4
  450. package/typeclass/Alternative.d.ts +1 -1
  451. package/typeclass/Applicative.d.ts +2 -1
  452. package/typeclass/ApplicativeExcept.d.ts +5 -13
  453. package/typeclass/Apply.d.ts +20 -32
  454. package/typeclass/Chain.d.ts +5 -13
  455. package/typeclass/Fail.d.ts +2 -7
  456. package/typeclass/Filterable.d.ts +7 -31
  457. package/typeclass/FilterableWithIndex.d.ts +7 -7
  458. package/typeclass/Foldable.d.ts +6 -19
  459. package/typeclass/FoldableWithIndex.d.ts +6 -19
  460. package/typeclass/Functor.d.ts +4 -11
  461. package/typeclass/FunctorWithIndex.d.ts +2 -2
  462. package/typeclass/Guard/definition.d.ts +1 -4
  463. package/typeclass/Monad.d.ts +1 -1
  464. package/typeclass/MonadExcept.d.ts +3 -4
  465. package/typeclass/Nil.d.ts +2 -7
  466. package/typeclass/Pointed.d.ts +2 -7
  467. package/typeclass/Semialign.d.ts +26 -32
  468. package/typeclass/Semimonoidal.d.ts +3 -8
  469. package/typeclass/Traversable.d.ts +21 -12
  470. package/typeclass/TraversableWithIndex.d.ts +19 -6
  471. package/typeclass/Witherable.d.ts +5 -19
  472. package/typeclass/WitherableWithIndex.d.ts +33 -19
  473. package/types/extractions.d.ts +1 -1
@@ -1,20 +1,21 @@
1
1
  import * as tsplus_module_1 from "@fncts/base/data/These/constructors";
2
2
  import * as tsplus_module_2 from "@fncts/base/collection/immutable/ImmutableArray/constructors";
3
- import * as tsplus_module_3 from "@fncts/base/collection/immutable/ImmutableArray/api/slice";
4
- import * as tsplus_module_4 from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
5
- import * as tsplus_module_5 from "@fncts/base/data/Maybe/definition";
6
- import * as tsplus_module_6 from "@fncts/base/control/Eval/constructors";
7
- import * as tsplus_module_7 from "@fncts/base/control/Eval/instance";
8
- import * as tsplus_module_8 from "@fncts/base/control/Eval/api";
9
- import * as tsplus_module_9 from "@fncts/base/control/Eval/run";
10
- import * as tsplus_module_10 from "@fncts/base/data/Maybe/constructors";
11
- import * as tsplus_module_11 from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/constructors";
12
- import * as tsplus_module_12 from "@fncts/base/collection/immutable/Dictionary/definition";
13
- import * as tsplus_module_13 from "@fncts/base/collection/immutable/Dictionary/api";
14
- import * as tsplus_module_14 from "@fncts/base/typeclass/Ord/instances";
15
- import * as tsplus_module_15 from "@fncts/base/typeclass/Apply";
16
- import * as tsplus_module_16 from "@fncts/base/data/Either/destructors";
17
- import * as tsplus_module_17 from "@fncts/base/typeclass/Functor";
3
+ import * as tsplus_module_3 from "@fncts/base/data/Zipped";
4
+ import * as tsplus_module_4 from "@fncts/base/collection/immutable/ImmutableArray/api/slice";
5
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
6
+ import * as tsplus_module_6 from "@fncts/base/data/Maybe/definition";
7
+ import * as tsplus_module_7 from "@fncts/base/control/Eval/constructors";
8
+ import * as tsplus_module_8 from "@fncts/base/control/Eval/instance";
9
+ import * as tsplus_module_9 from "@fncts/base/control/Eval/api";
10
+ import * as tsplus_module_10 from "@fncts/base/control/Eval/run";
11
+ import * as tsplus_module_11 from "@fncts/base/data/Maybe/constructors";
12
+ import * as tsplus_module_12 from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/constructors";
13
+ import * as tsplus_module_13 from "@fncts/base/collection/immutable/Dictionary/definition";
14
+ import * as tsplus_module_14 from "@fncts/base/collection/immutable/Dictionary/api";
15
+ import * as tsplus_module_15 from "@fncts/base/typeclass/Ord/instances";
16
+ import * as tsplus_module_16 from "@fncts/base/typeclass/TraversableWithIndex";
17
+ import * as tsplus_module_17 from "@fncts/base/data/Either/destructors";
18
+ import * as tsplus_module_18 from "@fncts/base/typeclass/WitherableWithIndex";
18
19
  export const alignWith_ = alignWith_1;
19
20
  export const append_ = append_1;
20
21
  export const crossWith_ = crossWith_1;
@@ -59,7 +60,6 @@ export const unsafeDeleteAt_ = unsafeDeleteAt_1;
59
60
  export const unsafeInsertAt_ = unsafeInsertAt_1;
60
61
  export const unsafeModifyAt_ = unsafeModifyAt_1;
61
62
  export const unsafeUpdateAt_ = unsafeUpdateAt_1;
62
- export const witherWithIndex_ = witherWithIndex_1;
63
63
  export const zipWith_ = zipWith_1;
64
64
  import { identity, tuple } from "@fncts/base/data/function";
65
65
  import * as P from "@fncts/base/typeclass";
@@ -144,14 +144,14 @@ function crossWith_1(self, fb, f) {
144
144
 
145
145
 
146
146
  export function cross_(self, fb) {
147
- return crossWith_1(self, fb, tuple);
147
+ return crossWith_1(self, fb, (a, b) => tsplus_module_3.make(a, b));
148
148
  }
149
149
  /**
150
150
  * @tsplus static fncts.ImmutableArrayOps chainRecDepthFirst
151
151
  */
152
152
 
153
153
  export function chainRecDepthFirst(a, f) {
154
- const buffer = unsafeAsMutable_1(tsplus_module_3.slice_(f(a)));
154
+ const buffer = unsafeAsMutable_1(tsplus_module_4.slice_(f(a)));
155
155
  const out = [];
156
156
 
157
157
  while (buffer.length > 0) {
@@ -262,7 +262,7 @@ export function chop_(as, f) {
262
262
  const result = [];
263
263
  let cs = as;
264
264
 
265
- while (tsplus_module_4.isNonEmpty(cs)) {
265
+ while (tsplus_module_5.isNonEmpty(cs)) {
266
266
  const [b, c] = f(cs);
267
267
  result.push(b);
268
268
  cs = c;
@@ -278,10 +278,10 @@ export const chop = f => as => chop_(as, f);
278
278
  export function collectWhile_(as, f) {
279
279
  const result = [];
280
280
 
281
- for (let i = 0; i < tsplus_module_4.length(as); i++) {
281
+ for (let i = 0; i < tsplus_module_5.length(as); i++) {
282
282
  const o = f(as._array[i]);
283
283
 
284
- if (tsplus_module_5.isJust(o)) {
284
+ if (tsplus_module_6.isJust(o)) {
285
285
  result.push(o.value);
286
286
  } else {
287
287
  break;
@@ -293,14 +293,14 @@ export function collectWhile_(as, f) {
293
293
 
294
294
  function comprehensionLoop(scope, input, f, g) {
295
295
  if (input.length === 0) {
296
- return g(...scope) ? tsplus_module_6.now(tsplus_module_2.make(f(...scope))) : tsplus_module_6.now(tsplus_module_2.empty());
296
+ return g(...scope) ? tsplus_module_7.now(tsplus_module_2.make(f(...scope))) : tsplus_module_7.now(tsplus_module_2.empty());
297
297
  } else {
298
- 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));
298
+ return tsplus_module_9.map_(traverse_1(input[0])(tsplus_module_8.Applicative)(a => comprehensionLoop(append_1(scope, a), input.slice(1), f, g)), rs => flatten_1(rs));
299
299
  }
300
300
  }
301
301
 
302
302
  export function comprehension(input, f, g = () => true) {
303
- return tsplus_module_9.run(comprehensionLoop(tsplus_module_2.empty(), input, f, g));
303
+ return tsplus_module_10.run(comprehensionLoop(tsplus_module_2.empty(), input, f, g));
304
304
  }
305
305
  /**
306
306
  * @tsplus fluent fncts.ImmutableArray concat
@@ -338,7 +338,7 @@ function concat_1(self, that) {
338
338
 
339
339
 
340
340
  export function deleteAt_(as, i) {
341
- return isOutOfBound_1(as, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeDeleteAt_1(as, i));
341
+ return isOutOfBound_1(as, i) ? tsplus_module_11.nothing() : tsplus_module_11.just(unsafeDeleteAt_1(as, i));
342
342
  }
343
343
  /**
344
344
  * @tsplus fluent fncts.ImmutableArray difference
@@ -354,28 +354,28 @@ E) {
354
354
  */
355
355
 
356
356
  export function drop_(self, n) {
357
- return tsplus_module_3.slice_(self, n);
357
+ return tsplus_module_4.slice_(self, n);
358
358
  }
359
359
  /**
360
360
  * @tsplus fluent fncts.ImmutableArray dropLast
361
361
  */
362
362
 
363
363
  export function dropLast_(self, n) {
364
- return tsplus_module_3.slice_(self, 0, tsplus_module_4.length(self) - n);
364
+ return tsplus_module_4.slice_(self, 0, tsplus_module_5.length(self) - n);
365
365
  }
366
366
  /**
367
367
  * @tsplus fluent fncts.ImmutableArray dropWhile
368
368
  */
369
369
 
370
370
  export function dropWhile_(self, p) {
371
- return tsplus_module_3.slice_(self, spanIndexLeft_1(self, p));
371
+ return tsplus_module_4.slice_(self, spanIndexLeft_1(self, p));
372
372
  }
373
373
  /**
374
374
  * @tsplus fluent fncts.ImmutableArray dropLastWhile
375
375
  */
376
376
 
377
377
  export function dropLastWhile_(as, p) {
378
- return tsplus_module_3.slice_(as, 0, spanIndexRight_1(as, p) + 1);
378
+ return tsplus_module_4.slice_(as, 0, spanIndexRight_1(as, p) + 1);
379
379
  }
380
380
  /**
381
381
  * Test if a value is a member of an array. Takes an `Eq<A>` as a single
@@ -390,7 +390,7 @@ function elem_1(as, a,
390
390
  E) {
391
391
  const predicate = element => E.equals(element, a);
392
392
 
393
- const len = tsplus_module_4.length(as);
393
+ const len = tsplus_module_5.length(as);
394
394
 
395
395
  for (let i = 0; i < len; i++) {
396
396
  if (predicate(as._array[i])) {
@@ -409,7 +409,7 @@ function everyWithIndex_1(self, p) {
409
409
  let result = true;
410
410
  let i = 0;
411
411
 
412
- while (result && i < tsplus_module_4.length(self)) {
412
+ while (result && i < tsplus_module_5.length(self)) {
413
413
  result = p(i, self._array[i]);
414
414
  i++;
415
415
  }
@@ -425,7 +425,7 @@ export function exists_(self, p) {
425
425
  let result = false;
426
426
  let i = 0;
427
427
 
428
- while (!result && i < tsplus_module_4.length(self)) {
428
+ while (!result && i < tsplus_module_5.length(self)) {
429
429
  result = p(self._array[i]);
430
430
  i++;
431
431
  }
@@ -440,7 +440,7 @@ function filter_1(self, p) {
440
440
  function filterWithIndex_1(self, p) {
441
441
  const result = [];
442
442
 
443
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
443
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
444
444
  const a = self._array[i];
445
445
 
446
446
  if (p(i, a)) {
@@ -458,10 +458,10 @@ function filterWithIndex_1(self, p) {
458
458
  function filterMapWithIndex_1(fa, f) {
459
459
  const result = [];
460
460
 
461
- for (let i = 0; i < tsplus_module_4.length(fa); i++) {
461
+ for (let i = 0; i < tsplus_module_5.length(fa); i++) {
462
462
  const maybeB = f(i, unsafeGet_1(fa, i));
463
463
 
464
- if (tsplus_module_5.isJust(maybeB)) {
464
+ if (tsplus_module_6.isJust(maybeB)) {
465
465
  result.push(maybeB.value);
466
466
  }
467
467
  }
@@ -484,19 +484,19 @@ export function find_(self, p) {
484
484
  */
485
485
 
486
486
  export function findIndex_(as, predicate) {
487
- return findMapWithIndex_1(as, (i, a) => predicate(a) ? tsplus_module_10.just(i) : tsplus_module_10.nothing());
487
+ return findMapWithIndex_1(as, (i, a) => predicate(a) ? tsplus_module_11.just(i) : tsplus_module_11.nothing());
488
488
  }
489
489
 
490
490
  function findWithIndex_1(as, p) {
491
- const len = tsplus_module_4.length(as);
491
+ const len = tsplus_module_5.length(as);
492
492
 
493
493
  for (let i = 0; i < len; i++) {
494
494
  if (p(i, as._array[i])) {
495
- return tsplus_module_10.just(as._array[i]);
495
+ return tsplus_module_11.just(as._array[i]);
496
496
  }
497
497
  }
498
498
 
499
- return tsplus_module_10.nothing();
499
+ return tsplus_module_11.nothing();
500
500
  }
501
501
  /**
502
502
  * @tsplus fluent fncts.ImmutableArray findMap
@@ -511,36 +511,36 @@ export function findMap_(as, f) {
511
511
  */
512
512
 
513
513
  function findMapWithIndex_1(as, f) {
514
- const len = tsplus_module_4.length(as);
514
+ const len = tsplus_module_5.length(as);
515
515
 
516
516
  for (let i = 0; i < len; i++) {
517
517
  const v = f(i, as._array[i]);
518
518
 
519
- if (tsplus_module_5.isJust(v)) {
519
+ if (tsplus_module_6.isJust(v)) {
520
520
  return v;
521
521
  }
522
522
  }
523
523
 
524
- return tsplus_module_10.nothing();
524
+ return tsplus_module_11.nothing();
525
525
  }
526
526
 
527
527
  export function findLast_(as, p) {
528
- const len = tsplus_module_4.length(as);
528
+ const len = tsplus_module_5.length(as);
529
529
 
530
530
  for (let i = len - 1; i >= 0; i--) {
531
531
  if (p(as._array[i])) {
532
- return tsplus_module_10.just(as._array[i]);
532
+ return tsplus_module_11.just(as._array[i]);
533
533
  }
534
534
  }
535
535
 
536
- return tsplus_module_10.nothing();
536
+ return tsplus_module_11.nothing();
537
537
  }
538
538
  /**
539
539
  * @tsplus fluent fncts.ImmutableArray findLastIndex
540
540
  */
541
541
 
542
542
  export function findLastIndex_(self, p) {
543
- return findLastMapWithIndex_1(self, (i, a) => p(a) ? tsplus_module_10.just(i) : tsplus_module_10.nothing());
543
+ return findLastMapWithIndex_1(self, (i, a) => p(a) ? tsplus_module_11.just(i) : tsplus_module_11.nothing());
544
544
  }
545
545
  /**
546
546
  * @tsplus fluent fncts.ImmutableArray findLastMap
@@ -554,17 +554,17 @@ export function findLastMap_(as, f) {
554
554
  */
555
555
 
556
556
  function findLastMapWithIndex_1(as, f) {
557
- const len = tsplus_module_4.length(as);
557
+ const len = tsplus_module_5.length(as);
558
558
 
559
559
  for (let i = len - 1; i >= 0; i--) {
560
560
  const v = f(i, as._array[i]);
561
561
 
562
- if (tsplus_module_5.isJust(v)) {
562
+ if (tsplus_module_6.isJust(v)) {
563
563
  return v;
564
564
  }
565
565
  }
566
566
 
567
- return tsplus_module_10.nothing();
567
+ return tsplus_module_11.nothing();
568
568
  }
569
569
  /**
570
570
  * @tsplus fluent fncts.ImmutableArray foldLeftWithIndex
@@ -573,7 +573,7 @@ function findLastMapWithIndex_1(as, f) {
573
573
 
574
574
 
575
575
  function foldLeftWithIndex_1(self, b, f) {
576
- const len = tsplus_module_4.length(self);
576
+ const len = tsplus_module_5.length(self);
577
577
  let r = b;
578
578
 
579
579
  for (let i = 0; i < len; i++) {
@@ -609,7 +609,7 @@ function foldLeftWithIndexWhile_1(self, b, p, f) {
609
609
  let out = b;
610
610
  let cont = p(out);
611
611
 
612
- for (let i = 0; cont && i < tsplus_module_4.length(self); i++) {
612
+ for (let i = 0; cont && i < tsplus_module_5.length(self); i++) {
613
613
  out = f(i, out, self._array[i]);
614
614
  cont = p(out);
615
615
  }
@@ -653,7 +653,7 @@ M) {
653
653
  function foldRightWithIndex_1(self, b, f) {
654
654
  let r = b;
655
655
 
656
- for (let i = tsplus_module_4.length(self) - 1; i >= 0; i--) {
656
+ for (let i = tsplus_module_5.length(self) - 1; i >= 0; i--) {
657
657
  r = f(i, self._array[i], r);
658
658
  }
659
659
 
@@ -682,7 +682,7 @@ function foldRightWithIndexWhile_1(self, b, predicate, f) {
682
682
  let out = b;
683
683
  let cont = predicate(out);
684
684
 
685
- for (let i = tsplus_module_4.length(self) - 1; cont && i >= 0; i--) {
685
+ for (let i = tsplus_module_5.length(self) - 1; cont && i >= 0; i--) {
686
686
  out = f(i, self._array[i], out);
687
687
  cont = predicate(out);
688
688
  }
@@ -704,7 +704,7 @@ function forEach_1(self, f) {
704
704
 
705
705
 
706
706
  function get_1(self, i) {
707
- return isOutOfBound_1(self, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(self._array[i]);
707
+ return isOutOfBound_1(self, i) ? tsplus_module_11.nothing() : tsplus_module_11.just(self._array[i]);
708
708
  }
709
709
 
710
710
  export function group(E) {
@@ -713,7 +713,7 @@ export function group(E) {
713
713
  const out = [h];
714
714
  let i = 1;
715
715
 
716
- for (; i < tsplus_module_4.length(self); i++) {
716
+ for (; i < tsplus_module_5.length(self); i++) {
717
717
  const a = self._array[i];
718
718
 
719
719
  if (E.equals(a, h)) {
@@ -723,7 +723,7 @@ export function group(E) {
723
723
  }
724
724
  }
725
725
 
726
- return [tsplus_module_11.unsafeAsNonEmptyArray(out), tsplus_module_3.slice_(self, i)];
726
+ return [tsplus_module_12.unsafeAsNonEmptyArray(out), tsplus_module_4.slice_(self, i)];
727
727
  });
728
728
  }
729
729
  /**
@@ -740,7 +740,7 @@ export function chopSelf(self, E) {
740
740
  export function groupBy_(self, f) {
741
741
  const out = {};
742
742
 
743
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
743
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
744
744
  const a = self._array[i];
745
745
  const k = f(a);
746
746
 
@@ -751,29 +751,29 @@ export function groupBy_(self, f) {
751
751
  }
752
752
  }
753
753
 
754
- return tsplus_module_13.map_(tsplus_module_12.Dictionary.get(out), tsplus_module_11.from);
754
+ return tsplus_module_14.map_(tsplus_module_13.Dictionary.get(out), tsplus_module_12.from);
755
755
  }
756
756
  /**
757
757
  * @tsplus getter fncts.ImmutableArray head
758
758
  */
759
759
 
760
760
  export function head(self) {
761
- return tsplus_module_4.isNonEmpty(self) ? tsplus_module_10.just(self._array[0]) : tsplus_module_10.nothing();
761
+ return tsplus_module_5.isNonEmpty(self) ? tsplus_module_11.just(self._array[0]) : tsplus_module_11.nothing();
762
762
  }
763
763
  /**
764
764
  * @tsplus getter fncts.ImmutableArray init
765
765
  */
766
766
 
767
767
  export function init(self) {
768
- const len = tsplus_module_4.length(self);
769
- return len === 0 ? tsplus_module_10.nothing() : tsplus_module_10.just(tsplus_module_3.slice_(self, 0, len - 1));
768
+ const len = tsplus_module_5.length(self);
769
+ return len === 0 ? tsplus_module_11.nothing() : tsplus_module_11.just(tsplus_module_4.slice_(self, 0, len - 1));
770
770
  }
771
771
  /**
772
772
  * @tsplus fluent fncts.ImmutableArray insertAt
773
773
  */
774
774
 
775
775
  export function insertAt_(self, i, a) {
776
- return isOutOfBound_1(self, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeInsertAt_1(self, i, a));
776
+ return isOutOfBound_1(self, i) ? tsplus_module_11.nothing() : tsplus_module_11.just(unsafeInsertAt_1(self, i, a));
777
777
  }
778
778
  /**
779
779
  * @tsplus fluent fncts.ImmutableArray intersection
@@ -785,15 +785,15 @@ E) {
785
785
  return filter_1(self, a => elem_1(that, a, E));
786
786
  }
787
787
  export function intersperse_(self, a) {
788
- const len = tsplus_module_4.length(self);
789
- return len === 0 ? self : prepend_1(prependAll_1(tsplus_module_3.slice_(self, 1, len), a), unsafeGet_1(self, 0));
788
+ const len = tsplus_module_5.length(self);
789
+ return len === 0 ? self : prepend_1(prependAll_1(tsplus_module_4.slice_(self, 1, len), a), unsafeGet_1(self, 0));
790
790
  }
791
791
  /**
792
792
  * @tsplus fluent fncts.ImmutableArray isEmpty
793
793
  */
794
794
 
795
795
  function isEmpty_1(self) {
796
- return tsplus_module_4.length(self) === 0;
796
+ return tsplus_module_5.length(self) === 0;
797
797
  }
798
798
  /**
799
799
  * @tsplus fluent fncts.ImmutableArray isOutOfBound
@@ -801,7 +801,7 @@ function isEmpty_1(self) {
801
801
 
802
802
 
803
803
  function isOutOfBound_1(self, i) {
804
- return i < 0 || i >= tsplus_module_4.length(self);
804
+ return i < 0 || i >= tsplus_module_5.length(self);
805
805
  }
806
806
  /**
807
807
  * @tsplus fluent fncts.ImmutableArray join
@@ -816,7 +816,7 @@ export function join(self, separator) {
816
816
  */
817
817
 
818
818
  export function last(self) {
819
- return get_1(self, tsplus_module_4.length(self) - 1);
819
+ return get_1(self, tsplus_module_5.length(self) - 1);
820
820
  }
821
821
  /**
822
822
  * @tsplus getter fncts.ImmutableArray length
@@ -832,7 +832,7 @@ export function length(self) {
832
832
  export function lefts(self) {
833
833
  const ls = [];
834
834
 
835
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
835
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
836
836
  const a = self._array[i];
837
837
  void 0;
838
838
 
@@ -858,10 +858,10 @@ function map_1(self, f) {
858
858
 
859
859
 
860
860
  export function mapAccum_(self, s, f) {
861
- const bs = Array(tsplus_module_4.length(self));
861
+ const bs = Array(tsplus_module_5.length(self));
862
862
  let state = s;
863
863
 
864
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
864
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
865
865
  const result = f(state, self._array[i]);
866
866
  bs[i] = result[0];
867
867
  state = result[1];
@@ -889,7 +889,7 @@ function mapWithIndex_1(self, f) {
889
889
 
890
890
 
891
891
  export function modifyAt_(self, i, f) {
892
- return isOutOfBound_1(self, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeModifyAt_1(self, i, f));
892
+ return isOutOfBound_1(self, i) ? tsplus_module_11.nothing() : tsplus_module_11.just(unsafeModifyAt_1(self, i, f));
893
893
  }
894
894
  /**
895
895
  * @tsplus fluent fncts.ImmutableArray mutate
@@ -906,14 +906,14 @@ function mutate_1(self, f) {
906
906
 
907
907
 
908
908
  function mutableClone_1(self) {
909
- return tsplus_module_3.slice_(self, 0)._array;
909
+ return tsplus_module_4.slice_(self, 0)._array;
910
910
  }
911
911
 
912
912
  function partitionWithIndex_1(self, p) {
913
913
  const left = [];
914
914
  const right = [];
915
915
 
916
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
916
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
917
917
  const a = self._array[i];
918
918
 
919
919
  if (p(i, a)) {
@@ -937,7 +937,7 @@ function partitionMapWithIndex_1(self, f) {
937
937
  const left = [];
938
938
  const right = [];
939
939
 
940
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
940
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
941
941
  const ea = f(i, self._array[i]);
942
942
  void 0;
943
943
 
@@ -971,7 +971,7 @@ export function partitionMap_(self, f) {
971
971
  */
972
972
 
973
973
  function prepend_1(self, head) {
974
- const len = tsplus_module_4.length(self);
974
+ const len = tsplus_module_5.length(self);
975
975
  const out = Array(len + 1);
976
976
  out[0] = head;
977
977
 
@@ -990,7 +990,7 @@ function prepend_1(self, head) {
990
990
  function prependAll_1(self, a) {
991
991
  const out = [];
992
992
 
993
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
993
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
994
994
  out.push(a, self._array[i]);
995
995
  }
996
996
 
@@ -1004,12 +1004,12 @@ function prependAll_1(self, a) {
1004
1004
  export function reverse(self) {
1005
1005
  if (isEmpty_1(self)) {
1006
1006
  return self;
1007
- } else if (tsplus_module_4.length(self) === 1) {
1007
+ } else if (tsplus_module_5.length(self) === 1) {
1008
1008
  return tsplus_module_2.make(self._array[0]);
1009
1009
  } else {
1010
- const out = Array(tsplus_module_4.length(self));
1010
+ const out = Array(tsplus_module_5.length(self));
1011
1011
 
1012
- for (let j = 0, i = tsplus_module_4.length(self) - 1; i >= 0; i--, j++) {
1012
+ for (let j = 0, i = tsplus_module_5.length(self) - 1; i >= 0; i--, j++) {
1013
1013
  out[j] = self._array[i];
1014
1014
  }
1015
1015
 
@@ -1023,7 +1023,7 @@ export function reverse(self) {
1023
1023
  export function rights(self) {
1024
1024
  const rs = [];
1025
1025
 
1026
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
1026
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
1027
1027
  const a = self._array[i];
1028
1028
  void 0;
1029
1029
 
@@ -1041,14 +1041,14 @@ export function rights(self) {
1041
1041
  */
1042
1042
 
1043
1043
  function rotate_1(self, n) {
1044
- const len = tsplus_module_4.length(self);
1044
+ const len = tsplus_module_5.length(self);
1045
1045
 
1046
1046
  if (n === 0 || len <= 1 || len === Math.abs(n)) {
1047
1047
  return self;
1048
1048
  } else if (n < 0) {
1049
1049
  return rotate_1(self, len + n);
1050
1050
  } else {
1051
- return concat_1(tsplus_module_3.slice_(self, -n), tsplus_module_3.slice_(self, 0, len - n));
1051
+ return concat_1(tsplus_module_4.slice_(self, -n), tsplus_module_4.slice_(self, 0, len - n));
1052
1052
  }
1053
1053
  }
1054
1054
  /**
@@ -1057,7 +1057,7 @@ function rotate_1(self, n) {
1057
1057
 
1058
1058
 
1059
1059
  export function scanLeft_(self, b, f) {
1060
- const l = tsplus_module_4.length(self);
1060
+ const l = tsplus_module_5.length(self);
1061
1061
  const r = Array(l + 1);
1062
1062
  r[0] = b;
1063
1063
 
@@ -1072,7 +1072,7 @@ export function scanLeft_(self, b, f) {
1072
1072
  */
1073
1073
 
1074
1074
  export function scanRight_(self, b, f) {
1075
- const l = tsplus_module_4.length(self);
1075
+ const l = tsplus_module_5.length(self);
1076
1076
  const r = Array(l + 1);
1077
1077
  r[l] = b;
1078
1078
 
@@ -1089,7 +1089,7 @@ export function scanRight_(self, b, f) {
1089
1089
  function sort_1(self,
1090
1090
  /** @tsplus auto */
1091
1091
  O) {
1092
- return isEmpty_1(self) || tsplus_module_4.length(self) === 1 ? self : tsplus_module_2.asImmutableArray(self._array.slice().sort(O.compare));
1092
+ return isEmpty_1(self) || tsplus_module_5.length(self) === 1 ? self : tsplus_module_2.asImmutableArray(self._array.slice().sort(O.compare));
1093
1093
  }
1094
1094
  /**
1095
1095
  * @tsplus fluent fncts.ImmutableArray sortBy
@@ -1097,7 +1097,7 @@ O) {
1097
1097
 
1098
1098
 
1099
1099
  export function sortBy(self, Os) {
1100
- return sort_1(self, fold_1(Os, tsplus_module_14.getMonoid()));
1100
+ return sort_1(self, fold_1(Os, tsplus_module_15.getMonoid()));
1101
1101
  }
1102
1102
  export function spanLeft_(self, p) {
1103
1103
  const i = spanIndexLeft_1(self, p);
@@ -1107,7 +1107,7 @@ export function spanLeft_(self, p) {
1107
1107
  init[j] = self._array[j];
1108
1108
  }
1109
1109
 
1110
- const l = tsplus_module_4.length(self);
1110
+ const l = tsplus_module_5.length(self);
1111
1111
  const rest = Array(l - i);
1112
1112
 
1113
1113
  for (let j = i; j < l; j++) {
@@ -1118,7 +1118,7 @@ export function spanLeft_(self, p) {
1118
1118
  }
1119
1119
  export function spanRight_(self, p) {
1120
1120
  const i = spanIndexRight_1(self, p);
1121
- const l = tsplus_module_4.length(self);
1121
+ const l = tsplus_module_5.length(self);
1122
1122
  const tail = Array(l - i - 1);
1123
1123
 
1124
1124
  for (let j = l - 1; j > i; j--) {
@@ -1138,7 +1138,7 @@ export function spanRight_(self, p) {
1138
1138
  */
1139
1139
 
1140
1140
  function spanIndexLeft_1(self, p) {
1141
- const l = tsplus_module_4.length(self);
1141
+ const l = tsplus_module_5.length(self);
1142
1142
  let i = 0;
1143
1143
 
1144
1144
  for (; i < l; i++) {
@@ -1155,7 +1155,7 @@ function spanIndexLeft_1(self, p) {
1155
1155
 
1156
1156
 
1157
1157
  function spanIndexRight_1(as, predicate) {
1158
- let i = tsplus_module_4.length(as) - 1;
1158
+ let i = tsplus_module_5.length(as) - 1;
1159
1159
 
1160
1160
  for (; i >= 0; i--) {
1161
1161
  if (!predicate(as._array[i])) {
@@ -1171,21 +1171,21 @@ function spanIndexRight_1(as, predicate) {
1171
1171
 
1172
1172
 
1173
1173
  export function tail(self) {
1174
- return tsplus_module_4.isNonEmpty(self) ? tsplus_module_10.just(tsplus_module_3.slice_(self, 1)) : tsplus_module_10.nothing();
1174
+ return tsplus_module_5.isNonEmpty(self) ? tsplus_module_11.just(tsplus_module_4.slice_(self, 1)) : tsplus_module_11.nothing();
1175
1175
  }
1176
1176
  /**
1177
1177
  * @tsplus fluent fncts.ImmutableArray take
1178
1178
  */
1179
1179
 
1180
1180
  export function take_(self, n) {
1181
- return tsplus_module_3.slice_(self, 0, n);
1181
+ return tsplus_module_4.slice_(self, 0, n);
1182
1182
  }
1183
1183
  /**
1184
1184
  * @tsplus fluent fncts.ImmutableArray takeLast
1185
1185
  */
1186
1186
 
1187
1187
  export function takeLast_(as, n) {
1188
- return isEmpty_1(as) ? tsplus_module_2.empty() : tsplus_module_3.slice_(as, -n);
1188
+ return isEmpty_1(as) ? tsplus_module_2.empty() : tsplus_module_4.slice_(as, -n);
1189
1189
  }
1190
1190
  export function takeWhile_(self, p) {
1191
1191
  const i = spanIndexLeft_1(self, p);
@@ -1198,17 +1198,16 @@ export function takeWhile_(self, p) {
1198
1198
  return tsplus_module_2.asImmutableArray(init);
1199
1199
  }
1200
1200
  /**
1201
- * @tsplus fluent fncts.ImmutableArray traverseWithIndex
1201
+ * @tsplus getter fncts.ImmutableArray traverseWithIndex
1202
1202
  */
1203
1203
 
1204
- 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));
1205
-
1204
+ const traverseWithIndex_1 = /*#__PURE__*/tsplus_module_16.mkTraverseWithIndex_()(() => ta => G => f => foldLeftWithIndex_1(ta, G.pure(tsplus_module_2.empty()), (i, fbs, a) => G.zipWith(fbs, f(i, a), (bs, b) => append_1(bs, b))));
1206
1205
  export const traverseWithIndex_ = traverseWithIndex_1;
1207
1206
  /**
1208
- * @tsplus fluent fncts.ImmutableArray traverse
1207
+ * @tsplus getter fncts.ImmutableArray traverse
1209
1208
  */
1210
1209
 
1211
- const traverse_1 = (self, f, G) => traverseWithIndex_1(self, (_, a) => f(a), G);
1210
+ const traverse_1 = self => G => f => traverseWithIndex_1(self)(G)((_, a) => f(a));
1212
1211
 
1213
1212
  export const traverse_ = traverse_1;
1214
1213
  /**
@@ -1227,12 +1226,12 @@ E) {
1227
1226
  export function uniq(self,
1228
1227
  /** @tsplus auto */
1229
1228
  E) {
1230
- if (tsplus_module_4.length(self) === 1) {
1229
+ if (tsplus_module_5.length(self) === 1) {
1231
1230
  return self;
1232
1231
  }
1233
1232
 
1234
1233
  const out = [];
1235
- const len = tsplus_module_4.length(self);
1234
+ const len = tsplus_module_5.length(self);
1236
1235
 
1237
1236
  for (let i = 0; i < len; i++) {
1238
1237
  const a = self._array[i];
@@ -1249,7 +1248,7 @@ E) {
1249
1248
  */
1250
1249
 
1251
1250
  export function unprepend(self) {
1252
- return tsplus_module_4.isNonEmpty(self) ? tsplus_module_10.just([unsafeGet_1(self, 0), tsplus_module_3.slice_(self, 1)]) : tsplus_module_10.nothing();
1251
+ return tsplus_module_5.isNonEmpty(self) ? tsplus_module_11.just([unsafeGet_1(self, 0), tsplus_module_4.slice_(self, 1)]) : tsplus_module_11.nothing();
1253
1252
  }
1254
1253
  /**
1255
1254
  * @tsplus index fncts.ImmutableArray
@@ -1322,10 +1321,10 @@ function unsafeUpdateAt_1(as, i, a) {
1322
1321
 
1323
1322
 
1324
1323
  export function unzip(self) {
1325
- const fa = Array(tsplus_module_4.length(self));
1326
- const fb = Array(tsplus_module_4.length(self));
1324
+ const fa = Array(tsplus_module_5.length(self));
1325
+ const fb = Array(tsplus_module_5.length(self));
1327
1326
 
1328
- for (let i = 0; i < tsplus_module_4.length(self); i++) {
1327
+ for (let i = 0; i < tsplus_module_5.length(self); i++) {
1329
1328
  fa[i] = self._array[i][0];
1330
1329
  fb[i] = self._array[i][1];
1331
1330
  }
@@ -1337,65 +1336,47 @@ export function unzip(self) {
1337
1336
  */
1338
1337
 
1339
1338
  export function updateAt_(as, i, a) {
1340
- return isOutOfBound_1(as, i) ? tsplus_module_10.nothing() : tsplus_module_10.just(unsafeUpdateAt_1(as, i, a));
1339
+ return isOutOfBound_1(as, i) ? tsplus_module_11.nothing() : tsplus_module_11.just(unsafeUpdateAt_1(as, i, a));
1341
1340
  }
1342
1341
  /**
1343
- * @tsplus fluent fncts.ImmutableArray wilt
1342
+ * @tsplus getter fncts.ImmutableArray wiltWithIndex
1344
1343
  */
1345
1344
 
1346
- export function wilt_(self, f,
1347
- /** @tsplus auto */
1348
- G) {
1349
- 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 => {
1350
- r[0].push(b1);
1351
- return r;
1352
- }, b2 => {
1353
- r[1].push(b2);
1354
- return r;
1355
- }), G)), ([b1s, b2s]) => [tsplus_module_2.asImmutableArray(b1s), tsplus_module_2.asImmutableArray(b2s)], G);
1356
- }
1357
- export function wiltWithIndex_(self, f,
1358
- /** @tsplus auto */
1359
- G) {
1360
- 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 => {
1361
- r[0].push(b1);
1362
- return r;
1363
- }, b2 => {
1364
- r[1].push(b2);
1365
- return r;
1366
- }), G)), ([b1s, b2s]) => [tsplus_module_2.asImmutableArray(b1s), tsplus_module_2.asImmutableArray(b2s)], G);
1367
- }
1345
+ const wiltWithIndex_1 = /*#__PURE__*/tsplus_module_18.makeWiltWithIndex()(_ => self => G => f => G.map(foldLeftWithIndex_1(self, G.pure([[], []]), (i, fbs, a) => G.zipWith(f(i, a), fbs, (eb, r) => tsplus_module_17.match_(eb, b1 => {
1346
+ r[0].push(b1);
1347
+ return r;
1348
+ }, b2 => {
1349
+ r[1].push(b2);
1350
+ return r;
1351
+ }))), ([b1s, b2s]) => [tsplus_module_2.asImmutableArray(b1s), tsplus_module_2.asImmutableArray(b2s)]));
1352
+ export const wiltWithIndex = wiltWithIndex_1;
1368
1353
  /**
1369
- * @tsplus fluent fncts.ImmutableArray wither
1354
+ * @tsplus getter fncts.ImmutableArray wilt
1370
1355
  */
1371
1356
 
1372
- export function wither_(self, f,
1373
- /** @tsplus auto */
1374
- G) {
1375
- const G_1 =
1376
- /** @tsplus auto */
1377
- G;
1378
- return witherWithIndex_1(self, (_, a) => f(a), G_1);
1379
- }
1357
+ export const wilt = self => G => f => wiltWithIndex_1(self)(G)((_, a) => f(a));
1380
1358
  /**
1381
- * @tsplus fluent fncts.ImmutableArray witherWithIndex
1359
+ * @tsplus getter fncts.ImmutableArray witherWithIndex
1382
1360
  */
1383
1361
 
1384
- function witherWithIndex_1(self, f,
1385
- /** @tsplus auto */
1386
- G) {
1387
- return tsplus_module_17.map(foldLeftWithIndex_1(self, G.pure([]), (i, b, a) => tsplus_module_15.zipWith(f(i, a), b, (maybeB, bs) => {
1388
- if (tsplus_module_5.isJust(maybeB)) {
1362
+ const witherWithIndex_1 = /*#__PURE__*/tsplus_module_18.makeWitherWithIndex()(_ => self => G => f => {
1363
+ return G.map(foldLeftWithIndex_1(self, G.pure([]), (i, b, a) => G.zipWith(f(i, a), b, (maybeB, bs) => {
1364
+ if (tsplus_module_6.isJust(maybeB)) {
1389
1365
  bs.push(maybeB.value);
1390
1366
  }
1391
1367
 
1392
1368
  return bs;
1393
- }, G)), bs => tsplus_module_2.asImmutableArray(bs), G);
1394
- }
1369
+ })), bs => tsplus_module_2.asImmutableArray(bs));
1370
+ });
1371
+ export const witherWithIndex = witherWithIndex_1;
1395
1372
  /**
1396
- * @tsplus fluent fncts.ImmutableArray zip
1373
+ * @tsplus getter fncts.ImmutableArray wither
1397
1374
  */
1398
1375
 
1376
+ export const wither = self => G => f => witherWithIndex_1(self)(G)((_, a) => f(a));
1377
+ /**
1378
+ * @tsplus fluent fncts.ImmutableArray zip
1379
+ */
1399
1380
 
1400
1381
  export function zip_(self, that) {
1401
1382
  return zipWith_1(self, that, tuple);
@@ -1405,7 +1386,7 @@ export function zip_(self, that) {
1405
1386
  */
1406
1387
 
1407
1388
  function zipWith_1(self, fb, f) {
1408
- const len = Math.min(tsplus_module_4.length(self), tsplus_module_4.length(fb));
1389
+ const len = Math.min(tsplus_module_5.length(self), tsplus_module_5.length(fb));
1409
1390
  const fc = Array(len);
1410
1391
 
1411
1392
  for (let i = 0; i < len; i++) {