Skip to content

Instantly share code, notes, and snippets.

@SamRothCA
Created January 24, 2016 03:40
Show Gist options
  • Save SamRothCA/64873c52713058d9258f to your computer and use it in GitHub Desktop.
Save SamRothCA/64873c52713058d9258f to your computer and use it in GitHub Desktop.
infix operator .. {}
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: ((), (), () )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: (A0, (), () )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: ((), A1, () )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: (A0, A1, () )) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: ((), (), A2 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: (A0, (), A2 )) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: ((), A1, A2 )) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1)->(A2 ) -> R, p: (A0, A1, A2 )) -> ( ) -> R { return { f(p.0)(p.1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: ((), (), () )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: (A0, (), () )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: ((), A1, () )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: (A0, A1, () )) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: ((), (), A2 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: (A0, (), A2 )) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: ((), A1, A2 )) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1)->(A2 ) -> R, p: (A0, A1, A2 )) -> ( ) -> R { return { f(p.0, p.1)(p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: ((), (), () )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: (A0, (), () )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: ((), A1, () )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: (A0, A1, () )) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: ((), (), A2 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: (A0, (), A2 )) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: ((), A1, A2 )) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0)->(A1, A2 ) -> R, p: (A0, A1, A2 )) -> ( ) -> R { return { f(p.0)(p.1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: ((), (), () )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: (A0, (), () )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: ((), A1, () )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: (A0, A1, () )) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: ((), (), A2 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: (A0, (), A2 )) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: ((), A1, A2 )) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2 ) } }
public func .. <A0, A1, A2, R> (f: (A0, A1, A2 ) -> R, p: (A0, A1, A2 )) -> ( ) -> R { return { f(p.0, p.1, p.2 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2)->(A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0)(p.1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1)( a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0, p.1)(p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2)->(A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0, p.1)(p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2)->(A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0)(p.1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1, a2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0, p.1, p.2)( a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2)->(A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0, p.1, p.2)(p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1)->(A2, A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0)(p.1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1)( a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0, p.1)(p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1)->(A2, A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0, p.1)(p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0)->(A1, A2, A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0)(p.1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), (), (), () )) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, (), (), () )) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), A1, (), () )) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, A1, (), () )) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1, a2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), (), A2, () )) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, (), A2, () )) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), A1, A2, () )) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, A1, A2, () )) -> ( A3 ) -> R { return { a3 in f(p.0, p.1, p.2, a3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), (), (), A3 )) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, (), (), A3 )) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), A1, (), A3 )) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, A1, (), A3 )) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), (), A2, A3 )) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, (), A2, A3 )) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: ((), A1, A2, A3 )) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, R> (f: (A0, A1, A2, A3 ) -> R, p: (A0, A1, A2, A3 )) -> ( ) -> R { return { f(p.0, p.1, p.2, p.3 ) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1)( a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1)(p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1)( a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1)(p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1)( a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1)(p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1)(p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1, a2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1, p.2)( a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1, a2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1, p.2)(p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1, a2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1, p.2)( a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1, p.2)(p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1)( a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1)(p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1)( a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1)(p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1)( a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1)(p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1)(p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1, a2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1, p.2, a3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1, a2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1, p.2, p.3)( a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1, a2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1, p.2, a3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3)->(A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1, p.2, p.3)(p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1)( a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1)(p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1)( a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1)(p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1)( a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1)(p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1)(p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1, a2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1, p.2)( a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1, a2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1, p.2)(p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1, a2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1, p.2)( a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2)->(A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1, p.2)(p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1)( a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1)(p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1)( a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1)(p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1)( a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1)(p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1)( a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1)->(A2, A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1)(p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0)( a1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0)( a1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0)(p.1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0)(p.1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0)( a1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0)( a1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0)(p.1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0)(p.1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0)( a1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0)( a1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0)(p.1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0)(p.1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0)( a1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0)( a1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0)(p.1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0)(p.1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0)( a1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0)( a1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0)(p.1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0)(p.1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0)( a1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0)( a1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0)(p.1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0)(p.1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0)( a1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0)( a1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0)(p.1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0)(p.1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0)( a1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0)( a1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0)(p.1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0)->(A1, A2, A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0)(p.1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), (), (), ())) -> (A0, A1, A2, A3, A4) -> R { return { a0, a1, a2, a3, a4 in f( a0, a1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), (), (), ())) -> ( A1, A2, A3, A4) -> R { return { a1, a2, a3, a4 in f(p.0, a1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, (), (), ())) -> (A0, A2, A3, A4) -> R { return { a0, a2, a3, a4 in f( a0, p.1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, (), (), ())) -> ( A2, A3, A4) -> R { return { a2, a3, a4 in f(p.0, p.1, a2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), A2, (), ())) -> (A0, A1, A3, A4) -> R { return { a0, a1, a3, a4 in f( a0, a1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), A2, (), ())) -> ( A1, A3, A4) -> R { return { a1, a3, a4 in f(p.0, a1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, A2, (), ())) -> (A0, A3, A4) -> R { return { a0, a3, a4 in f( a0, p.1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, A2, (), ())) -> ( A3, A4) -> R { return { a3, a4 in f(p.0, p.1, p.2, a3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), (), A3, ())) -> (A0, A1, A2, A4) -> R { return { a0, a1, a2, a4 in f( a0, a1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), (), A3, ())) -> ( A1, A2, A4) -> R { return { a1, a2, a4 in f(p.0, a1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, (), A3, ())) -> (A0, A2, A4) -> R { return { a0, a2, a4 in f( a0, p.1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, (), A3, ())) -> ( A2, A4) -> R { return { a2, a4 in f(p.0, p.1, a2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), A2, A3, ())) -> (A0, A1, A4) -> R { return { a0, a1, a4 in f( a0, a1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), A2, A3, ())) -> ( A1, A4) -> R { return { a1, a4 in f(p.0, a1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, A2, A3, ())) -> (A0, A4) -> R { return { a0, a4 in f( a0, p.1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, A2, A3, ())) -> ( A4) -> R { return { a4 in f(p.0, p.1, p.2, p.3, a4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), (), (), A4)) -> (A0, A1, A2, A3 ) -> R { return { a0, a1, a2, a3 in f( a0, a1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), (), (), A4)) -> ( A1, A2, A3 ) -> R { return { a1, a2, a3 in f(p.0, a1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, (), (), A4)) -> (A0, A2, A3 ) -> R { return { a0, a2, a3 in f( a0, p.1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, (), (), A4)) -> ( A2, A3 ) -> R { return { a2, a3 in f(p.0, p.1, a2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), A2, (), A4)) -> (A0, A1, A3 ) -> R { return { a0, a1, a3 in f( a0, a1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), A2, (), A4)) -> ( A1, A3 ) -> R { return { a1, a3 in f(p.0, a1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, A2, (), A4)) -> (A0, A3 ) -> R { return { a0, a3 in f( a0, p.1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, A2, (), A4)) -> ( A3 ) -> R { return { a3 in f(p.0, p.1, p.2, a3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), (), A3, A4)) -> (A0, A1, A2 ) -> R { return { a0, a1, a2 in f( a0, a1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), (), A3, A4)) -> ( A1, A2 ) -> R { return { a1, a2 in f(p.0, a1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, (), A3, A4)) -> (A0, A2 ) -> R { return { a0, a2 in f( a0, p.1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, (), A3, A4)) -> ( A2 ) -> R { return { a2 in f(p.0, p.1, a2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), (), A2, A3, A4)) -> (A0, A1 ) -> R { return { a0, a1 in f( a0, a1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, (), A2, A3, A4)) -> ( A1 ) -> R { return { a1 in f(p.0, a1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: ((), A1, A2, A3, A4)) -> (A0 ) -> R { return { a0 in f( a0, p.1, p.2, p.3, p.4) } }
public func .. <A0, A1, A2, A3, A4, R> (f: (A0, A1, A2, A3, A4) -> R, p: (A0, A1, A2, A3, A4)) -> ( ) -> R { return { f(p.0, p.1, p.2, p.3, p.4) } }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment