import { List } from '../types' ; name type export type Reducer < A , B > = ( seed : B , value : A , index : number ) => B ; export type ReduceArity3 = { < A , B > ( f , seed , list ) : B ; < A , B > ( f , seed ) : ReduceArity1 < A , B > ; < A , B > ( f ) : ReduceArity2 < A , B > ; } ; export type ReduceArity2 < A , B > = { ( seed , list ) : B ; ( seed ) : ReduceArity1 < A , B > ; } ; export type ReduceArity1 < A , B > = { ( list ) : B ; } ;