@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
@@ -5,8 +5,8 @@ import type { Object } from "@fncts/typelevel";
5
5
  /**
6
6
  * @tsplus type fncts.Apply
7
7
  */
8
- export interface Apply<F extends HKT> extends Semimonoidal<F>, Functor<F> {
9
- zipWith<K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B, D>(self: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, that: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>, f: (a: A, b: B) => D): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, D>;
8
+ export interface Apply<F extends HKT, FC = HKT.None> extends Semimonoidal<F, FC>, Functor<F, FC> {
9
+ zipWith: <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B, D>(self: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, that: HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>, f: (a: A, b: B) => D) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, D>;
10
10
  }
11
11
  /**
12
12
  * @tsplus type fncts.ApplyOps
@@ -15,58 +15,46 @@ export interface ApplyOps {
15
15
  }
16
16
  export declare const Apply: ApplyOps;
17
17
  /**
18
- * @tsplus fluent fncts.Kind zipWith
18
+ * @tsplus static fncts.ApplyOps ap
19
19
  * @tsplus location "@fncts/base/typeclass/Apply"
20
20
  */
21
- export declare function zipWith<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B, D>(self: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, that: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>, f: (a: A, b: B) => D,
22
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, D>;
21
+ export declare function ap<F extends HKT, FC = HKT.None>(F: Apply<F, FC>): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fab: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, (a: A) => B>, fa: HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, A>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, B>;
23
22
  /**
24
- * @tsplus fluent fncts.Kind ap
23
+ * @tsplus static fncts.ApplyOps apFirst
25
24
  * @tsplus location "@fncts/base/typeclass/Apply"
26
25
  */
27
- export declare function ap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fab: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, (a: A) => B>, fa: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, A>,
28
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, B>;
26
+ export declare function apFirst<F extends HKT, FC = HKT.None>(F: Apply<F, FC>): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, A>;
29
27
  /**
30
- * @tsplus fluent fncts.Kind apFirst
28
+ * @tsplus static fncts.ApplyOps apSecond
31
29
  * @tsplus location "@fncts/base/typeclass/Apply"
32
30
  */
33
- export declare function apFirst<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>,
34
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, A>;
35
- /**
36
- * @tsplus fluent fncts.Kind apSecond
37
- * @tsplus location "@fncts/base/typeclass/Apply"
38
- */
39
- export declare function apSecond<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>,
40
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, B>;
41
- export declare function apS<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, BN extends string, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, name: Exclude<BN, keyof A>, fb: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>,
42
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, {
31
+ export declare function apSecond<F extends HKT, FC = HKT.None>(F: Apply<F, FC>): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, B>;
32
+ export declare function apS<F extends HKT, FC = HKT.None>(F: Apply<F, FC>): <K1, Q1, W1, X1, I1, S1, R1, E1, A, BN extends string, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, name: Exclude<BN, keyof A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, {
43
33
  [K in keyof A | BN]: K extends keyof A ? A[K] : B;
44
34
  }>;
45
35
  /**
46
36
  * @tsplus static fncts.ApplyOps sequenceS
47
37
  * @tsplus location "@fncts/base/typeclass/Apply"
48
38
  */
49
- export declare function sequenceS<F extends HKT, KS extends Readonly<Record<string, HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, A>>>, A, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(r: Object.EnforceNonEmpty<KS> & Readonly<Record<string, HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, A>>>,
50
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, InferMixStruct<F, "K", K, KS>, InferMixStruct<F, "Q", Q, KS>, InferMixStruct<F, "W", W, KS>, InferMixStruct<F, "Q", Q, KS>, InferMixStruct<F, "I", I, KS>, InferMixStruct<F, "S", S, KS>, InferMixStruct<F, "R", R, KS>, InferMixStruct<F, "E", E, KS>, {
51
- [K in keyof KS]: HKT.Infer<F, "A", KS[K]>;
39
+ export declare function sequenceS<F extends HKT, FC = HKT.None>(F: Apply<F, FC>): <KS extends Readonly<Record<string, HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, A>>>, A, K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, E = HKT.Low<F, "E">>(r: Object.EnforceNonEmpty<KS> & Readonly<Record<string, HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, A>>>) => HKT.Kind<F, FC, InferMixStruct<F, FC, "K", K, KS>, InferMixStruct<F, FC, "Q", Q, KS>, InferMixStruct<F, FC, "W", W, KS>, InferMixStruct<F, FC, "Q", Q, KS>, InferMixStruct<F, FC, "I", I, KS>, InferMixStruct<F, FC, "S", S, KS>, InferMixStruct<F, FC, "R", R, KS>, InferMixStruct<F, FC, "E", E, KS>, {
40
+ [K in keyof KS]: HKT.Infer<F, FC, "A", KS[K]>;
52
41
  }>;
53
- export declare function sequenceT<F extends HKT, KT extends readonly [
54
- HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, unknown>,
55
- ...ReadonlyArray<HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, unknown>>
56
- ], K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(t: [...KT],
57
- /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, InferMixTuple<F, "K", K, KT>, InferMixTuple<F, "Q", Q, KT>, InferMixTuple<F, "W", W, KT>, InferMixTuple<F, "Q", Q, KT>, InferMixTuple<F, "I", I, KT>, InferMixTuple<F, "S", S, KT>, InferMixTuple<F, "R", R, KT>, InferMixTuple<F, "E", E, KT>, {
58
- [K in keyof KT]: HKT.Infer<F, "A", KT[K]>;
42
+ export declare function sequenceT<F extends HKT, FC = HKT.None>(F: Apply<F, FC>): <KT extends readonly [
43
+ HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, unknown>,
44
+ ...ReadonlyArray<HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, unknown>>
45
+ ], K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, E = HKT.Low<F, "E">>(t: [...KT]) => HKT.Kind<F, FC, InferMixTuple<F, FC, "K", K, KT>, InferMixTuple<F, FC, "Q", Q, KT>, InferMixTuple<F, FC, "W", W, KT>, InferMixTuple<F, FC, "Q", Q, KT>, InferMixTuple<F, FC, "I", I, KT>, InferMixTuple<F, FC, "S", S, KT>, InferMixTuple<F, FC, "R", R, KT>, InferMixTuple<F, FC, "E", E, KT>, {
46
+ [K in keyof KT]: HKT.Infer<F, FC, "A", KT[K]>;
59
47
  }>;
60
48
  /**
61
49
  * @internal
62
50
  */
63
- declare type InferMixStruct<F extends HKT, P extends HKT.ParamName, T, KS> = HKT.MixStruct<P, T, {
64
- [K in keyof KS]: HKT.Infer<F, P, KS[K]>;
51
+ declare type InferMixStruct<F extends HKT, FC, P extends HKT.ParamName, T, KS> = HKT.MixStruct<F, P, T, {
52
+ [K in keyof KS]: HKT.Infer<F, FC, P, KS[K]>;
65
53
  }>;
66
54
  /**
67
55
  * @internal
68
56
  */
69
- declare type InferMixTuple<F extends HKT, P extends HKT.ParamName, T, KT> = HKT.MixStruct<P, T, {
70
- [K in keyof KT & number]: HKT.Infer<F, P, KT[K]>;
57
+ declare type InferMixTuple<F extends HKT, FC, P extends HKT.ParamName, T, KT> = HKT.MixStruct<F, P, T, {
58
+ [K in keyof KT & number]: HKT.Infer<F, FC, P, KT[K]>;
71
59
  }>;
72
60
  export {};
@@ -1,7 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { Functor } from "@fncts/base/typeclass/Functor";
3
- export interface FlatMap<F extends HKT> extends Functor<F> {
4
- flatMap<K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, B>;
2
+ import { Functor } from "@fncts/base/typeclass/Functor";
3
+ export interface FlatMap<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
4
+ flatMap: <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, B>;
5
5
  }
6
6
  /**
7
7
  * @tsplus type fncts.FlatMapOps
@@ -9,21 +9,13 @@ export interface FlatMap<F extends HKT> extends Functor<F> {
9
9
  export interface FlatMapOps {
10
10
  }
11
11
  export declare const FlatMap: FlatMapOps;
12
- /**
13
- * @tsplus fluent fncts.Kind flatMap
14
- * @tsplus location "@fncts/base/typeclass/Chain"
15
- */
16
- export declare function flatMap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>,
17
- /** @tsplus auto */ F: FlatMap<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, B>;
18
12
  /**
19
13
  * @tsplus fluent fncts.Kind flatten
20
14
  * @tsplus location "@fncts/base/typeclass/Chain"
21
15
  */
22
- export declare function flatten<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2>(mma: HKT.Kind<F, K2, Q2, W2, X2, I2, S2, R2, E2, HKT.Kind<F, HKT.Intro<"K", K2, K1>, HKT.Intro<"Q", Q2, Q1>, HKT.Intro<"W", W2, W1>, HKT.Intro<"X", X2, X1>, HKT.Intro<"I", I2, I1>, HKT.Intro<"S", S2, S1>, HKT.Intro<"R", R2, R1>, HKT.Intro<"E", E2, E1>, A>>,
23
- /** @tsplus auto */ F: FlatMap<F>): HKT.Kind<F, HKT.Mix<"K", [K2, K1]>, HKT.Mix<"Q", [Q2, Q1]>, HKT.Mix<"W", [W2, W1]>, HKT.Mix<"X", [X2, X1]>, HKT.Mix<"I", [I2, I1]>, HKT.Mix<"S", [S2, S1]>, HKT.Mix<"R", [R2, R1]>, HKT.Mix<"E", [E2, E1]>, A>;
16
+ export declare function flatten<F extends HKT, FC = HKT.None>(F: FlatMap<F, FC>): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2>(mma: HKT.Kind<F, FC, K2, Q2, W2, X2, I2, S2, R2, E2, HKT.Kind<F, FC, HKT.Intro<F, "K", K2, K1>, HKT.Intro<F, "Q", Q2, Q1>, HKT.Intro<F, "W", W2, W1>, HKT.Intro<F, "X", X2, X1>, HKT.Intro<F, "I", I2, I1>, HKT.Intro<F, "S", S2, S1>, HKT.Intro<F, "R", R2, R1>, HKT.Intro<F, "E", E2, E1>, A>>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K2, K1]>, HKT.Mix<F, "Q", [Q2, Q1]>, HKT.Mix<F, "W", [W2, W1]>, HKT.Mix<F, "X", [X2, X1]>, HKT.Mix<F, "I", [I2, I1]>, HKT.Mix<F, "S", [S2, S1]>, HKT.Mix<F, "R", [R2, R1]>, HKT.Mix<F, "E", [E2, E1]>, A>;
24
17
  /**
25
18
  * @tsplus fluent fncts.Kind tap
26
19
  * @tsplus location "@fncts/base/typeclass/Chain"
27
20
  */
28
- export declare function tap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>,
29
- /** @tsplus auto */ F: FlatMap<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, A>;
21
+ export declare function tap<F extends HKT, FC = HKT.None>(F: FlatMap<F, FC>): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => HKT.Kind<F, FC, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, A>;
@@ -2,16 +2,11 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  /**
3
3
  * @tsplus type fncts.Fail
4
4
  */
5
- export interface Fail<F extends HKT> extends HKT.Typeclass<F> {
6
- fail<E, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, A = never>(e: E): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
5
+ export interface Fail<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
6
+ fail: <E, K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, X = HKT.Low<F, "X">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, A = never>(e: E) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
7
7
  }
8
8
  /**
9
9
  * @tsplus type fncts.FailOps
10
10
  */
11
11
  export interface FailOps {
12
12
  }
13
- /**
14
- * @tsplus static fncts.FailOps fail
15
- * @tsplus location "@fncts/base/typeclass/Fail"
16
- */
17
- export declare function fail<F extends HKT, E, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, A = never>(e: E, /** @tsplus auto */ F: Fail<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
@@ -7,13 +7,13 @@ import type { Functor } from "@fncts/base/typeclass/Functor";
7
7
  /**
8
8
  * @tsplus type fncts.Filterable
9
9
  */
10
- export interface Filterable<F extends HKT> extends Functor<F> {
11
- filter<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
12
- filter<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
13
- filterMap<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Maybe<B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
14
- partition<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
15
- partition<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>];
16
- partitionMap<K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Either<B, B1>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
10
+ export interface Filterable<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
11
+ filter<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
12
+ filter<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
13
+ filterMap<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Maybe<B>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
14
+ partition<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>];
15
+ partition<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>];
16
+ partitionMap<K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Either<B, B1>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B1>];
17
17
  }
18
18
  /**
19
19
  * @tsplus type fncts.FilterableOps
@@ -21,27 +21,3 @@ export interface Filterable<F extends HKT> extends Functor<F> {
21
21
  export interface FilterableOps {
22
22
  }
23
23
  export declare const Filterable: FilterableOps;
24
- /**
25
- * @tsplus fluent fncts.Kind filter
26
- * @tsplus location "@fncts/base/typeclass/Filterable"
27
- */
28
- export declare function filter<F extends HKT, K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>,
29
- /** @tsplus auto */ F: Filterable<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
30
- /**
31
- * @tsplus fluent fncts.Kind filterMap
32
- * @tsplus location "@fncts/base/typeclass/Filterable"
33
- */
34
- export declare function filterMap<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Maybe<B>,
35
- /** @tsplus auto */ F: Filterable<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
36
- /**
37
- * @tsplus fluent fncts.Kind partition
38
- * @tsplus location "@fncts/base/typeclass/Filterable"
39
- */
40
- export declare function partition<F extends HKT, K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>,
41
- /** @tsplus auto */ F: Filterable<F>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
42
- /**
43
- * @tsplus fluent fncts.Kind partitionMap
44
- * @tsplus location "@fncts/base/typeclass/Filterable"
45
- */
46
- export declare function partitionMap<F extends HKT, K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Either<B, B1>,
47
- /** @tsplus auto */ F: Filterable<F>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
@@ -8,13 +8,13 @@ import type { FunctorWithIndex } from "@fncts/base/typeclass/FunctorWithIndex";
8
8
  /**
9
9
  * @tsplus type fncts.FilterableWithIndex
10
10
  */
11
- export interface FilterableWithIndex<F extends HKT> extends FunctorWithIndex<F>, Filterable<F> {
12
- filterWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
13
- filterWithIndex<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
14
- filterMapWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => Maybe<B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
15
- partitionWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
16
- partitionWithIndex<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>];
17
- partitionMapWithIndex<K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => Either<B, B1>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
11
+ export interface FilterableWithIndex<F extends HKT, FC = HKT.None> extends FunctorWithIndex<F, FC>, Filterable<F, FC> {
12
+ filterWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
13
+ filterWithIndex<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
14
+ filterMapWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => Maybe<B>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
15
+ partitionWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>];
16
+ partitionWithIndex<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>];
17
+ partitionMapWithIndex<K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => Either<B, B1>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B1>];
18
18
  }
19
19
  /**
20
20
  * @tsplus type fncts.FilterableWithIndexOps
@@ -4,9 +4,9 @@ import type { Monoid } from "@fncts/base/typeclass/Monoid";
4
4
  /**
5
5
  * @tsplus type fncts.Foldable
6
6
  */
7
- export interface Foldable<F extends HKT> extends HKT.Typeclass<F> {
8
- foldLeft<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (b: B, a: A) => B): B;
9
- foldRight<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>): Eval<B>;
7
+ export interface Foldable<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
8
+ foldLeft: <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: B, f: (b: B, a: A) => B) => B;
9
+ foldRight: <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>) => Eval<B>;
10
10
  }
11
11
  /**
12
12
  * @tsplus type fncts.FoldableOps
@@ -15,21 +15,8 @@ export interface FoldableOps {
15
15
  }
16
16
  export declare const Foldable: FoldableOps;
17
17
  /**
18
- * @tsplus fluent fncts.Kind foldLeft
18
+ * @tsplus static fncts.FoldableOps foldMap
19
19
  * @tsplus location "@fncts/base/typeclass/Foldable"
20
20
  */
21
- export declare function foldLeft<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (b: B, a: A) => B,
22
- /** @tsplus auto */ F: Foldable<F>): B;
23
- /**
24
- * @tsplus fluent fncts.Kind foldRight
25
- * @tsplus location "@fncts/base/typeclass/Foldable"
26
- */
27
- export declare function foldRight<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>,
28
- /** @tsplus auto */ F: Foldable<F>): Eval<B>;
29
- /**
30
- * @tsplus fluent fncts.Kind foldMap
31
- * @tsplus location "@fncts/base/typeclass/Foldable"
32
- */
33
- export declare function foldMap<F extends HKT, K, Q, W, X, I, S, R, E, A, M>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => M,
34
- /** @tsplus auto */ F: Foldable<F>,
35
- /** @tsplus auto */ M: Monoid<M>): M;
21
+ export declare function foldMap<F extends HKT, FC = HKT.None>(F: Foldable<F, FC>): <K, Q, W, X, I, S, R, E, A, M>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (a: A) => M,
22
+ /** @tsplus auto */ M: Monoid<M>) => M;
@@ -5,9 +5,9 @@ import type { Monoid } from "@fncts/base/typeclass/Monoid";
5
5
  /**
6
6
  * @tsplus type fncts.FoldableWithIndex
7
7
  */
8
- export interface FoldableWithIndex<F extends HKT> extends Foldable<F> {
9
- foldLeftWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (i: HKT.IndexFor<F, K>, b: B, a: A) => B): B;
10
- foldRightWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>): Eval<B>;
8
+ export interface FoldableWithIndex<F extends HKT, FC = HKT.None> extends Foldable<F, FC> {
9
+ foldLeftWithIndex: <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: B, f: (i: HKT.IndexFor<F, K>, b: B, a: A) => B) => B;
10
+ foldRightWithIndex: <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>) => Eval<B>;
11
11
  }
12
12
  /**
13
13
  * @tsplus type fncts.FoldableWithIndexOps
@@ -16,21 +16,8 @@ export interface FoldableWithIndexOps {
16
16
  }
17
17
  export declare const FoldableWithIndex: FoldableWithIndexOps;
18
18
  /**
19
- * @tsplus fluent fncts.Kind foldLeftWithIndex
19
+ * @tsplus static fncts.FoldableWithIndexOps foldMapWithIndex
20
20
  * @tsplus location "@fncts/base/typeclass/FoldableWithIndex"
21
21
  */
22
- export declare function foldLeftWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (i: HKT.IndexFor<F, K>, b: B, a: A) => B,
23
- /** @tsplus auto */ F: FoldableWithIndex<F>): B;
24
- /**
25
- * @tsplus fluent fncts.Kind foldRightWithIndex
26
- * @tsplus location "@fncts/base/typeclass/FoldableWithIndex"
27
- */
28
- export declare function foldRightWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>,
29
- /** @tsplus auto */ F: FoldableWithIndex<F>): Eval<B>;
30
- /**
31
- * @tsplus fluent fncts.Kind foldMapWithIndex
32
- * @tsplus location "@fncts/base/typeclass/FoldableWithIndex"
33
- */
34
- export declare function foldMapWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, M>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (k: HKT.IndexFor<F, K>, a: A) => M,
35
- /** @tsplus auto */ M: Monoid<M>,
36
- /** @tsplus auto */ F: FoldableWithIndex<F>): M;
22
+ export declare function foldMapWithIndex<F extends HKT, FC = HKT.None>(F: FoldableWithIndex<F, FC>): <K, Q, W, X, I, S, R, E, A, M>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (k: HKT.IndexFor<F, K>, a: A) => M,
23
+ /** @tsplus auto */ M: Monoid<M>) => M;
@@ -3,8 +3,8 @@ import { Lazy } from "@fncts/base/data/function/definition";
3
3
  /**
4
4
  * @tsplus type fncts.Functor
5
5
  */
6
- export interface Functor<F extends HKT> extends HKT.Typeclass<F> {
7
- map<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => B): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
6
+ export interface Functor<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
7
+ readonly map: <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (a: A) => B) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
8
8
  }
9
9
  /**
10
10
  * @tsplus type fncts.FunctorOps
@@ -13,14 +13,7 @@ export interface FunctorOps {
13
13
  }
14
14
  export declare const Functor: FunctorOps;
15
15
  /**
16
- * @tsplus fluent fncts.Kind map
16
+ * @tsplus static fncts.FunctorOps as
17
17
  * @tsplus location "@fncts/base/typeclass/Functor"
18
18
  */
19
- export declare function map<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => B,
20
- /** @tsplus auto */ F: Functor<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
21
- /**
22
- * @tsplus fluent fncts.Kind as
23
- * @tsplus location "@fncts/base/typeclass/Functor"
24
- */
25
- export declare function as<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Lazy<B>,
26
- /** @tsplus auto */ F: Functor<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
19
+ export declare function as<F extends HKT, FC = HKT.None>(F: Functor<F, FC>): <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: Lazy<B>) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
@@ -1,7 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import type { Functor } from "@fncts/base/typeclass/Functor";
3
- export interface FunctorWithIndex<F extends HKT> extends Functor<F> {
4
- mapWithIndex<K, W, Q, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, W, Q, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => B): HKT.Kind<F, K, W, Q, X, I, S, R, E, B>;
3
+ export interface FunctorWithIndex<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
4
+ readonly mapWithIndex: <K, W, Q, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, W, Q, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => B) => HKT.Kind<F, FC, K, W, Q, X, I, S, R, E, B>;
5
5
  }
6
6
  /**
7
7
  * @tsplus type fncts.FunctorWithIndexOps
@@ -1,4 +1,3 @@
1
- import { HKT } from "@fncts/typelevel/HKT";
2
1
  import { Refinement } from "@fncts/base/data/Refinement/definition";
3
2
  export interface GuardF extends Guard<any> {
4
3
  }
@@ -11,9 +10,7 @@ export declare type GuardTypeId = typeof GuardTypeId;
11
10
  export declare class Guard<A> {
12
11
  readonly is: Refinement<unknown, A>;
13
12
  readonly _typeId: GuardTypeId;
14
- readonly [HKT.F]: GuardF;
15
- readonly [HKT.A]: () => A;
16
- readonly [HKT.T]: Guard<HKT._A<this>>;
13
+ _A: () => A;
17
14
  constructor(is: Refinement<unknown, A>);
18
15
  }
19
16
  /**
@@ -1,7 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import type { Applicative } from "@fncts/base/typeclass/Applicative";
3
3
  import type { FlatMap } from "@fncts/base/typeclass/Chain";
4
- export interface Monad<F extends HKT> extends Applicative<F>, FlatMap<F> {
4
+ export interface Monad<F extends HKT, FC = HKT.None> extends Applicative<F, FC>, FlatMap<F, FC> {
5
5
  }
6
6
  /**
7
7
  * @tsplus type fncts.MonadOps
@@ -5,7 +5,7 @@ import type { Monad } from "@fncts/base/typeclass/Monad";
5
5
  /**
6
6
  * @tsplus type fncts.MonadExcept
7
7
  */
8
- export interface MonadExcept<F extends HKT> extends Monad<F>, ApplicativeExcept<F> {
8
+ export interface MonadExcept<F extends HKT, FC = HKT.None> extends Monad<F, FC>, ApplicativeExcept<F, FC> {
9
9
  }
10
10
  /**
11
11
  * @tsplus type fncts.MonadExceptOps
@@ -14,8 +14,7 @@ export interface MonadExceptOps {
14
14
  }
15
15
  export declare const MonadExcept: MonadExceptOps;
16
16
  /**
17
- * @tsplus fluent fncts.Kind absolve
17
+ * @tsplus static fncts.MonadExceptOps absolve
18
18
  * @tsplus location "@fncts/base/typeclass/MonadExcept"
19
19
  */
20
- export declare function absolve<F extends HKT, K, Q, W, X, I, S, R, E, E1, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, Either<E1, A>>,
21
- /** @tsplus auto */ F: MonadExcept<F>): HKT.Kind<F, K, Q, W, X, I, S, R, HKT.Mix<"E", [E, E1]>, A>;
20
+ export declare function absolve<F extends HKT, FC = HKT.None>(F: MonadExcept<F, FC>): <K, Q, W, X, I, S, R, E, E1, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, Either<E1, A>>) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, HKT.Mix<F, "E", [E, E1]>, A>;
@@ -2,11 +2,6 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  /**
3
3
  * @tsplus type fncts.Nil
4
4
  */
5
- export interface Nil<F extends HKT> extends HKT.Typeclass<F> {
6
- nil<K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(): HKT.Kind<F, K, Q, W, X, I, S, R, E, never>;
5
+ export interface Nil<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
6
+ nil<K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, X = HKT.Low<F, "X">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, E = HKT.Low<F, "E">>(): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, never>;
7
7
  }
8
- /**
9
- * @tsplus fluent fncts.Kind nil
10
- * @tsplus location "@fncts/base/typeclass/Nil"
11
- */
12
- export declare function nil<F extends HKT, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(/** @tsplus auto */ F: Nil<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, never>;
@@ -1,6 +1,6 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- export interface Pointed<F extends HKT> extends HKT.Typeclass<F> {
3
- pure<A, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(a: A): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
2
+ export interface Pointed<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
3
+ pure: <A, K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, X = HKT.Low<F, "X">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, E = HKT.Low<F, "E">>(a: A) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
4
4
  }
5
5
  /**
6
6
  * @tsplus type fncts.PointedOps
@@ -8,8 +8,3 @@ export interface Pointed<F extends HKT> extends HKT.Typeclass<F> {
8
8
  export interface PointedOps {
9
9
  }
10
10
  export declare const Pointed: PointedOps;
11
- /**
12
- * @tsplus static fncts.PointedOps pure
13
- * @tsplus location "@fncts/base/typeclass/Pointed"
14
- */
15
- export declare function pure<F extends HKT, C, A, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(a: A, /** @tsplus auto */ F: Pointed<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
@@ -6,8 +6,8 @@ import type { Semigroup } from "@fncts/base/typeclass/Semigroup";
6
6
  /**
7
7
  * @tsplus type fncts.Semialign
8
8
  */
9
- export interface Semialign<F extends HKT> extends Functor<F> {
10
- readonly alignWith: alignWith<F>;
9
+ export interface Semialign<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
10
+ readonly alignWith: alignWith<F, FC>;
11
11
  }
12
12
  /**
13
13
  * @tsplus type fncts.SemialignOps
@@ -15,58 +15,52 @@ export interface Semialign<F extends HKT> extends Functor<F> {
15
15
  export interface SemialignOps {
16
16
  }
17
17
  export declare const Semialign: SemialignOps;
18
- export interface align<F extends HKT> {
19
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, These<A, B>>;
18
+ export interface align<F extends HKT, FC = HKT.None> {
19
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>): HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, These<A, B>>;
20
20
  }
21
21
  /**
22
- * @tsplus fluent fncts.Kind align
22
+ * @tsplus static fncts.SemialignOps align
23
23
  * @tsplus location "@fncts/base/typeclass/Semialign"
24
24
  */
25
- export declare function align<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>,
26
- /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, These<A, B>>;
27
- export interface alignWith<F extends HKT> {
28
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (th: These<A, B>) => C): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, C>;
25
+ export declare function align<F extends HKT, FC = HKT.None>(F: Semialign<F, FC>): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, These<A, B>>;
26
+ export interface alignWith<F extends HKT, FC = HKT.None> {
27
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, f: (th: These<A, B>) => C): HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, C>;
29
28
  }
30
29
  /**
31
- * @tsplus fluent fncts.Kind alignWith
30
+ * @tsplus static fncts.SemialignOps alignWith
32
31
  * @tsplus location "@fncts/base/typeclass/Semialign"
33
32
  */
34
- export declare function alignWith<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (th: These<A, B>) => C,
35
- /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, C>;
36
- export interface alignCombine<F extends HKT> {
37
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, that: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, A>, S: Semigroup<A>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, A>;
33
+ export declare function alignWith<F extends HKT, FC = HKT.None>(F: Semialign<F, FC>): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, f: (th: These<A, B>) => C) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, C>;
34
+ export interface alignCombine<F extends HKT, FC = HKT.None> {
35
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(self: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, that: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, A>, S: Semigroup<A>): HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, A>;
38
36
  }
39
37
  /**
40
- * @tsplus fluent fncts.Kind alignCombine
38
+ * @tsplus static fncts.SemialignOps alignCombine
41
39
  * @tsplus location "@fncts/base/typeclass/Semialign"
42
40
  */
43
- export declare function alignCombine<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, that: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, A>,
44
- /** @tsplus auto */ F: Semialign<F>,
45
- /** @tsplus auto */ S: Semigroup<A>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, A>;
46
- export interface padZip<F extends HKT> {
47
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
41
+ export declare function alignCombine<F extends HKT, FC = HKT.None>(F: Semialign<F, FC>): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(self: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, that: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, A>,
42
+ /** @tsplus auto */ S: Semigroup<A>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, A>;
43
+ export interface padZip<F extends HKT, FC = HKT.None> {
44
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>): HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
48
45
  }
49
46
  /**
50
47
  * @tsplus fluent fncts.Kind padZip
51
48
  * @tsplus location "@fncts/base/typeclass/Semialign"
52
49
  */
53
- export declare function padZip<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>,
54
- /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
55
- export interface padZipWith<F extends HKT> {
56
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, D>;
50
+ export declare function padZip<F extends HKT, FC = HKT.None>(F: Semialign<F, FC>): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
51
+ export interface padZipWith<F extends HKT, FC = HKT.None> {
52
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D): HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, D>;
57
53
  }
58
54
  /**
59
- * @tsplus fluent fncts.Kind padZipWith
55
+ * @tsplus static fncts.SemialignOps padZipWith
60
56
  * @tsplus location "@fncts/base/typeclass/Semialign"
61
57
  */
62
- export declare function padZipWith<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D,
63
- /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, D>;
64
- export interface zipAll<F extends HKT> {
65
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, a: A, b: B): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [A, B]>;
58
+ export declare function padZipWith<F extends HKT, FC = HKT.None>(F: Semialign<F, FC>): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, D>;
59
+ export interface zipAll<F extends HKT, FC = HKT.None> {
60
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, a: A, b: B): HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, readonly [A, B]>;
66
61
  }
67
62
  /**
68
- * @tsplus fluent fncts.Kind zipAll
63
+ * @tsplus static fncts.SemialignOps zipAll
69
64
  * @tsplus location "@fncts/base/typeclass/Semialign"
70
65
  */
71
- export declare function zipAll<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, a: A, b: B,
72
- /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [A, B]>;
66
+ export declare function zipAll<F extends HKT, FC = HKT.None>(F: Semialign<F, FC>): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, FC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, a: A, b: B) => HKT.Kind<F, FC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, readonly [A, B]>;