LYGO - lazy yoga gophers

package main

import (
	"fmt"
)

func f(left chan<- int, right <-chan int) {
	left <- 1 + <-right
}

func main() {
	const n = 10000
	var right chan int		

	leftmost := make(chan int)
	
	left := leftmost    
	
	/*  equivalent to: 
	  var left chan int
	  left = leftmost
	*/
		
	for i := 0; i < n; i++ {
		right = make(chan int)
		go f(left, right)
		left = right
	}
	go func(c chan<- int) { c <- 1 }(right)
	fmt.Println(<-leftmost)
}