func make( f func( int ) ( func( int ) int ) ) ( func( int ) int ) { return f( 1 ) }
func main() { add := func( a, b int ) int { return a + b }; fmt.Println( add( 1, 2 ) );
add2 := func( a int ) ( func( int ) int ) { return func( b int ) int { return a + b } }; fmt.Println( add2( 2 )( 2 ) ); fmt.Printf( "%T\n", add2 ); fmt.Printf( "%T\n", add2( 1 ) );