export function pipe ( first: A | (() => A), second: (source: A) => B ): B export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C ): C export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, fourth: (source: C) => D ): D export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, fourth: (source: C) => D, fifth: (source: D) => E ): E export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, fourth: (source: C) => D, fifth: (source: D) => E, sixth: (source: E) => F ): F export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, forth: (source: C) => D, fifth: (source: D) => E, sixth: (source: E) => F, seventh: (source: F) => G ): G export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, forth: (source: C) => D, fifth: (source: D) => E, sixth: (source: E) => F, seventh: (source: F) => G, eighth: (source: G) => H ): H export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, forth: (source: C) => D, fifth: (source: D) => E, sixth: (source: E) => F, seventh: (source: F) => G, eighth: (source: G) => H, ninth: (source: H) => I ): I export function pipe ( first: A | (() => A), second: (source: A) => B, third: (source: B) => C, forth: (source: C) => D, fifth: (source: D) => E, sixth: (source: E) => F, seventh: (source: F) => G, eighth: (source: G) => H, ninth: (source: H) => I, tenth: (source: I) => J ): I export function pipe (first: any, ...rest: any[]): any export default pipe