Variables
				
					
					Const JUST
					JUST: "@typed/Just" = '@typed/Just' as const
					
				
				
					
					Const NOTHING
					NOTHING: "@typed/Nothing" = '@typed/Nothing' as const
					
				
				
					
					Const ap
					ap
: { <A, B>
(fn
: Maybe<(value
: A) => B>, value
: Maybe<A>): Maybe<B>; <A, B>
(fn
: Maybe<(value
: A) => B>): (value
: Maybe<A>) => Maybe<B> } = curry(__ap) as {<A, B>(fn: Maybe<(value: A) => B>, value: Maybe<A>): Maybe<B><A, B>(fn: Maybe<(value: A) => B>): (value: Maybe<A>) => Maybe<B>}
						Type declaration
						
							- 
								
								
									- 
										Type parametersParameters
											- 
												fn: Maybe<(value: A) => B>
- 
												
											
 Returns Maybe<B>
- 
										Type parametersParameters
											- 
												fn: Maybe<(value: A) => B>
 Returns (value: Maybe<A>) => Maybe<B>
											- 
												
												
													- 
														ParametersReturns Maybe<B>
 
 
 
 
				
				
					
					Const chain
					chain
: { <A, B>
(f
: (value
: A) => Maybe<B>, maybe
: Maybe<A>): Maybe<B>; <A, B>
(f
: (value
: A) => Maybe<B>): (maybe
: Maybe<A>) => Maybe<B> } = curry(__chain) as {<A, B>(f: (value: A) => Maybe<B>, maybe: Maybe<A>): Maybe<B><A, B>(f: (value: A) => Maybe<B>): (maybe: Maybe<A>) => Maybe<B>}
						Type declaration
						
							- 
								
								
									- 
										Type parametersParameters
											- 
												f: (value: A) => Maybe<B>
													- 
														
														
															- 
																ParametersReturns Maybe<B>
 
 
- 
												
											
 Returns Maybe<B>
- 
										Type parametersParameters
											- 
												f: (value: A) => Maybe<B>
													- 
														
														
															- 
																ParametersReturns Maybe<B>
 
 
 Returns (maybe: Maybe<A>) => Maybe<B>
											- 
												
												
													- 
														ParametersReturns Maybe<B>
 
 
 
 
				
				
					
					Const combine
					combine
: { <A, B, C>
(f
: (valueA
: A, valueB
: B) => C, maybeA
: Maybe<A>, maybeB
: Maybe<B>): Maybe<C>; <A, B, C>
(f
: (valueA
: A, valueB
: B) => C, maybeA
: Maybe<A>): (maybeB
: Maybe<B>) => Maybe<C>; <A, B, C>
(f
: (valueA
: A, valueB
: B) => C): { (maybeA
: Maybe<A>, maybeB
: Maybe<B>): Maybe<C>; (maybeA
: Maybe<A>): (maybeB
: Maybe<B>) => Maybe<C> } } = curry(__combine) as {<A, B, C>(f: (valueA: A, valueB: B) => C, maybeA: Maybe<A>, maybeB: Maybe<B>): Maybe<C><A, B, C>(f: (valueA: A, valueB: B) => C, maybeA: Maybe<A>): (maybeB: Maybe<B>) => Maybe<C><A, B, C>(f: (valueA: A, valueB: B) => C): {(maybeA: Maybe<A>, maybeB: Maybe<B>): Maybe<C>(maybeA: Maybe<A>): (maybeB: Maybe<B>) => Maybe<C>}}
						Type declaration
						
							- 
								
									- <A, B, C>(f: (valueA: A, valueB: B) => C, maybeA: Maybe<A>, maybeB: Maybe<B>): Maybe<C>
- <A, B, C>(f: (valueA: A, valueB: B) => C, maybeA: Maybe<A>): (maybeB: Maybe<B>) => Maybe<C>
- <A, B, C>(f: (valueA: A, valueB: B) => C): { (maybeA: Maybe<A>, maybeB: Maybe<B>): Maybe<C>; (maybeA: Maybe<A>): (maybeB: Maybe<B>) => Maybe<C> }
 
									- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B) => C
													- 
														
															- (valueA: A, valueB: B): C
 
 
- 
												maybeA: Maybe<A>
- 
												maybeB: Maybe<B>
 Returns Maybe<C>
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B) => C
													- 
														
															- (valueA: A, valueB: B): C
 
 
- 
												maybeA: Maybe<A>
 Returns (maybeB: Maybe<B>) => Maybe<C>
											- 
												
												
													- 
														ParametersReturns Maybe<C>
 
 
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B) => C
													- 
														
															- (valueA: A, valueB: B): C
 
 
 Returns { (maybeA: Maybe<A>, maybeB: Maybe<B>): Maybe<C>; (maybeA: Maybe<A>): (maybeB: Maybe<B>) => Maybe<C> }
											- 
												
												
													- 
														ParametersReturns Maybe<C>
- 
														ParametersReturns (maybeB: Maybe<B>) => Maybe<C>
															- 
																
																
																	- 
																		ParametersReturns Maybe<C>
 
 
 
 
 
 
				
				
					
					Const combineArray
					combine
Array: { <A, B, C>(f: (valueA: A, valueB: B) => C, maybes: [Maybe<A>, Maybe<B>]): Maybe<C>; <A, B, C, D>(f: (valueA: A, valueB: B, valueC: C) => D, maybes: [Maybe<A>, Maybe<B>, Maybe<C>]): Maybe<D>; <A, B, C, D, E>(f: (valueA: A, valueB: B, valueC: C, valueD: D) => E, maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]): Maybe<E>; <A, B, C, D, E, F>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E) => F, maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]): Maybe<F>; <A, B, C, D, E, F, G>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F) => G, maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]): Maybe<G>; <A, B, C>(f: (valueA: A, valueB: B) => C): (maybes: [Maybe<A>, Maybe<B>]) => Maybe<C>; <A, B, C, D>(f: (valueA: A, valueB: B, valueC: C) => D): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>]) => Maybe<D>; <A, B, C, D, E>(f: (valueA: A, valueB: B, valueC: C, valueD: D) => E): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]) => Maybe<E>; <A, B, C, D, E, F>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E) => F): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]) => Maybe<F>; <A, B, C, D, E, F, G>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F) => G): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]) => Maybe<G>; (f: ArrayConstructor): { <A, B>(maybes: [Maybe<A>, Maybe<B>]): Maybe<[A, B]>; <A, B, C>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>]): Maybe<[A, B, C]>; <A, B, C, D>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]): Maybe<[A, B, C, D]>; <A, B, C, D, E>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]): Maybe<[A, B, C, D, E]>; <A, B, C, D, E, F>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]): Maybe<[A, B, C, D, E, F]> }; <R>(f: (...values: any[]) => R, maybes: ReadonlyArray<Maybe<any>>): Maybe<R>; <R>(f: (...values: any[]) => R): (maybes: ReadonlyArray<Maybe<any>>) => Maybe<R> } = curry(__combineArray) as CombineArray
						Type declaration
						
							- 
								
									- <A, B, C>(f: (valueA: A, valueB: B) => C, maybes: [Maybe<A>, Maybe<B>]): Maybe<C>
- <A, B, C, D>(f: (valueA: A, valueB: B, valueC: C) => D, maybes: [Maybe<A>, Maybe<B>, Maybe<C>]): Maybe<D>
- <A, B, C, D, E>(f: (valueA: A, valueB: B, valueC: C, valueD: D) => E, maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]): Maybe<E>
- <A, B, C, D, E, F>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E) => F, maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]): Maybe<F>
- <A, B, C, D, E, F, G>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F) => G, maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]): Maybe<G>
- <A, B, C>(f: (valueA: A, valueB: B) => C): (maybes: [Maybe<A>, Maybe<B>]) => Maybe<C>
- <A, B, C, D>(f: (valueA: A, valueB: B, valueC: C) => D): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>]) => Maybe<D>
- <A, B, C, D, E>(f: (valueA: A, valueB: B, valueC: C, valueD: D) => E): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]) => Maybe<E>
- <A, B, C, D, E, F>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E) => F): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]) => Maybe<F>
- <A, B, C, D, E, F, G>(f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F) => G): (maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]) => Maybe<G>
- (f: ArrayConstructor): { <A, B>(maybes: [Maybe<A>, Maybe<B>]): Maybe<[A, B]>; <A, B, C>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>]): Maybe<[A, B, C]>; <A, B, C, D>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]): Maybe<[A, B, C, D]>; <A, B, C, D, E>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]): Maybe<[A, B, C, D, E]>; <A, B, C, D, E, F>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]): Maybe<[A, B, C, D, E, F]> }
- <R>(f: (...values: any[]) => R, maybes: ReadonlyArray<Maybe<any>>): Maybe<R>
- <R>(f: (...values: any[]) => R): (maybes: ReadonlyArray<Maybe<any>>) => Maybe<R>
 
									- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B) => C
													- 
														
															- (valueA: A, valueB: B): C
 
 
- 
												
											
 Returns Maybe<C>
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C) => D
													- 
														
															- (valueA: A, valueB: B, valueC: C): D
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
 Returns D
 
 
- 
												
											
 Returns Maybe<D>
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C, valueD: D) => E
													- 
														
															- (valueA: A, valueB: B, valueC: C, valueD: D): E
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
- 
																		valueD: D
 Returns E
 
 
- 
												
											
 Returns Maybe<E>
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E) => F
													- 
														
															- (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E): F
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
- 
																		valueD: D
- 
																		valueE: E
 Returns F
 
 
- 
												
											
 Returns Maybe<F>
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F) => G
													- 
														
															- (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F): G
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
- 
																		valueD: D
- 
																		valueE: E
- 
																		valueF: F
 Returns G
 
 
- 
												
											
 Returns Maybe<G>
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B) => C
													- 
														
															- (valueA: A, valueB: B): C
 
 
 Returns (maybes: [Maybe<A>, Maybe<B>]) => Maybe<C>
											- 
												
												
													- 
														ParametersReturns Maybe<C>
 
 
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C) => D
													- 
														
															- (valueA: A, valueB: B, valueC: C): D
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
 Returns D
 
 
 
											- 
												
												
													- 
														ParametersReturns Maybe<D>
 
 
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C, valueD: D) => E
													- 
														
															- (valueA: A, valueB: B, valueC: C, valueD: D): E
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
- 
																		valueD: D
 Returns E
 
 
 
											- 
												
												
													- 
														ParametersReturns Maybe<E>
 
 
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E) => F
													- 
														
															- (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E): F
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
- 
																		valueD: D
- 
																		valueE: E
 Returns F
 
 
 
											- 
												
												
													- 
														ParametersReturns Maybe<F>
 
 
- 
										Type parametersParameters
											- 
												f: (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F) => G
													- 
														
															- (valueA: A, valueB: B, valueC: C, valueD: D, valueE: E, valueF: F): G
 
															- 
																Parameters
																	- 
																		valueA: A
- 
																		valueB: B
- 
																		valueC: C
- 
																		valueD: D
- 
																		valueE: E
- 
																		valueF: F
 Returns G
 
 
 
											- 
												
												
													- 
														ParametersReturns Maybe<G>
 
 
- 
										ParametersReturns { <A, B>(maybes: [Maybe<A>, Maybe<B>]): Maybe<[A, B]>; <A, B, C>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>]): Maybe<[A, B, C]>; <A, B, C, D>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]): Maybe<[A, B, C, D]>; <A, B, C, D, E>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]): Maybe<[A, B, C, D, E]>; <A, B, C, D, E, F>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]): Maybe<[A, B, C, D, E, F]> }
											- 
												
													- <A, B>(maybes: [Maybe<A>, Maybe<B>]): Maybe<[A, B]>
- <A, B, C>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>]): Maybe<[A, B, C]>
- <A, B, C, D>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>]): Maybe<[A, B, C, D]>
- <A, B, C, D, E>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>]): Maybe<[A, B, C, D, E]>
- <A, B, C, D, E, F>(maybes: [Maybe<A>, Maybe<B>, Maybe<C>, Maybe<D>, Maybe<E>, Maybe<F>]): Maybe<[A, B, C, D, E, F]>
 
													- 
														Type parametersParametersReturns Maybe<[A, B]>
- 
														Type parametersParametersReturns Maybe<[A, B, C]>
- 
														Type parametersParametersReturns Maybe<[A, B, C, D]>
- 
														Type parametersParametersReturns Maybe<[A, B, C, D, E]>
- 
														Type parametersParametersReturns Maybe<[A, B, C, D, E, F]>
 
 
- 
										Type parametersParameters
											- 
												f: (...values: any[]) => R
- 
												maybes: ReadonlyArray<Maybe<any>>
 Returns Maybe<R>
- 
										Type parametersParameters
											- 
												f: (...values: any[]) => R
 Returns (maybes: ReadonlyArray<Maybe<any>>) => Maybe<R>
											- 
												
												
													- 
														Parameters
															- 
																maybes: ReadonlyArray<Maybe<any>>
 Returns Maybe<R>
 
 
 
 
				
				
					
					Const map
					map
: { <A, B>
(f
: (value
: A) => B, maybe
: Maybe<A>): Maybe<B>; <A, B>
(f
: (value
: A) => B): (maybe
: Maybe<A>) => Maybe<B> } = curry(__map) as {<A, B>(f: (value: A) => B, maybe: Maybe<A>): Maybe<B><A, B>(f: (value: A) => B): (maybe: Maybe<A>) => Maybe<B>}
						Type declaration
						
							- 
								
									- <A, B>(f: (value: A) => B, maybe: Maybe<A>): Maybe<B>
- <A, B>(f: (value: A) => B): (maybe: Maybe<A>) => Maybe<B>
 
									- 
										Type parametersParametersReturns Maybe<B>
- 
										Type parametersParametersReturns (maybe: Maybe<A>) => Maybe<B>
											- 
												
												
													- 
														ParametersReturns Maybe<B>
 
 
 
 
				
				
					
					Const race
					race
: { <A>
(a
: Maybe<A>, b
: Maybe<A>): Maybe<A>; <A>
(a
: Maybe<A>): (b
: Maybe<A>) => Maybe<A> } = curry(<A>(a: Maybe<A>, b: Maybe<A>): Maybe<A> => (isJust(a) ? a : b)) as {<A>(a: Maybe<A>, b: Maybe<A>): Maybe<A><A>(a: Maybe<A>): (b: Maybe<A>) => Maybe<A>}
						Type declaration
						
							- 
								
								
									- 
										Type parametersParametersReturns Maybe<A>
- 
										Type parametersParametersReturns (b: Maybe<A>) => Maybe<A>
											- 
												
												
													- 
														ParametersReturns Maybe<A>
 
 
 
 
				
				
					
					Const unwrap
					unwrap
: { <A, B>
(fn
: Arity1<A, B>, maybe
: Just<A>): B; <A, B>
(fn
: Arity1<A, B>, maybe
: Maybe<A>): B | null; <A, B>
(fn
: Arity1<A, B>): { (maybe
: Just<A>): B; (maybe
: Maybe<A>): B | null } } = curry(<A, B>(fn: Arity1<A, B>, maybe: Maybe<A>): B | null => withDefault(null, map(fn, maybe)))
						Type declaration
						
							- 
								
								
									- 
										Type parametersParametersReturns B
- 
										Type parametersParametersReturns B | null
- 
										Type parametersParametersReturns { (maybe: Just<A>): B; (maybe: Maybe<A>): B | null }
											- 
												
													- (maybe: Just<A>): B
- (maybe: Maybe<A>): B | null
 
													- 
														ParametersReturns B
- 
														ParametersReturns B | null
 
 
 
 
				
				
					
					Const withDefault
					with
Default: { <A>(defaultValue: A, maybe: Maybe<A>): A; <A>(defaultValue: A): (maybe: Maybe<A>) => A } = curry(__withDefault) as {<A>(defaultValue: A, maybe: Maybe<A>): A<A>(defaultValue: A): (maybe: Maybe<A>) => A}
						Type declaration
						
							- 
								
									- <A>(defaultValue: A, maybe: Maybe<A>): A
- <A>(defaultValue: A): (maybe: Maybe<A>) => A
 
									- 
										Type parametersParametersReturns A
- 
										Type parametersParametersReturns (maybe: Maybe<A>) => A
 
 
				
			
			 
@typed/maybe