y/y.go
func NewCloser(initial int) *Closer {
	ret := &Closer{closed: make(chan struct{})}
	ret.waiting.Add(initial)
	return ret
}
func NewCloser(initial int) *Closer {
	ret := &Closer{closed: make(chan struct{})}
	ret.waiting.Add(initial)
	return ret
}
func NewCloser ( initial int ) * Closer { ret := & Closer { closed : make ( chan struct { } ) } ret . waiting . Add ( initial ) return ret }
// NewCloser constructs a new Closer, with an initial count on the WaitGroup.
NewCloser constructs a new Closer with an initial count on the WaitGroup .