Type aliases
				
					
					Apply
					Apply<Args, T>: T extends (...args: Args) => infer  R ? R : never
					
					Type parameters
					
						- 
							Args: keyof any[]
- 
							T: Fn<Args>
ArgsOf
					ArgsOf<T>: T extends Fn<infer  Args, any> ? Args : []
					
					Type parameters
					
				
				
					
					Arity1
					Arity1<A, B>: (value: A) => B
					
					Type parameters
					
					
				
				
					
					Arity2
					Arity2<A, B, C>: (a: A, b: B) => C
					
					Type parameters
					
					
				
				
					
					Arity3
					Arity3<A, B, C, D>: (a: A, b: B, c: C) => D
					
					Type parameters
					
					
				
				
					
					Arity4
					Arity4<A, B, C, D, E>: (a: A, b: B, c: C, d: D) => E
					
					Type parameters
					
					
						Type declaration
						
							- 
								
									- (a: A, b: B, c: C, d: D): E
 
 
				
				
					
					Arity5
					Arity5<A, B, C, D, E, F>: (a: A, b: B, c: C, d: D, e: E) => F
					
					Type parameters
					
					
						Type declaration
						
							- 
								
									- (a: A, b: B, c: C, d: D, e: E): F
 
 
				
				
					
					ComparableValues
					ComparableValues: keyof any | boolean | Date
					
				
				
					
					ComparisonNumbers
					ComparisonNumbers: -1 | 0 | 1
					
				
				
					
					Curry
					Curry<T>: ArgsOf<T> extends [infer  A] ? Arity1<A, ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B] ? Curry2<A, B, ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B, infer  C] ? Curry3<A, B, C, ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B, infer  C, infer  D] ? Curry4<A, B, C, D, ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B, infer  C, infer  D, infer  E] ? Curry5<A, B, C, D, E, ReturnType<T>> : ArgsOf<T> extends never[] ? IO<ReturnType<T>> : never
					
					Type parameters
					
				
				
					
					CurryObj
					CurryObj<A, B>: <C>(c: C) => C extends A ? B : CurryObj<Required<{}>, B>
					
					Type parameters
					
					
						Type declaration
						
							- 
								
									- <C>(c: C): C extends A ? B : CurryObj<Required<{}>, B>
 
									- 
										Type parametersParametersReturns C extends A ? B : CurryObj<Required<{}>, B>
 
 
				
				
					
					Defined
					Defined<T>: T extends undefined ? never : T
					
					Type parameters
					
				
				
					
					Flip
					Flip<T>: ArgsOf<T> extends [] ? Fn<[], ReturnType<T>> : ArgsOf<T> extends [infer  A] ? Fn<[A], ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B] ? Fn<[B, A], ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B, infer  C] ? Fn<[B, A, C], ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B, infer  C, infer  D] ? Fn<[B, A, C, D], ReturnType<T>> : ArgsOf<T> extends [infer  A, infer  B, infer  C, infer  D, infer  E] ? Fn<[B, A, C, D, E], ReturnType<T>> : never
					
					Type parameters
					
				
				
					
					Fn
					Fn<Args, R>: (...args: Args) => R
					
					Type parameters
					
					
				
				
				
					
					HeadArg
					HeadArg<F>: F extends (head: infer  A, ...tail: any[]) => any ? A : never
					
					Type parameters
					
				
				
					
					IO
					IO<A>: () => A
					
					Type parameters
					
					
				
				
					
					Include
					Include<A, B>: A extends B ? A : never
					
					Type parameters
					
				
				
					
					Init
					Init<A, B>: CastArray<{}>
					
					Type parameters
					
						- 
							A: keyof any[]
- 
							B: keyof any[]
InitArgsOf
					
					
					Type parameters
					
				
				
					
					Is
					Is<A>: (value: unknown) => value is A
					
					Type parameters
					
					
						Type declaration
						
							- 
								
									- (value: unknown): value is A
 
									- 
										ParametersReturns value is A
 
 
				
				
					
					IsNot
					IsNot<A>: <B>(value: A | B) => value is B
					
					Type parameters
					
					
						Type declaration
						
							- 
								
									- <B>(value: A | B): value is B
 
									- 
										Type parametersParametersReturns value is B
 
 
				
				
					
					OrToAnd
					OrToAnd<A>:
					
					Type parameters
					
				
				
					
					PartialArgsOf
					PartialArgsOf<T>: T extends (...args: infer  TArgs) => any ? Partial<TArgs> : never
					
					Type parameters
					
				
				
					
					Predicate
					Predicate<A>
: Arity1<A, boolean>Type parameters
					
				
				
					
					Predicate2
					Predicate2<A, B>
: Arity2<A, B, boolean>Type parameters
					
				
				
					
					Primitive
					Primitive: undefined | null | boolean | string | number | Function
					
				
				
					
					Refinement
					Refinement<A, B>: (a: A) => a is B
					
					Type parameters
					
					
						Type declaration
						
							- 
								
								
									- 
										ParametersReturns a is B
 
 
				
				
				
					
					TailArgsOf
					TailArgsOf<F>: F extends (head: any, ...tail: infer  TTail) => any ? TTail : never
					
					Type parameters
					
				
				
					
					TypeGuard
					TypeGuard<A, B>: (value: A) => value is B
					
					Type parameters
					
					
						Type declaration
						
							- 
								
								
									- 
										ParametersReturns value is B
 
 
				
				
					
					Uncurry
					Uncurry<Fun>: Fun extends (a: infer  A) => (b: infer  B) => (c: infer  C) => (d: infer  D) => (e: infer  E) => infer  F ? (a: A, b: B, c: C, d: D, e: E) => F : Fun extends (a: infer  A) => (b: infer  B) => (c: infer  C) => (d: infer  D) => infer  E ? (a: A, b: B, c: C, d: D) => E : Fun extends (a: infer  A) => (b: infer  B) => (c: infer  C) => infer  D ? (a: A, b: B, c: C) => D : Fun extends (a: infer  A) => (b: infer  B) => infer  C ? (a: A, b: B) => C : Fun
					
					Type parameters
					
				
			
			 
@typed/lambda