code: func (v *vserver) expandChecks() map[checkKey]*check {
  	checks := make(map[checkKey]*check)
  	for _, svc := range v.services {
  		for _, dest := range svc.dests {
  			dest.checks = make([]*check, 0)
  			if !dest.backend.Enabled {
  				continue
  			}
  			for _, hc := range v.config.Healthchecks {
  				// vserver-level healthchecks
  				key := newCheckKey(svc.ip, dest.ip, 0, 0, hc)
  				c := checks[key]
  				if c == nil {
  					c = newCheck(key, v, hc)
  					checks[key] = c
  				}
  				dest.checks = append(dest.checks, c)
  				c.dests = append(c.dests, dest)
  			}
  
  			// ventry-level healthchecks
  			if v.config.UseFWM {
  				for _, ve := range svc.vserver.config.Entries {
  					for _, hc := range ve.Healthchecks {
  						key := newCheckKey(svc.ip, dest.ip, ve.Port, ve.Proto, hc)
  						c := newCheck(key, v, hc)
  						checks[key] = c
  						dest.checks = append(dest.checks, c)
  						c.dests = append(c.dests, dest)
  					}
  				}
  			} else {
  				for _, hc := range svc.ventry.Healthchecks {
  					key := newCheckKey(svc.ip, dest.ip, svc.port, svc.proto, hc)
  					c := newCheck(key, v, hc)
  					checks[key] = c
  					dest.checks = append(dest.checks, c)
  					c.dests = append(c.dests, dest)
  				}
  			}
  		}
  	}
  	return checks
  }
docs: // expandChecks returns a list of checks that have been expanded from the
  // vserver configuration.