code: func NewStatefulCond(l sync.Locker) *StatefulCond {
  	sc := &StatefulCond{main: l}
  	sc.c = sync.NewCond(&sc.mu)
  	return sc
  }
docs: // NewStatefulCond returns a stateful version of sync.Cond . This cond will
  // never block on `Wait()` if `Signal()` has been called after the `Wait()` last
  // returned. This is useful for avoiding to take a lock on `cond.Locker` for
  // signalling.