func main() {
    ch, done := make(chan int), make(chan int)
    go Send(ch)
    go RecvAck(ch, done)
    go RecvAck(ch, done) // OOPS

    // Anonymous goroutine: Some long running work (e.g. http service)
    go func() {
        for i := 0; i < 3; i++ {
            fmt.Println("Working #", i); time.Sleep(1 * time.Second)
        }
    }()
    result = <-done
    result = <-done // OOPS
    fmt.Println("Result is ", result)
}